Commit Graph

37 Commits

Author SHA1 Message Date
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
csoler
23a617dca4 Added a workarround for the packet sending problem. This is not optimal, but seems to work fairly well.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1054 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-02-26 14:04:48 +00:00
csoler
d58b4dad7d suppressed some debuggign output.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1047 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-02-15 20:22:34 +00:00
csoler
f98c8153a6 found and corrected this bug about wrong packet size. This took me the WE, but I have a great deal of patience ;-)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1046 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-02-15 20:13:35 +00:00
drbob
1e33267951 Modifications to libretroshare to enable a
build against a standard OpenSSL library... 
Still lots to do (implement AuthSSL), compiles all but final gui.
use USE_XPGP flag in build script to control it.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@796 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-09 16:52:14 +00:00
drbob
d36b15d526 Major cleanup of Retroshare Logging - aimed at enabling proper UDP testing.
* Switched off most of std::cerr output. (expect UPnP)
 * moved pqi/pqidebug to util/rsdebug to allow greater usage.
 * added Mutexes to logging.
 * Downgraded many log messages to DEBUG.
 * New Log messages for connections, dht and udp code.
 * Added check for bad UDP socket.
 * Added check for non-firewalled scenario.
 * Increased Storage period from 1 Month to 6 Months for Links & Blog.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@644 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-07-10 16:29:18 +00:00
drbob
ca69e3d5e3 Removed most of the output to stderr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@641 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-07-09 09:55:09 +00:00
drbob
5e41b21cef Lots of bugfixes and tweaks:
* Switched p3Ranking to share Friends Links as well as own.
 * Modified rankmsgs to contain source id.
 * Fixed up rsNotify, added pqiNotify and global function call to get it.
 * Added notify for Bad Incoming Directory
 * Added Emergency Incoming directory so RS can keep running.
 * Added notify for Bad Packet (connecting to V0.3.X)
 * Added notify for Incomplete Packet Read (not been triggered yet!)
 * added close() to BinInterface, close on pqissl calls reset() 
 * removed exit(1) calls from pqistreamer, replaced with bio->close().
 * Increased Maximum Packet Size for HTML messages.
 * Fixed Online/Offline Message Forwarding. (TEST).
 * Increased DHT bootstrap buckets to 4.
 * Cleaned up much of serialiser debug (was slowing down Mac)
 * Added directory path to File Listings.
 * added ConvertSharedFilePath() so correct local dir can be found.
 * Added ForceDirectoryCheck() and InDirectoryCheck() for file hashing.
 * removed old TMP cache loading.
 * switched off Cache debug.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@448 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-31 14:06:59 +00:00
drbob
8d3f9a3ec6 Important changes to tighten up the connection methods:
* Switched to miniupnpc-1.0
 * modified miniupnpc to add lease duration.
 * set lease duration to 1 Hr.
 * Modified configure scripts to use miniupnpc-1.0

 * added TIMEOUT to all connections (5 sec for TCP - Important!)
 * reduced TCP offset delay to 2 seconds.
 * BUGFIX: Added missing connect_parameter wrapper function.
 * added reset to other connection methods when connection is made.
 * Added Connection Type (TCP/UDP) information to feedback/GUI

 * Increased default Data Rates: from 50/50 to 100/500 kB/s
 * Removed Default Bootstrap Ids. (only automatic now!)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@423 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-26 15:35:09 +00:00
drbob
9bdd44d0f5 Changes required to get Retroshare V0.4 working under windows.
Most of these changes relate to:
 (1) rand() is different 
 (2) sleep() don't exist on Windows.
 (3) networking headers are different - these need to be cleaned up in general.
 (4) disabled tests that won't compile on Windows.

Will probably have to rollback some of these changes for Unix later.





git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@372 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-03 14:41:15 +00:00
drbob
8b230a55cf Significant changes to aid UDP connections.
* Added Period and Delay parameters to connections.
   - Delay is used to avoid simultaneous TCP connections.
   - Period is used to regulate UDP connections.
 * added Delay code to pqissl.
 * added Period code to tcponudp / pqissludp.
 * modified TTL modification code.
 * increased SynPktRetransmit value.
 * fixed retrans() timeout (one reason code wasn't working before!)
 * fixed tou_close() SEGV bug.
 * modified pqissludp tou_socket creation. (non permanent now).
 * Modified format of peerConnectRequest() CB to make it more useful and rewrote function.
 * Enabled pqissludp NetInterface.
 * using Id comparision to determine Active/Passive UDP connection state.
 * added #def to disable TCP connections. (for testing)
 * enabled UDP connections from retryConnect() function.
 * corrected EXT check in retryConnect() function.
 * + lots of debug output and other stuff.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@358 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-27 02:32:20 +00:00
drbob
806b8285f2 Lots of little changes to libretroshare. Improvements mainly focused
on configuration storage and loading:
 * Improved Configuration Manager (almost finished)
 * Mutex protections for Configuration system
 * added Configuration storage to p3ConnectMgr.
 * added Configuration storage to p3MsgService.
 * bugfixes in p3GeneralConfig.
 * Added Config Save notification where necessary.
 * added safe FinalConfigSave before exit().
 * added RsPeerNetItem + RsPeerStunItem (serialiser)
 * reordered startup for correct config loading.
 * enabled Loading of certs in AuthXPGP.
 * move sockaddr_clear() to util/rsnet.h
 * switched p3MsgService sendMessage checking to pqiMonitor syste,.
 * corrected pqiarchive saving of PeerIds.
 * added setNetworkMode() & setVisState() to p3ConnectMgr.
 * added Mutex protection to p3ranking.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@336 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-07 16:18:34 +00:00
drbob
31136da7cc Modifications to fix some networking/endian issues on PPC OSX.
* added sockaddr_clear() function to zero network addresses before use.
* used this function in p3connmgr.
* added htonll() and ntohll() functions to rsnet.h with compile-time ENDIAN checking
* use htonll() and ntohll() in serialiser.
* added net_test.cc to check network/endian/inet_addr issues.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@328 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-03 12:07:59 +00:00
drbob
798e19d58c Conversion of the SSL connection methods.
* Added new XPGP functions to checking certificates.
* Converted SSL classes from cert * -> p3AuthMgr.
* Added check of addresses before connect attempt.
* started up listener correctly.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@319 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-28 05:40:32 +00:00
drbob
6435357c07 Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the pqi code, 
and provides the majority of the improvements.

(1) Introduced new interfaces for DHT and UPnP abstraction: p3dhtmgr.h, p3upnpmgr.h
(2) Introduces abstraction for Authentication: p3authmgr.h
(3) New Connection Manager to coordinate networking code: p3connmgr.h
(4) New Configuration Manager: p3cfgmgr.h

This library has been significantly modified to support DHT synced connections
to enable connections between Firewalled Friends. The connection code has
been rewritten within a new framework, which should make extensions easier to code.

Also removed significant amount of old code relating to Tunnels, Channels etc.
This will be recycled later as higher level services that should not be
part of the core networking library.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@306 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 06:36:40 +00:00
drbob
2c9c31eaf0 Major changes to the networking core of retroshare to introduce the new serialiser.
- Added new serialiser (PQItem -> RsItem), removed old one.
- switched packet sorting from ChanId (array of ids) to PeerId (string)
- introduced cleaner service interface (pqiservice).
- moved p3disc to service interface.
- modified streamers to use the new serialiser.
- moved msg/chat to service interface.
- removed old source code. (supernode / p3loopback).

I've disabled UDP connections / Proxy and Channels for the moment.
The code it still here, but is not compiled. The Proxy and Channels 
will become services, and the UDP connections will be reworked 
in the near future.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@274 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-12-12 01:29:14 +00:00
drbob
935745a08e Created V0.3.x branch and moved the head into the trunk directory.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@246 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-15 03:18:48 +00:00