* 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
* 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
* 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
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
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
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
- 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
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
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
* 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
* 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
* 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
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
* 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
* 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
* 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