Commit Graph

112 Commits

Author SHA1 Message Date
drbob
f4331da483 Networking REWORK: Major cleanup of p3ConnectMgr.
(Sorry for the ridiculously large check-in, wants to fix lots of stuff.)

Other Changes:
 * Added SSL Test Harness. (authssltest)
 * Added GPG Test Harness. (authssltest)
 * Reworked SSL/GPG startup to enable test harnesses
 * pqiperson: added notify of FAIL if connection method unavailable.
 * added p3tunnel to pqissltunnel init.
 * pqimonitor: added ipHistory to connect callback.
 
p3ConnectMgr Changes:
 * removed STUN system - wasn't operating correctly anyway without DHT.
 * switched to new IpAddress history data types. (removed lots of code)
 * Added Addr history for both Local and Ext addresses.
 * removed p3tunnel references in p3connmgr
 * fixed up mUseTunnelConnection flags (now used!)
 * fixed up mUseExtFinder flags (now used!)
 * added improved Net Status.
 * corrected UPNP / EXT / UDP startup. (was always UPNP).
 * fixed netReset() and netStartup().
 * removed unnecessary DEBUG code.
 * added UPNP timeout code (600 secs - why does it take so long?)
 * added improved netExtCheck().
 * removed wierd netConsistencyCheck() ... to rework.
 * corrected connect / reconnect code.
 * removed DHT notify code.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3247 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 10:35:38 +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
e4e80778e4 Networking REWORK (cont)
AuthSSL / AuthGPG: Bits and pieces still need fixing up.
AuthSSL will be rechecked later ;)

 * Mutex bug in authGPG (not very serious one).
 * removed _locked() suffix from functions (as they do the locking now).
 * added dummy FailedCertificate / CheckCertificate fns to AuthSSL
 * removed last bits of awful SSL_ex_data hack.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3213 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 21:50:46 +00:00
drbob
47a2f06094 * disabled UDP and TUNNEL connections for debugging purposes.
This is done in libretroshare.pro - if you want to reenable them.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3201 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-24 18:06:10 +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
csoler
347c80fb1e Ported branch commits:
3148: modified the update system for address lists, so that the list is totally
      replaced (and not merged) when it comes from the peer itself. This helps
      cleaning wrong addresses

	  libretroshare/src/pqi/authssl.cc
	  libretroshare/src/pqi/p3connmgr.cc
	  libretroshare/src/pqi/p3connmgr.h
	  libretroshare/src/services/p3disc.cc

3149: removed uninitialized memory read
      
	  libretroshare/src/pqi/authgpg.cc

3151: corrected missed update of peer info when connected. Disabled setting
	  peer connexion IP from p3disc info (does not make sense, and leads to
	  errors)

      libretroshare/src/services/p3disc.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3152 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-16 20:18:46 +00:00
csoler
b941d733cc Ported branch commit 3143: corrected bug responsible for mixing IP lists between peers of same GPG id (connection attempt to other peer responded with connection to oneself). Added additional debug info in p3disc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3144 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-15 21:28:27 +00:00
leander-256
21efccfdd6 Memory leak and compiler warnings fixes:
- memory leaks in pqi/cleanupxpgp.cc , 2 new char[] => 2 delete[]
- reordering some constructors' initializing order
- char* myString = "foo" constructs must be prefixed by "const"
- using size_t for variable types when dealing with STL


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3079 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-07 01:47:15 +00:00
csoler
2dd10e5151 included patch for openssl-1.0.0 compatibility
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2747 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-21 08:52:04 +00:00
csoler
38463c905e ported branch commit 2732: fixed deadlock in passwd callback
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2734 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-19 21:50:03 +00:00
joss17
2eb3d560e0 add commentary for openssl 1.0 compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2713 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-15 09:32:59 +00:00
joss17
10205473fc change ssl binary encryption to aes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2527 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-12 23:09:46 +00:00
joss17
da095482db restrain ip list exchange in an attempt for bug solving
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2490 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-06 17:34:04 +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
6931a25b45 change the pointer offset cast
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2472 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-02 21:54:30 +00:00
joss17
364a3252f0 Revert "removed c style void* pointer-arithmetic with explicit cast"
This reverts commit 548b11fc191e258be6ef45544927101596a5a1d8.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2471 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-02 21:53:16 +00:00
chrisparker126
6b3ab2996a removed c style void* pointer-arithmetic with explicit cast
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2460 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-28 13:28:17 +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
csoler
a6c585090a oups. backward commit this change which I done yesterday by mistake
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2420 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-24 21:39:23 +00:00
csoler
5acc8411e5 warning suppression
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2406 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-23 21:55:29 +00:00
drbob
56e9536336 Modified libretroshare to compile under MacOSX.
1) b64.c used c++ functions -> b64.cc
2) OSX will use miniupnpc for now -> modified #defines.
3) change in openssl fn signature?
4) updated build file for OSX.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2344 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-16 22:25:58 +00:00
joss17
56694fbc84 change come locks and code cleaning
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2279 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-10 21:54:28 +00:00
joss17
1c51a0faab still further log cleanings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2240 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-08 16:42:26 +00:00
joss17
6f1e4623ab further log cleanings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2239 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-08 14:06:43 +00:00
joss17
bf67301d71 remove a maximum of debug outputs for the release
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2232 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-07 21:28:40 +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
cfe3bca2a8 Msg forums are now signed by ssl certs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2178 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-03 21:21:04 +00:00
joss17
1e96a13c5d add gpg authentication everytime we got an ssl auth error
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2171 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-01 22:59:30 +00:00
csoler
fb1e030cb6 corrected missing return, added some debug printfs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2116 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-24 13:59:22 +00:00
joss17
e4b7ee7766 fix a bug to connect to own gpg key
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2082 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-19 19:12:27 +00:00
joss17
ac580a6c07 add location to account detail at startup, and improve the peersdialog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2075 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-18 22:44:09 +00:00
joss17
5618d145a9 accept connection from our own key
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2053 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-16 12:24:58 +00:00
joss17
de1f223d7d add a test for connection establishement
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2048 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-15 19:41:29 +00:00
joss17
5349ab101a Revert "Ad a friend right upon connection when necessary. Removed two core mutex to do that, it might be dangerous, we will see"
This reverts commit 430b13ab7d12b0911e072887c8347b6855d173af.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2042 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-14 22:50:27 +00:00
joss17
e2cc7213a3 Ad a friend right upon connection when necessary. Removed two core mutex to do that, it might be dangerous, we will see
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2037 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-14 01:33:56 +00:00
joss17
8d002a1566 add a ssl check that the peer isn't already connected
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2036 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-14 01:33:36 +00:00
joss17
54c7f8b81a implement the remove friend for gpg key, and improve the tranfer of ip address from a dummy peer to a normal peer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2024 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:32:05 +00:00
joss17
c6edff7df8 change the cert to gpg + some ssl details
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2022 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:29:21 +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
b96a6d879e small bug correction
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2015 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:17:35 +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
bb45fa3db5 working gui version for peers dialog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2013 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:16:18 +00:00
joss17
77b3c0afd0 first code for the gui : network dialog, start dialog and certificate first generation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2009 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:08:46 +00:00
joss17
9c17aced37 implemented the sign, trust and validitty functionnality in authGPG. Fix a singleton bug for authGPG and authSSL
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2007 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:05:38 +00:00
joss17
d2a1084c27 make it work without exchanging keys in p3disc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2005 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:02:39 +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
a0a64fb588 make it compile
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2002 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 20:58:58 +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
bd5df3a9ea first separation between authSSL and authGPG
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1999 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 20:52:31 +00:00
joss17
fdb3673ce2 Add the tunneling connection. Warning, encryption is not implemented yet for tunnel connection, use only for testing.
Redesign the udp connection
Remove the rsiface duplicates from retroshare-gui.
Add some randomness in timings for connect manager

Merge branch 'connectionTunneling'

Conflicts:
	libretroshare/src/libretroshare.pro
	libretroshare/src/pqi/p3connmgr.cc
	retroshare-gui/src/RetroShare.pro
	retroshare-gui/src/rsiface/rsfiles.h
	retroshare-gui/src/rsiface/rstypes.h

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1867 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-13 21:59:26 +00:00
joss17
a6029d69db change ssl password encryption to non symmetric
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1730 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-10-27 20:39:47 +00:00
csoler
64a06fd0bb fixed core dump issue where AuthSSL::VerifySignBin() is called with NULL parameters. Still, this should not happen.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1624 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-09 11:22:44 +00:00
joss17
d00a33ca14 add warning log info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1585 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-02 19:20:46 +00:00
drbob
60349baf9d * Fixed certificate saving bug. (authssl.cc)
* added cert->issuer to external interface (rspeers.h)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1501 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-09 13:06:24 +00:00
drbob
2bf94b909a Reworking of networking code to enable Net Restart.
* Stun code now runs continually - to check external network state.
  * Udpsorter controls DHT stun is on/off. (via p3ConnectMgr)
  * added code to enable threads to join/restart 
  * enabled NetRestart for UDP and TCP.
  * tweaked networking code for faster startup (now ~30 seconds - can still be improved).
  * tweaked debug messages for testing networking
  * Added test for checking external IP address determination.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-04 23:22:44 +00:00
drbob
a023a0bfcd Major change to the way certificates are stored now defaults to ~/.retroshare/SSLID/
* supports Multiple Accounts on same computer.
	* Enabled libretroshare tests using Makefiles.
	* restructured RsInit functions: Config Data is now private.
	* switch OpenPGP on by default (added #define to rsinit).
	


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1451 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-30 21:27:47 +00:00
drbob
369bb6a5c5 Bugfixes to make pgp friend sharing work.
* added rsinit.h include so PGPSSL flag is read. (enabling ISSUER sharing)
 * extra debugging so we can see the certs being passed around.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1399 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-21 21:25:39 +00:00
drbob
e9a2c24ab1 Added Authentication update... for cases where
auth fails the first time, but is okay the second.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1335 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-08 20:58:58 +00:00
drbob
d4b52a59e5 Major bugfixes to get PGP authentication finished.
* p3disc now exchanges "Issuer" (pgp) certificates as well.
 * additional types for rsdiscitems.h
 * Bug Fix for NULL packet in p3service.cc
 * allow unauthed SSL certificates to be added in AuthSSL - otherwise cant add new friends!
 * only save authed SSL certificates.
 * fixed ref/unref of PGP keys in AuthGPG
 * added Mutex protection to AuthGPG
 * added PGP reloading when key is imported, or signed.
 * Fixed PGP key signing.
 * added Additional field validLvl to RsPeerDetails.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1270 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-05-25 11:38:47 +00:00
drbob
387b7bae6a * Fixed up SSL peerIds and gpg password stuff.
* PGP version compiling / running on OSX now.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1268 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-05-24 10:33:08 +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
drbob
28df984148 * Added partially completed authssl.cc, as we move towards openpgp authentication.
Once completed this will allow standard ssl authentication and provide the base for
the openpgp authenticator,
 * Tweaks, and removed debug statements.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1140 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-04-22 23:29:16 +00:00