Commit Graph

66 Commits

Author SHA1 Message Date
csoler
8cca9608f2 Fixed report of failing connexion attempts/recepts. Cleaned the code a little bit
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5550 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-14 21:04:16 +00:00
thunder2
545743ad77 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5097 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 00:30:23 +00:00
drbob
87944f251e * Enabled Relays by default.
- This will only effect people who upgrade from a very old version.
 	- Other people will have to switch it on manually.
	- Default is 0 friends, 1 FOF & 1 General @ 1kb/s... max 4kb/s usage per peer.
 * Switched off lots of debugging.
 * Bugfix for natassist (zeroconf returns 0.0.0.0:0 when its doesn't work).
 * Logged IP Addresses for Failed incoming connections.
 * Hacked IP address into the NewsFeed notifications (ugly).



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4827 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-20 17:50:19 +00:00
drbob
4aec00a0c2 Attempt at fixing the Disconnection issue.
* Added DataRate accounting to Relay and Dht.
 * Rates are exposed through rsDht.h interface.
 * Added LastIncomingTS() to pqistreamer.
 * Turned HeartBeat reset() into a warning.
 * Added NoPacket in 60 sec reset().
 * Minor typos/errors corrected.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4818 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-19 16:23:57 +00:00
drbob
8a86c980fc Improved logging of Connection Behaviours.
- Hid lots of DEBUG_BASIC behind #defines in pqissl.
	- Added PeerID() in many places, so grep for a single peer.
	- fixed linkMgr output so we can tell a FAILURE vs FAILED ATTEMPT
	- reduced most logging to a single line.
	- print out of errno in HumanText for SSL errors.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4814 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-18 22:51:38 +00:00
drbob
abbebf48ff Partially completed changes to implement final relay bits.
* Adding more detailed flags to each connection.
 * Cleaned up unneeded stuff from p3LinkMgr.
 * Added rswin.h includes before openssl - allows compilation using std Win OpenSSL.
 * Added getConnectFlags() to Net Base.
 * removed net_attempt and associated obsolete variables from pqissl
 * Made NetBinInterface protected in pqiperson (is this okay?)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4767 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-08 16:28:44 +00:00
csoler
c8e2a4c828 put some pqissl warnings in log file only in debug mode, since this is quite CPU demanding
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4590 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-06 18:54:55 +00:00
drbob
aa63ca1aa6 Added Further debugging to try and catch this 10minute reset bug.
* log p3disc::sendHeartbeat(), successful  p3linkmgr::connectAttempt()
 * log reason for each pqissl::reset().
 * log linkmgr & peermgr  addFriend() and removeFriend().
 * log pqiperson::connect(), p3PeerMgr::cleanUnusedLocations().
 * Modify timing of cleanUnusedLocations (=>8min) & NETSTATE_PARAM_TIMEOUT (=>15min) (see if it has an effect).



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4539 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-06 12:27:23 +00:00
drbob
8066862833 Fixed Bug in choosing port for Proxy UDP. Chooses a Random one between 30000-50000.
It was using the same port as the DHT, and switching to a Random one, on its own.
 * Added debugging for net reset.
 * Added further debugging for ssl (reset + killing existing connections)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4530 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-04 22:57:12 +00:00
drbob
53c71daca0 Major improvement to libretroshare!
* Catch Failed Connections, and add to NewsFeed for GUI notifications.
 * outgoing connections are captured via pqissl::FailedCertificate() functions.
 * incoming connections are captured at certificate verification.
 * Certs are passed to AuthSSL, which calls the notification system.
 * Additional types have been added to rsnotify to handle these cases.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4425 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-11 00:55:06 +00:00
drbob
f6f721a492 Removed p3ConnectMgr. Replaced it with p3LinkMgr, p3NetMgr and p3PeerMgr.
Updated references in other classes.
 * Most classes need p3LinkMgr, and only use two functions: OwnId() and getOnlineList()




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4416 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-09 18:39:34 +00:00
thunder2
a9b85c83ae Moved define of the debug output from libretroshare.pro to pqissl.cc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4346 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-27 22:28:33 +00:00
csoler
fc959a0ad6 fixed a bug in pqissl and pqistreamer. The 2nd one was responsible for disconnections and errors in GetTlvString type
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4332 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-24 21:44:29 +00:00
csoler
bc78397a64 removed comment in log abotu bandwidth restriction (not applied)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4123 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-03 20:15:55 +00:00
thunder2
f769c66991 Fixed upload speed problem of Windows systems.
Set TCP buffer size to 128 KB.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-12 21:05:59 +00:00
drbob
627b0f88a2 * Fixed up UDP Port "netReset()" (was stuck on 7812, now follows your tcp port).
* OSX Bug: doesn't like classes in C files. switched to void * pointer.
 * A little extra debugging in pqissl on disconnects.
 * switched on bitdht by default in libretroshare.pro



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3334 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-02 23:21:59 +00:00
drbob
31c9832978 Fixed Bad SSL Timeout code.
* Added TS check to SSL_RETURN_ZERO code. 
	- Existing code was dependent on tick rate. (could kill connection in 2-3 seconds)
	- If nothing is received within 15 seconds - the connection will be killed.
  * Removed "No send if RETURN_ZERO" check. 
	- This causes deadlocks and kills connections.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3287 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-13 12:13:56 +00:00
drbob
648e15bcf7 Found cause of OSX network resets / lost connections: inet_ntoa is not thread-safe.
* Added thread-safe rs_inet_ntoa function (util/rsnet.cc)
 * Switched all calls to this function (most of the changes)
 * Modified getLocalInterfaces() and getPreferredInterface() to avoid string conversions.
   - NB: Modified windows functions too, but unable to test (hope it compiles!)

Also:
 * Added  EVP_CIPHER_CTX_rand_key() replacement function for old versions of SSL (pre 0.9.8)  (for OSX 10.5)
   - NB: This code should be reworked to remove these calls anyway.
 * Updated tests/pqi to handle above changes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3281 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 20:34:03 +00:00
drbob
863a29fda1 NETWORK REWORK (cont)
Rework of AuthSSL: cleanup and split up.

 * Split out independent SSL functions into sslfns.h / sslfns.cc
 * Reworked SSL certificate storage.
 * Reworked SignDataBin / VerifyDataBin (fixed memory leaks).
 * Removed funny code: /* cert->cert_info->key->pkey is NULL */ 
     - just use X509_get_pubkey() instead.
 * Removed lots of old code.
 * Fixed up Mutex usage in AuthSSL - which was random.
 * Removed certificates from tlvSignature serialiser obj.
 * removed certificates from p3distrib messages.
 * Starting removing "unused parameter" compiler warnings.
 * Various related changes to make libretroshare compile.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3222 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-26 12:31:24 +00:00
drbob
69ba03dbd2 First of the Networking REWORK checkings. I'm doing these is stages,
so I can properly document what is being changed!

Revert / Merge : pqissl / pqissludp code.
   * restored original timeout system.
   * removed weird testing code - should never have been here!
   * switched extra checks to generate ALERT msgs - we want to know if they happen.
   * removed quietShutdown (breaks TLS protocol - why was this added?)
   * switched listening on all the time. (helps restore disconnects).
   * restored common connect parameters (removed duplicates in ssludp).
   * restored AuthSSL->Failed/CheckCertificate() calls ... useful.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3212 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 21:44:24 +00:00
drbob
30210cf9ec * removed SSL ex_data sharing of sslids in pqissl+authssl.
This used an unprotected singleton -> bad... Probably killed a lot of connections.
 * removed mConnMgr tests in authssl 
	AuthSSL shouldn't use ConnectMgr. what happened to abstraction / seperation of function???
	This code prevents quick reconnections.

 * Disabled AuthSSL from adding new SSL peers.
	This functionality is important... but should be handled elsewhere (p3connmgr or pqissl)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3200 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-24 17:41:34 +00:00
thunder2
b242b73f31 Memory leaks:
- ftController::copyFile -> buffer and file pointer leaks in case of error
- PeersDialog::insertSendList -> new QTreeWidgetItem for all online peers, this function is not ready yet
- PeersDialog::insertPeers -> gpg_item = new QTreeWidgetItem(0); in case of no more accept connection
- pqissl::reset -> missing SSL_free of ssl_connection

Missing return:
- IntroPage::nextId


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2891 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-12 20:10:22 +00:00
joss17
73615104a7 change ssl binary encryption to aes debug code
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2528 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-12 23:10:01 +00:00
joss17
aa7bed984f small update of connct mgr and ssl connection
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2489 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-05 21:27:42 +00:00
joss17
235d468ef4 disable the extract failed certificate
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2474 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-02 22:36:27 +00:00
joss17
5de1f4db50 implementation of an SSL binary encryption
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2424 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-25 22:42:42 +00:00
joss17
80b44220fb Properly close ssl connection when receiving error SYS_CALL. Bug solved
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2410 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-23 22:27:09 +00:00
joss17
72a3396a58 add a control when establishing a ssl connection and the sockfd is -1
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2331 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-15 15:31:37 +00:00
csoler
17ef6b932b put a safety check against sockfd==-1
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2322 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-14 16:43:42 +00:00
joss17
faa1e15db2 fix a bug wich stops multiple connection against the same peer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2201 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-05 20:39:01 +00:00
joss17
9976b80566 remove the ssl cert storage. Big rewrite of ssl cert and friend management
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2017 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:22:52 +00:00
joss17
485f27dc11 allow ssl connection with a new cert, ad a friend when happening
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2014 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:16:56 +00:00
joss17
9d53481946 make it run
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2003 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:01:06 +00:00
joss17
c23407cae3 get rid of p3authmgr
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2001 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 20:56:55 +00:00
joss17
79138790dd add debug code for tunnel test
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1932 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-22 12:30:44 +00:00
joss17
9866a93b7c add some errors for ssl before resetting
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1925 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-20 13:28:01 +00:00
joss17
bc27e188f9 stop ssl listening when already connected
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1923 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-20 13:27:26 +00:00
joss17
1bb1f4575b stop sending data when ssl read returns 0
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1922 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-20 13:27:12 +00:00
joss17
2ed7a96245 Revert "Revert "add a quiet shutdown when SSL_ERROR_SYSCALL is raised""
This reverts commit 5f9020b2b69a1920f5886a3ec25a2591902d17ae.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1900 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-18 17:50:11 +00:00
joss17
89ab9b1553 Revert "add a quiet shutdown when SSL_ERROR_SYSCALL is raised"
This reverts commit 7b8310ff019a9d81ada9d11a7aeceec8c50c9ee0.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1898 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-17 22:22:46 +00:00
joss17
a12084d620 add a quiet shutdown when SSL_ERROR_SYSCALL is raised
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1896 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-17 22:22:09 +00:00
joss17
8e4ce11532 work on the timeout for tcp and udp connection
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1884 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-14 21:20:17 +00:00
joss17
76d5072624 add ext address detector when connectiong to peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1882 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-14 18:11:19 +00:00
joss17
00361c22a5 first commit, change some members name from localaddr to currentlocaladdr, and add ip lists in the classes. Not used yet to connect or exchange
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1804 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-11-11 16:43:51 +00:00
csoler
26db7ada52 restored accounting for LAN transfer rates. See also trac ticket #60
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1592 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-04 20:31:25 +00:00
csoler
4685fadbeb Hope I finally corrected the connexion + one-way bug
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1396 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-21 20:14:31 +00:00
drbob
5f28f76b07 * Addition of openpgp support!
This is not enabled by default. Instructions to enable are at the end of msg.

This is 60% complete. Supports creation of certificates, adding friends and connections.
Parts still to do: pgpids, p3discovery, signing and trusting peers.

The main reason it is being commited is so that connections between peers can be 
properly tested, and development on OSX and win can start.

This requires gpg and the gpgme.h development libraries, and no longer 
requires the custom ssl libraries.

To compile it switch the configuration flags in scripts/config-linux.mk

To compile XPGP (v0.4.x) enable PQI_USE_XPGP:
#PQI_USE_SSLONLY = 1
PQI_USE_XPGP = 1

To compile SSL only, enable PQI_USE_SSLONLY:
PQI_USE_SSLONLY = 1
#PQI_USE_XPGP = 1
 
To compile OpenPGP, disable both:
#PQI_USE_SSLONLY = 1
#PQI_USE_XPGP = 1

and enable RS_USEPGPSSL in rsiface/rsinit.h




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1265 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-05-23 15:07:35 +00:00
csoler
a311814714 suppressed misleading ssl error.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1091 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-03-20 23:43:24 +00:00
csoler
1424d85384 Fixed the ssl connexion problem. However, for connexions to occur correctly, both peers should upgrade to this new version
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1062 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-03-03 19:40:42 +00:00
csoler
14dc2fbf7e added another anti-lag strategy in pqissl.cc. This is to avoid connexion problems
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1060 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-03-01 15:12:22 +00:00