Commit Graph

758 Commits

Author SHA1 Message Date
thunder2
9501a4fe2c Added new friend request toaster from defnax.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5120 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-25 19:19:16 +00:00
thunder2
a6dfac2a37 Removed std::stringstream.
Removed not necessary include <sstream>.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5112 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-19 22:10:00 +00:00
thunder2
b71eeadf95 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5109 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-18 21:20:37 +00:00
thunder2
83bd45caa4 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5103 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 22:38:24 +00:00
thunder2
0ac69b87db Fixed compile on Linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5098 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 00:36:20 +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
thunder2
3b85873313 Added patch from AC
- add missing includes "unistd.h" for compiling with gcc 4.7.0.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5096 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-12 23:29:39 +00:00
csoler
fa429ad8d4 added caching of GPG information to PGPHandler
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5086 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-09 17:03:47 +00:00
csoler
b43fb7e8b3 - added encryption / decryption of files and memory
- started implementation of new AuthGPG


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5084 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-08 14:52:01 +00:00
csoler
c27f695a37 updated to trunk of openpgp-sdk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-04 19:27:07 +00:00
thunder2
9f627783aa Fixed deadlock when receiving a chat message with open history browser.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5042 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-20 21:25:39 +00:00
csoler
889a2b2433 Added deferred check of chunks during file transfer. Chunk sha1 sums are requested to the sources and checked for downloaded data.
Validated chunks are shared to other peers. Force check is now very simple since it just turns all chunks into "needs checking" mode
and sums are asked to sources. Sources maintain a temporary cache of chunks. Since sums are requested sparsely, this should not 
affect the sources in terms of performance. We can still imagine precomputing and saving sha1 of chunks while hashing them.

For backward compatibility reasons, the following has been setup *temporarily* in this version:
- unvalidated chunks are still considered as already obtained, and are shared and saved
- force check has been disabled
- final file check is maintained
- in case of file fail, the old checking mode will be used.

All changes for next version are kept in the define 'USE_NEW_CHUNK_CHECKING_CODE' that will be made the default in a few weeks.
At start, I expect most chunk to stya yellow during download, until most sources are able to provide chunk hashs.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5019 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-15 19:55:43 +00:00
thunder2
45ac04e2e7 Count the friends (gpg id's) instead of the locations (ssl id's) in the statusbar.
Moved update of the friends from QTimer to signals.
Combined p3LinkMgr::getFriendCount and p3LinkMgr::getOnlineCount and moved to p3PeerMgr.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4986 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-25 01:48:56 +00:00
drbob
9544b61d77 * removed debugging from gpg cache.
* fixed position of #endif



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4954 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-17 20:28:59 +00:00
thunder2
970d88200d Removed some more compiler warnings from Windows compile (GCC 4.4).
Added -Wextra to the Windows compile.
Added new define in libbitdht for snprintf and fprintf to proper handling of "%ll" under Windows.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4951 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-17 10:03:38 +00:00
drbob
e024ea36e9 Added Cache system for GPG Certificates.
- This should reduce gpg calls by 90+%.
Updated rsversion svn to 4942 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4942 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-15 16:44:45 +00:00
thunder2
a2982f3370 Fixed private message notification. Remove offline private messages of none friends at startup and when a friend is removed.
Moved the removing of the history of removed friends from p3PeerMgrIMPL to p3ChatService.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4940 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-14 22:55:14 +00:00
drbob
57c7e66a38 Attempted fix for maintaining External Port in Manual Forwarded Mode.
- added check for RS_NET_MODE_EXT instead of RS_NET_MODE_TRY_EXT... as trys aren't used in p3PeerMgr.
 - removed tryMode from external interface - as this data is not available anymore.
 - Removed setting this parameter in p3peers.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4919 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-11 12:18:56 +00:00
drbob
eb77648cd2 Added Minimal certificates to discovery exchange.
They are invoked if the standard cert is over 10k.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4853 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-27 13:46:31 +00:00
drbob
00ff694e10 Fixed default data rates to sensible options: 200 kB/s down, 50 kB/s up.
Added StoreAllKeys() call after adding new GPG Certificate.
Added Check for successful Req creation (was crashing with NULL pointer).
Switched std::vector.data => &(std::vector[0]) to remove linuxism in radix64.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4851 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-27 13:03:59 +00:00
csoler
5a5c0264d0 fixed uninitialized values
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4848 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-26 20:03:54 +00:00
csoler
a8456a2332 Plugged-in method for removing signatures in PGP keys => now RS has small and constant-sized certificates.
- added checkbox in ConfCertDialog to allow adding/removing signatures
- enabled again key signature button in friend wizard
- RS cert links now use small keys.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4836 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-23 20:55:08 +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
6ac2cad4aa cleaned up some of the std::cerr output.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4824 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-20 15:13:50 +00:00
drbob
611db96fb9 Attempt 3 at fixing disconnections :)
* Added limit of 10kB for Certificate size. If it is bigger - discard certificate.
 * Remove certificates for slow / trickle connections (for Relay connections).



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4822 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-20 14:41:45 +00:00
drbob
761bca8678 Fix number 2 for disconnections: Temporarily Disable Transmission of GPG Certificates in Discovery.
Certificate transmission will be disabled until we have worked out how to export Minimal Certs.
 * Disabled check for gpgcert text in p3disc.
 * Disabled creation of GPG Cert in AuthGPG.
 * Added extra error code to pqinetwork.

This change will mean that friends of friends certificates will no-longer be shared if you have discovery on.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4821 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-20 01:05:46 +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
thunder2
3a271abf11 Added history for chat lobbies and disabled it until the lobbies are saved.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4813 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-18 20:47:32 +00:00
drbob
79998dd70c Added Native (Bonjour API) Nat Port Forwarding to OSX.
* new classe p3zcNatAssist
 * moved some common ZeroConf functions / definitions around.
 * moved virtual tick() to parent class: pqiNetAssist
 * added zcNetAssist section to makefiles. (active for OSX build)
 * setup switch between p3zcNatAssist & upnphandler in rsinit.cc

NOTE: Still to test network restart, etc, and correct exchange of external Ip Address.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4800 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-14 16:41:00 +00:00
drbob
d138dde66c --- Merging r4780 through r4795 from /retroshare/branches/v0.5-dhtmods
Changes to support Relays.
* added p3BitDht::addKnownNode() so that DhtIds can be used instead of SslIds.
* switched from bdStdDht() functions to use bdModDht().
* made DhtFunctions a class variable.
* added function to modify NodePerBucket() parameter.
* Bugfix for LinkType. peerConnectAddress.flags was not initialised.
* Extra debugging of LinkType data (use LINKMGR_DEBUG_LINKTYPE).
* cleaned up udprelay output.
* Added Compile Rules to libretroshare.pro for building LocalNet Testing Version. (testnetwork)
* Added NumQueryNodes() function to bdDhtFunctions.
* Switched bdquery.cc to use bdNumQueryNodes().
* Extended bdStdDht class to bdModDht to allow NodesPerBucket to be modified.
* Fixed up Connection Fail Callback for Relay Servers.
* Added Extra debugging for Proxy Connections.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4796 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-14 09:28:16 +00:00
drbob
96c9071920 Changes to support Relays.
* added p3BitDht::addKnownNode() so that DhtIds can be used instead of SslIds.
 * switched from bdStdDht() functions to use bdModDht().
 * made DhtFunctions a class variable.
 * added function to modify NodePerBucket() parameter.
 * Bugfix for LinkType. peerConnectAddress.flags was not initialised.
 * Extra debugging of LinkType data (use LINKMGR_DEBUG_LINKTYPE).
 * cleaned up udprelay output.
 * Added Compile Rules to libretroshare.pro for building LocalNet Testing Version. (testnetwork)




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4795 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-14 01:54:17 +00:00
drbob
fc949ce5d0 --- Merging r4753 through r4779 from /svnroot/retroshare/branches/v0.5-dhtmods
Merging Dht Relay improvements into the trunk. These changes should finally make relays functional.
There are still some service changes required to reduce the traffic over relays.

Summary of Changes
---------------------

 * Changed the way proxy/relay peers are selected in bdConnection. (needs more work).
 * Added LinkType to peer info in p3LinkMgr & rspeers.h interface.
 * Added getConnectionType() to p3PeerMgr. This defaults to FRIEND for the moment.
 * Provide information about Bandwidth, Transport and Peer Type via LinkType().
 * Added RateCap() to limit traffic over Relay connections.
 * Set Internal Rate to 75% of Relay Limit to account for transport overhead.
 * Added various #include "util/rswin.h" to fix compile errors with standard ssl package.
 * Removed Local variables (mConnectProxyAddr, etc) which were hiding Class Variables.
 * Cleaned up bits in pqissl.cc and p3linkmgr.cc
 * Increased UDP Relay Packet size (max transport of 1400 bytes per UDP packet)
 * Modified checkRelay() to use Low Pass Filter to calculate Relay Bandwidth.
 * Improved udprelay debugging.
 * increased (x2) Relay Lifetimes - this is so that enough useful data can be transported (1meg).
 * Added LOCALNET_TESTING code to rsinit.cc. This allows Port Restrictions to simulate firewalls.
 * more debugging and minor bugfixes.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4780 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-11 11:54:28 +00:00
drbob
3d4feaaaf7 Set a RateCap that is 75% of absolute bandwidth limit. This reduced rate is required because
of the overhead associated with TCP and Relay connections:
 * The Internal rate is calculated based on transmitted data (a reliable stream).
 * The Relay rate is calculated at UDP packet level and is x1.1 - x1.2 higher than internal rate.
The Relay will drop the connection if peers exceed specified level - so best to leave some head room.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-10 19:40:35 +00:00
drbob
8267739b02 Final core changes required to get relay links working.
* Added LinkType to p3LinkMgr => exposed via rspeers.h
 * Added ConnectionType to p3PeerMgr. This is dummy default to FRIEND at the moment.
 * Flag bandwidth limited Relay links as such.
 * Switched DNS Address connect to in front of historical addresses.
 * Reverted Flags in p3LinkMgr to what they were.
 * Added LinkType Flags to rspeers.h
 * removed getConnectFlags() as it was a bad way to do things.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4769 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-08 22:15:19 +00:00
drbob
dc8e596c0f Added Rate Cap to RateInterface, and enabled it for Relay Connections.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4768 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-08 18:40:09 +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
drbob
88774bbbd3 BUGFIX: removed local variables which were hiding class variables.
+ more debugging.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4764 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-08 12:22:35 +00:00
thunder2
e430612714 Add the ip address of the DNSResolver to the top of the list of the connect addresses.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4754 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-06 22:03:46 +00:00
drbob
ac6f0fcfe4 --- Merging r4718 through r4752 from branches/v0.5-dhtmods
Added ZeroConf for OSX.
Changes for Relay Support.

Summary of Changes:
libbitdht
----------
 * added Relay Flags to bdNode::setNodeDhtMode()
 * added dropRelayServers() / pingRelayServers() functions for mode switches
 * added utility function:  bdFriendList::findPeersWithFlags()
 * added utility function:  bdSpace::clean_node_flags(uint32_t flags)
 * added RelayMode to ConnectManager.
 * added failedConnection callback when in Server Mode.
 * added incomplete udpproxylayer code. (not compiled)

libretroshare
-------------
 * added Configuration to p3BitDht for storing Relay Settings. (bit Hackish!)
 * added RelayHandler & getRelayReceiver() - to outsource some Relay functions.
 * + RelayHandler_InstallRelayConnection() & RelayHandler_LogFailedProxyAttempt()
 * added RelayServer, Mode and RelayAllowance to external DHT interface.
 * added p3PeerMgr::getGpgId() for ZeroConf usage.
 * updated parts of pqiassist virtual interfaces.
 * added Bandwidth storage to udprelay.
 * modified the way Relay Slots are allocated to match GUI interface.
 * ZeroConf now working on OSX.
 * added ZeroConf to OSX compilation.
 * extended rsDht interface to expose Relay configuration.

retroshare-gui
--------------
 * added Relay configuration panel.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4753 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-06 15:33:51 +00:00
drbob
58d8606d00 Added extra function to retrieve Peer's GPG IDs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4750 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-05 15:41:24 +00:00
drbob
e232b1d47d Finished up Relay Interface code to p3bitdht.
- RelayServers, Relay Parameters & Relay Mode supported.
 - Store configuration via p3config.
 - New interface code in p3bitdht_relay.cc
 - Updated external interface rsdht.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4730 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-20 02:07:00 +00:00
drbob
4d2175636e Added basic ZeroConf interface.
- registers oneself, browses and resolves services.
 - Lots still TODO:
	- parse TxtRecords.
	- Track peers.
	- feedback to libretroshare
	- etc, etc.
Enabled ZeroConf in libretroshare.pro & rsinit.cc. Compiles and runs on OSX.
Added RelayHandler to Dht, to enable external control of Relays.
Marked pqiAssist Interface for changes... will be revamped with ZeroConf.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4727 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-13 16:19:37 +00:00
thunder2
f3a0924461 Reverted some of my last changes:
- removing the core lock in RsServer::ConfigGetDataRates
- changes in p3ConfigMgr::loadConfig

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4726 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-12 16:07:38 +00:00
thunder2
e150e31401 Optimized startup of RetroShare by removing two unnecessary calls to AuthGPGimpl::storeAllKeys.
Fixed small hangs of RetroShare by removing the core lock in RsServer::ConfigGetDataRates. Is that needed?

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4725 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-12 09:37:03 +00:00
drbob
4c8d15de58 --- Merging r4700 through r4704 --- from https://retroshare.svn.sourceforge.net/svnroot/retroshare/branches/v0.5-dhtmods
Summary Of Changes:
 * Reduced Default DHT Message rate from (50msg/sec) => (5msg/sec)
 	- Searches now take longer, but it should make crappy firewalls happy.
 * Added Interface to allow this rate to be dynamically changed.
 * Bugfixes for p3BanList: removed internal IPs from Lists, fixed AddBanPeer() logic bug.
 * Disabled p3Dsdv, after brief test.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4705 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-01 17:50:26 +00:00
drbob
92c53ff0d2 * silly ( A || B) bug... B isn't called if A is true. Stopped addition of Entries in p3BanList
* Only include External Addresses in the Peer Ban scheme (done in LinkMgr and p3BanList)
 * Disabled p3Dsdv before it is too widely used.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4704 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-01 17:21:52 +00:00
drbob
0d118c7033 Merging r4674 through r4699 from https://retroshare.svn.sourceforge.net/svnroot/retroshare/branches/v0.5-dhtmods into trunk.
Full Changes can be extracted from logs associated with the following checkins:
r4674 r4678 r4679 r4680 r4681 r4684 r4686 r4687 r4697 r4698 r4699

Summary of changes:
	
DHT Improvements:
	Added knowledge of Friends / FoFs and Relays to DHT.
	Added bdFriendList class to store this information.
	Added Checks against known Peer:IP information to detect bad peers.
	Bad Peer Checking is in Test Mode Only for the moment,
	New Interfaces to exchange above information with libretroshare
	Cleaned up various compiler warnings.

libretroshare Improvements:
	Added p3BanList Service and DataTypes to exchange Bad Peer information.
	Added Plumbing to get info from network to DHT and back.
	Supply Friend List from p3LinkMgr
	Supply Friend of Friend List from p3Disc.
	Added p3Dsdv Service and DataTypes for NetworkWide Routing (Testing Mode).
	Various BugFixes.
	Patch Manual Forward mode to preserve user selected Port.





git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4700 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-29 19:32:51 +00:00
thunder2
031629d528 Removed compiler warnings.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4689 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-25 13:32:46 +00:00
drbob
85ea54395b Improvement to BanPeers Sharing Code.
* Added p3BanList as a service.
 * Added interfaces to communicate addresses.
 * Added debug to p3BanList.
 * Fixed several bugs in the AddEntry/Condense
 * Fixed Mutex deadlocks.

Improvements to Dsdv code too.
 * Added p3Dsdv as a service.
 * Added Function to create a TEST service for routing.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4687 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-25 00:58:01 +00:00
drbob
7b0a33c318 Incremental DHT improvement - support in libretroshare.
- Added missing Mutex protection in p3BitDht.
	- Added p3BitDht::addKnownPeer() to communicate with libbitdht.
	- Disabled placeholder versions (addFriend/AddFriendOfFriend)
	- Added netAssistKnownPeer() libretroshare interface.
	- Added calls to netAssistKnownPeer() from p3disc and p3NetMgr.
	- Check for NULL ptr in p3NetMgr before calling p3PeerMgr.
	- Added FIX to maintain MANUAL FORWARD port (untested!)
	- Removed some compiler warnings.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4681 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-22 13:24:42 +00:00
thunder2
363af69254 Fixed utf8 issue in history manager.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4626 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-01 13:12:28 +00:00
thunder2
b3bcfe9d30 Fixed compile on Linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4624 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-29 09:52:01 +00:00
thunder2
29c090fb44 Moved the chat history into the libretroshare.
Now the history is saved encrypted. Please delete all files with "chat*.xml" in your profile folder.
Added new config p3HistoryMgr and interface p3History.
Added new option to limit the count of the saved history items.
Added new simple html optimizer "RsHtml::optimizeHtml" to reduce the size of the html strings.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4623 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-29 09:20:09 +00:00
thunder2
526f71bebd Fixed crash in "pqiSSLstore::readPkt" when "rsSerialiser->deserialise" returns NULL.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4605 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-14 11:05:17 +00:00
csoler
7373b602e3 apparently this file was missing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4595 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-08 19:25:17 +00:00
csoler
258aea44f7 apparently this file was missing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4594 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-08 19:22:50 +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
csoler
0ed60eaf86 merge of QoS branch into trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4588 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-04 20:01:30 +00:00
csoler
663ce50630 patch from AsamK to fix up crash at startup due to a missing else
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4587 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-03 22:16:51 +00:00
csoler
8941aa5991 corrected a few bugs in the cert cleaning method. Added feedback to the GUI and error codes for the cert cleaning function of rspeers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4580 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-30 21:49:49 +00:00
thunder2
01fa9eec3f Added a new checbox in the settings (NotifyPage) to enable/disable the new SecurityItem. It is enabled by default, but all existing users need to enable it.
Added new buttons to SecurityItem to add/remove the peer and view peer details.
Added new call to notifyListChange with NOTIFY_LIST_FRIENDS in AuthGPGimpl::AllowConnection.
Fixed german language.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4572 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-21 22:28:19 +00:00
thunder2
43c0594d18 Changed some parameters from "std::string" to "const std::string&" in rsinit.h.
Log the error messages from gpgme (ProcessPGPmeError) to stderr.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4560 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-12 20:02:00 +00:00
thunder2
c6beee44ec Removed unused parameter warnings in libretroshare.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4558 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-12 13:42:30 +00:00
drbob
ce0a36607d As certificate cleaning is very much more brutal now... (strip all SSL certs not connected to recently).
I've reduced the frequency, and increased the age for removal.
 * Cleared every 31 minutes, first cleaning after 1 hour.
 * old peer is no contact for 90 days.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4547 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-08 12:02:17 +00:00
drbob
8688c65f4c * Added "lastcontact = now" when added SSL Peer. This ensures that new certificates will be retained for at least 30 days.
=> Giving new peers a chance to connect.
 * Fixed missing return in p3PeerMgr::removeUnusedLocations()
 * moved RTT defines to top of file, and increased to 150 results.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4546 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-08 11:27:40 +00:00
thunder2
cd41eda638 Fixed compile on Windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4545 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-07 22:23:53 +00:00
drbob
8e3e7d5209 Cleaned up rsPeers to remove 10 minute reconnect. The reconnect was caused by
the periodical call of cleanupUsedLocation, which was reloading all the GPG Keys - for each cleanup Key.
This required cleaning up various bits (AuthGPG, rsPeers, p3Disc).

 * moved rsPeer::cleanUnusedLocations => p3PeerMgr::removeUnusedLocations();
 	- made the function light-weight, no loading of GPG Keys.
 * moved getSSLCertsFromGPG() fn from rsPeers => p3PeerMgr
 * added p3PeerMgr::removeAllFriendLocations() to cleanup when removing a GPG Friend.
 * cleaned up rsPeers, made addFriend() / removeFriend() universal functions.
 * remove bool   p3Peers::setAcceptToConnectGPGCertificate(const std::string &gpg_id, bool acceptance)
 * removed all Dummy SSL Ids. - There is no need for this!
 * Major changes to p3disc to correct FLAWED logic.  (needs more testing).
 * removed as many dependancies on retroshare/rspeer.h as possible.
 * changed p3turtle dependancy on rsPeers ==> mLinkMgr.
 * added p3LinkMgr::getPeerName() and p3PeerMgr::getPeerName()
 * added return 1 to pqissllistener::closeConnection().
 * removed unused code from AuthGPG().
 * removed storeAllKeys() calls in AuthGPG::AllowConnection().



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4542 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-07 21:11:00 +00:00
thunder2
0043320ea7 Modified Windows TCP hack.
- Reduced the limit of the half-open connections from 5 to 3.
- Only the TCP connections are queued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4540 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-07 18:48:48 +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
thunder2
687b2ecd36 The password dialog can be canceled.
Fixed an error when cancel the login password dialog at startup. RetroShare did not start after this.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4537 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-05 20:45:09 +00:00
drbob
b1ac8bc9d2 Added Second Queue, to check if connections are actually valid before installing.
* SSL_Peek is called on new connections, and we only accept it when there is data.
 * This should stop some of the unstable connections caused by wrong IP:Ports



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4533 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-05 16:04:35 +00:00
thunder2
23e49f7302 Optimized the Windows connection hack. Suppressed unnecessary count of connection attempts when no connection is waiting.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4531 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-04 23:27:58 +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
3ef08fead5 Added Address update from p3NetMgr => p3PeerMgr, when external address has been determined.
* extract external address from DhtStunner if possible.
 * added p3PeerMgr::UpdateOwnAddress(), which should only be called by p3netmgr.
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4512 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-02 19:05:27 +00:00
drbob
31ec7a074b Net, Dht and Configuration changes.
* set PortForward in NetStateBox when the Network has been setup.
 * add GeneralConfig to rsConfig external interface.
 * enabled ADVANCED configuration option.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4500 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-30 16:57:40 +00:00
drbob
91e10f1590 * Fixed up network configuration.
- p3peermgr now uses RS_NET_MODE_XXXX instead of RS_NET_MODE_TRY_XXXX
	- p3netmgr maintains both TRY and ACTUAL mode.
	- actual mode is not visible through old interface (TO FIX).
	- added default to UPNP mode.
 * Added debug to show changes to peer->VisState.
	- It seems that this is never updated by p3disc. BUG, (TO FIX).
 * disabled extra debug in rsdiscitems.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4498 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-30 12:18:56 +00:00
drbob
da0d410b8d * Added further debug to pqistreamer.
* clear mOldNatHole/NatType during netReset.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4497 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-29 15:20:40 +00:00
csoler
b903217317 fixed declarations instead of initialization
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4494 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 17:02:05 +00:00
csoler
ab37ea0ce1 fixed uninitialized memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 16:56:37 +00:00
csoler
095168f4ec fixed uninitialized memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4491 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 16:29:25 +00:00
csoler
b3052e0208 set maximum port value to 65535 instead of old arbitrary value of 50000, and warned about system-reserved ports in server settings gui
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4486 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-23 20:07:06 +00:00
drbob
b56ddfeb5b * Switched on Dht "Attach" Mode if RS is firewalled. (and not nice firewall).
* Added interfaces to enable AttachMode switch.
 * Added further tcponudp tests.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4484 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-21 11:28:19 +00:00
csoler
179693e2a4 fixed missign return, and pointer-to-uint32_t cast
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4475 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 18:55:32 +00:00
drbob
ed114cc9e5 Enable TCP connections again.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4471 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 00:17:54 +00:00
drbob
cc9df9a80f Removed Lots of Debug, and fixed a couple of bugs.
* Increased Timeout Periods for UDP connections - this was stopping half of them from succeeding.
 * The other bug (Heartbeat / stream issues) has not been solved.
 * Fixed up initialisation of p3BitDht data. 
 * add DropPeers() as NON-ACTIVE (this allows peers which aren't VISIBLE to still try and connect)
 * export AddFriends/FOF/Others to LinkMgr to allow further SSL IDs to be added to p3BitDht.
 * Export UDP Addresses to DhtWindow.
 * switch off lots of debugging.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4469 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 00:06:09 +00:00
drbob
b61b590f79 Silly Bug, overwritten the mConnectFlag with the Bandwidth parameter.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4467 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-18 18:28:20 +00:00
drbob
619b2416ac disabled Relay connections, and enabled UDP connections.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4464 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-18 08:37:11 +00:00
drbob
c33b415ef4 Bugfixes for ExclusiveProxy Mode.
* changed PeerConnectStateBox::getNetState() to calcNetState() to provide up-to-date info (internal mNetState can be stale!)
 * Added "bool addrChangeLikely" parameter to ReleaseProxyExclusiveLock() - this parameter is determined by whether we actually started a UDP connection.
 * disabled ForceRestun in UdpStunner if addrChange is unlikely.
 * Reduced Stunner Period Slow from 3 minutes to 2 minutes - exact value will only be known after real-world testing.
 * More debugging.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4458 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-17 16:24:45 +00:00
drbob
0229ef1fe8 Disabled UDP connections (in p3LinkMgr) for now.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4447 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-14 15:01:41 +00:00
drbob
86bdc5dfd0 More Plumbing changes.
* Forgot that RELAY connections need extra parameters.
 * Added proxyAddr, srcAddr and Bandwidth parameters to connection attempts.
 * Completed UDP connection callouts from p3bitdht.
 * Added TCP connection attempt initiation from p3bitdht.
 * Added PASSIVE / ACTIVE determination in p3bitdht.
 * completed UDP connection logic in pqissludp.
 * enabled UDPSTUN_ALLOW_LOCALNET for testing.
 * added CONSTs for TOU Receiver Indices.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4446 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-14 14:56:33 +00:00
drbob
22debbce34 Turns out that the current implementation of p3NetMgr has NO dependancies on p3PeerMgrIMPL or p3LinkMgrIMPL.
Infact, it doesn't use these two classes at all (so you could pass void in the init function)...
  - It should actually update p3PeerMgr when it detects a Net Address change (TODO).

This means that there is potentially no need for a dummy object - p3NetMgrIMPL can be used almost as is!

 * changed p3PeerMgrIMPL & p3LinkMgrIMPL pointers back to p3PeerMgr and p3LinkMgr pointers.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4445 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-13 23:23:47 +00:00
drbob
387db6e7b6 Done most of the piping/callback between the DHT and LinkMgr/NetMgr.
* Added ConnectionFeedback fn to NetAssistConnect & p3BitDht.
 * Added TYPE definitions to pqiassist.h
 * added extra parameters to p3LinkMgr::connectAttempt() (flags which will be used to pass DIRECT/PROXY/DIRECT + PASSIVE/ACTIVE)
 * Added callback from p3LinkMgr to NetMgr::netAssistStatusUpdate() => Dht::ConnectionFeedback.
 * updated peerConnectRequest to trigger either TCP attempt (first) or UDP connection.
 * updated parameters for p3LinkMgrIMPL::tryConnectUDP()
 * added p3LinkMgrIMPL::locked_ConnectAttempt_SpecificAddress() for DHT => TCP attempt.
 * added extra parameter to addAddressIfUnique... bool addFront =>  DHT attempts get pushed to front of Queue due to timing requirements.
 * added extra parameter (flags) to pqiperson::connect() - matches extra parameters to p3LinkMgr::connectAttempt().
 * added p3NetMgr::netAssistStatusUpdate()
 * added mConnectFlags to pqissludp



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4443 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-13 22:23:40 +00:00
drbob
8d5bde1b50 Added Virtual Interfaces for p3LinkMgr, p3NetMgr & p3PeerMgr.
Shifted real functionality to p3LinkMgrIMPL, p3NetMgrIMPL p3PeerMgrIMPL
This allows us to test most objects with dummy objects (i.e. no need for full AuthSSL/AuthGPG objects)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4441 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-13 14:22:25 +00:00
drbob
85d232ff4f * added DETERMINISTIC_SYMMETRIC NAT type to Connect Logic. (CBS_NETSTATE_EXCLUSIVENAT)
* added DETERMINISTIC_SYMMETRIC NAT to retroshare/rsconfig and NetStateBox.
 * added ExclusiveMode to udpStunner.
 * Tweaked UdpStunner ping logic.
 * added TCP_WAIT to Connect Logic.

NB: This stuff is still to be tested!



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4440 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-13 11:41:25 +00:00
drbob
6c5d5f6cc2 Integrated NetStateBox and Activated Stunners.
* Added tick() and setRefreshPeriod() to pqiAddrAssist
 * Fixed up NETSTATE #defines, all refer to retroshare/rsconfig.h
 * added #define => string translations for NETSTATEs
 * Added NetStateBox as an independent Network State determination (has no effect on existing code).
 * added slowTick() to p3NetMgr.
 * connected p3NetMgr::getNet... to NetStateBox.
 * piped network state into NetStateBox.
 * added p3NetMgr check for changes in NatType. (to update Stun Rate / Attach Mode (TODO))
 * added NetStateBox.reset()
 * tweaked lots of debugging.
 * added Default Stun Period (pass -1 to setRefreshPeriod()) 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4435 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-12 14:16:46 +00:00
drbob
c2a0309f05 Added RsConfig class which will in the future support most of the interface from rsinit.h & rsiface.h
* Moved rsnetwork.h => rsconfig.h
 * Implemented Network functions (call p3NetMgr) in RsConfig.
 * Implemented UserLevel (New/Basic/Casual/Power) Levels
 * added p3PeerMgr::haveOnceConnected() function, for UserLevel support.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4431 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-11 18:48:56 +00:00
drbob
96b4651b7c Updated flags to add additional NewsFeed Type: Security!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4428 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-11 15:52:29 +00:00
drbob
d643f168a0 Fixed up Adding / Removing Peers.
* added OthersList to p3linkmgr. this is important so we can send ACTIONS for removed Peers.
 * added missing mStatusChanged when adding Friend.
 * added printPeerLists to PeerMgr and LinkMgr.
 * tweaked debugging.
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4427 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-11 12:11:58 +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
81dc1d77b7 Cleaned up More debugging and started work on connections.
* switched off lots of debugging, and removed "common" messages, so we can focus on the actions.
 * Added extra debugging focused on the connections.
 * Removed "lastconnect" from p3LinkMgr.
 * added p3PeerMgr::updateLastConnect() fn, so this parameter will be stored.
 * added calls from p3LinkMgr at connect and disconnect.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4424 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-11 00:52:12 +00:00
drbob
f7ff55237e Bugfixes galore!
* Split p3bitdht_peers.cc debugging in two. Hid Id Translation debug (that code is fine)
 * Added initialisation of p3bitdht peer data structure (using values from peernet).
 * Added BITDHT_QFLAGS_UPDATES flag.
 * Added Tick() interface to NetAssistConnect  interface, tick it from p3NetMgr.
 * FIXED OLD BUG: netAssistFriend was not being called from p3LinkMgr::connectResult() this meant all peers where being searched for.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4423 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-10 19:50:12 +00:00
drbob
b2e25680ac General debugging:
* Improved debugging messages for p3linkmgr & p3netmgr, switched on debugging.
 * added ids to p3bitdht peers.
 * added datatypes to RsDht peers data structure, and translate the data.
 * add const to PeerConnectStateBox::connectState().
 * cleaned up p3LinkMgr::locked_ConnectAttempt_AddDynDNS() a bit.
 * filled in friend data types in p3LinkMgr (allows connections now!)
 * added printConnectState() in p3LinkMgr



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4421 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-10 18:19:46 +00:00
drbob
59abce2d48 Added missing functions to get retroshare running again.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4420 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-10 01:49:39 +00:00
drbob
bbd11e69c1 Changes to libretroshare to get it to compile (still missing fns - so won't link yet!)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4419 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-10 00:41:39 +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
drbob
21487bfdf6 Splitting p3ConnectMgr into three parts:
* p3PeerMgr: handles configuration.
 * p3LinkMgr: handles connections to peers.
 * p3NetMgr: handles network state, and firewalls / dhts.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4411 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-09 09:36:37 +00:00
csoler
ccfbfa9984 Improvement of the plugin system:
- Added configuration saving for plugin manager and serialization methods
	- added a list of accepted plugin hashes
	- added plugin widget for each plugin in settings, to allow enabling/disabling plugins
	- updated LinkCloud plugin to new rsPlugin class
	- put the addconfiguration for plugin manager in rsinit.cc a bit earlier to allow to load 
		the list of accepted hashes early enough
	- added icon for disabled plugins



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4393 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-05 20:29:07 +00:00
thunder2
de87a89437 Added a name to the RsMutex class.
You can enable the debugging of the waiting time for a lock of RsMutex in rsthreads.h with
#define RSMUTEX_DEBUG 300
That means all locks waiting longer than 300ms are logged into the stderr.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4392 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-04 22:59:39 +00:00
thunder2
2a376253e0 Fixed compile with gpgme before 1.3.1.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4388 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-02 21:35:29 +00:00
csoler
e9853b655c added a signature add/remove button in connect wizard, only when gpgme-1.3.1 or greater is used, based on the availability of the GPGME_EXPORT_MODE_MINIMAL option.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4372 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-01 20:47:58 +00:00
thunder2
aab46a5295 Changed parameter of the methods of pqiNotify from "std::string" to "const std::string&"
Stops loading of a cache in p3GroupDistrib::loadFileMsgs on shutdown of RetroShare.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4363 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-29 22:54:44 +00:00
drbob
b683e663d6 Merged Changes /branches/v0.5-peernet/libretroshare/:r4237-4358
Major changes are:
 * Improvements to tcponudp library to allow multiple UdpStacks / ports, with alternative recievers.
 * Resurrected the UdpStunner code, and improved it.
 * Added UdpRelay code.
 * Modified startup code and ssludp code to use the new tcponudp and add a stunner.
 * fixed buggy rs_inet_ntoa
 * fixed a bunch of apple gcc warnings. mainly for(;;); => for(;;) ;

These changes shouldn't affect libretroshare stability... those changes will follow!




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4359 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-29 18:02:44 +00:00
drbob
d58f838269 Cleaned up formatting, and OSX zombie debugging
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4358 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-29 17:08:39 +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
chrisparker126
3455067373 moved authgpgtest.cc/.h back to src/pqi from test/pqi
removed test directory in src/pqi

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4323 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-22 23:33:43 +00:00
chrisparker126
f12d2c46bc moved authgpg fake module to tests folder
fixed ficachetest and fimontest 

makefile update for serialiser for previous revision


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4321 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-22 21:44:40 +00:00
csoler
a2c91a7924 - Added basic infrastructure to plugin system in libretroshare and retroshare-gui.
- ported LinksCloud to a new plugin, and removed it from main sources

Next moves:
- add gui for managing plugins
- handle windows compilation



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4275 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-16 21:59:26 +00:00
thunder2
72d9f352e3 Removed the difference of the separator for Linux and Windows.
Removed extra "/" of the filename (e.g. "E://") of the hashed file when sharing a whole drive.
Recompile of the gui needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4200 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-15 12:42:55 +00:00
chrisparker126
00c1bfcf54 fixed bug related to opening cache hist file in text mode for windows
added cleaning of cipher context to authssl encrypt decrypt functions 

added header to trustview which caused compilation error


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4199 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-15 12:01:23 +00:00
csoler
05ed2bec88 fast simplification of code in pqistreamer, and added a missing =null in p3service that could cause a bug
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4135 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-08 20:57:16 +00:00
thunder2
8f0793f071 Removed automatic cleaning of the certificate in p3Peers::loadDetailsFromStringCert.
Added new button in ConnectFriendWizard for cleaning the certificate.
Fixed cleaning:
- added blank line after the armor header
- moved the checksum to a new line
Recompile of the GUI needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4134 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-08 18:53:12 +00:00
thunder2
bc113326e4 Fixed problem with utf characters in the %APPDATA% path on Windows.
Added function for opening files on Windows and Linux - RsDirUtil::rs_fopen.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4124 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-03 23:11:38 +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
csoler
7049920f68 attempt to make GPG errors more verbose at cert exchange time
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4096 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-03-15 23:15:46 +00:00
thunder2
0a42b7899e The working (hashing) thread FileIndexMonitor is now stopped when RetroShare is closed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4072 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-03-03 23:30:08 +00:00
csoler
ebfe8b9828 disabled error msg from pqistreamer, as it is not an error in 99% of the cases it happens
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4051 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-02-23 19:32:51 +00:00
thunder2
4b8766aec3 Fixed compile on Windows and removed some compiler warnings.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4033 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-02-11 21:23:44 +00:00
csoler
081cfee461 made init port random, depending on the SSL id
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4026 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-02-09 20:21:28 +00:00
csoler
40f4009ca7 made the DNS calls in a separate thread, using new DNSResolver class. Added test program for that class as well. Moved extaddrfinder to util/
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3980 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-24 22:05:10 +00:00
csoler
107d904c22 added debug info to packet errormessage for devs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3977 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-23 14:35:43 +00:00
thunder2
42e32b9514 Fixed compile under Windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3975 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-23 12:37:42 +00:00
drbob
1f33bdc471 Fixed the OSX GPG bug!!!! Turns out that the gpg processes were not being cleaned up,
so RS ended up with 200+ zombie child processes. This prevented gpg from being called.
The fix was to add waitpid() calls to cleanup the zombies.

 * added cleanupZombies() to authgpg.cc (OSX only).
 * updated OSX gpgme libraries to 1.3.0 (added libassuan to RetroShare.pro).



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3974 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-23 11:57:09 +00:00
csoler
474aa31fd1 suppressed debug printfs and costly outputs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3967 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-20 17:25:30 +00:00
thunder2
f82a9a3c5f Faster processing of the gpg keys for discovery.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3959 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-09 12:31:41 +00:00
csoler
8de9d39cc0 Suppressed 4 memory leaks:
- authssl would call OPENSSL_malloc without OPENSSL_free
- pqistore was not deleting items in pqiSSLStore when BIN_FLAGS_NO_DELETE is not here
- rsdir/rsinit were calling opendir withoug closedir (which might eat FDs, in addition)
- udplayer was not freeing it's 16KB buffer at end of loop.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3948 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-01 20:37:10 +00:00
thunder2
312f23bd4e Used GPGME_VALIDITY_... constants in ConfCertDialog and NetworkDialog.
Changed the usage of RsPeerDetails.validLvl to RsPeerDetails.trustLvl for the display in the column "Did I authenticated peer" in NetworkDialog.
Added an icon to the MessageBox of the NotifySysMessage.
Fixed german language.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3926 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-21 21:13:08 +00:00
thunder2
35f91f5e07 Added some optimizations (const std::string&) to the load of the caches at startup and to the p3ConnectMgr.
Added PRE_TARGETDEPS in RetroShare.pro for Windows too.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3923 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-19 23:50:46 +00:00
chrisparker126
2f559dae96 removed channel delete feature
added optimisation suggestion with load/savelist

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3920 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-18 19:35:07 +00:00
csoler
98f471c56b added auto-remove of unused and dummy locations every 10 minutes (still keeping at least one location for each GPG key). Suppressed exchange of p3disc info for dummy locations.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3915 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-14 21:56:37 +00:00
csoler
1495758d45 allowed EXTAddrFinder service by default
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3914 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-13 22:34:22 +00:00
thunder2
38203704f0 Count the own gpg id as friend, when another location exists.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3896 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-05 00:20:11 +00:00
csoler
ad01becb1a restaured connexion to self GPG key with different location
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3888 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-30 22:02:18 +00:00
csoler
ac26433450 removed debug info and unused code
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3875 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-27 20:13:43 +00:00
csoler
4f80b2557e corrected a cross lock between p3ConnectMgr::connectResult() ->...-> UdpBitDht::removeFindNode() and bdNodeManager::iteration() ->...-> p3ConnectMgr::retryConnectUDP(), by making calls to netAssisFriend() off-mutex.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3874 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-27 20:00:26 +00:00
drbob
cd33979729 I am an idiot... silly mistake in last checkin.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3862 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-23 20:04:14 +00:00
drbob
d9847e2622 Fixed deadlock between p3connmgr::mtx and libbitdht::mtx
* shifted dht stats call outside of p3connmgr's mtx.

NB: As Dht callback functions hold DHT lock, then lock p3ConnectMgr...
    we cannot have any opposite locks (p3connmgr, then DHT) or we have
    potential for a deadlock.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3861 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-23 19:32:19 +00:00
drbob
7203229126 Cleaned up Transfer debug, now that we've found the windows bug.
* new uniform #define DEBUG_TRANSFERS to switch on packet timings.
 * switched off by default.
 * enabled BinData printing again.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3785 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-13 11:46:17 +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
d649a27fd9 Added TRANSFER debug to pqistreamer.
* print packet size and time - when actually sending it.
 * print reason for stopping to read or send packets.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3780 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-11 23:59:04 +00:00
thunder2
c19c8b5532 Send RsDiscReply information of the connected friend to himself too, when there is only one ssl id available. The reason is, that the signers of the gpg key has to be transfered. The friend skips the own RsDiscReply informations, but imports the gpg key.
Reload all gpg keys in AuthGPGimpl::LoadCertificateFromString, when new signatures are added - not only the key was imported.
Changed parameters of RsPeers and AuthGPG from "std::string" to "const std::string&"

Recompile of the GUI needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3753 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-06 16:40:18 +00:00
thunder2
0e41211f3c Added new return codes to RsInit::InitRetroShare to know, what failed.
Show error box when gpg initialization failed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3744 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-03 22:54:34 +00:00
drbob
519075c70b Changes to get DHT On/Off working, and get DHT status working too:
* Plumbed stats through the the retroshare interface.
  * Also changed Channel store period back to 10 minutes.... (Reduce overall file count).
    	This must be done some time before the any changes are made to Channels periods.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3721 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-31 13:53:28 +00:00
drbob
644f2fcbcc Added Address Test Function to strip out bad connection attempts. Logic is:
- FAIL if too old.
  - FAIL if invalid address.
  - FAIL if on BannedIpList (=1.0.0.0)
  - ACCEPT if extAddress.
  - ACCEPT if !extAddress && sameNet(localAddr).
  - FAIL all the rest.

 * Test Results are printed if CONN_DEBUG is switched on.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3705 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-27 22:16:55 +00:00
thunder2
10aa75d2c6 Removed potential memory leak in AuthSSLimpl::encrypt/decrypt in case of an error.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3693 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-23 14:03:35 +00:00
thunder2
3a60e8cecb Added service functionality to AuthGPG for load and save of certificates in the background (prepared for more when needed).
Added p3disc as service and process the certificats of RsDiscReply with AuthGPG service.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3669 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-13 16:15:26 +00:00
thunder2
c2c52a81ec Fixed crash on load of the config, when the first attempt loads some RsItem's but failed and the second attempt failed too. The loaded items are deleted twice, because the std::list of the loaded items is not clear'ed after the delete of the items of the first attempt.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3657 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-08 19:22:03 +00:00
thunder2
1207b5793b Changed p3Peers::getPeerCount to count also gpg id's only.
Show count of friends in MainWindow, not the count of locations.

Recompile of GUI needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3653 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-08 12:03:25 +00:00
thunder2
f4bbd3e933 Limit the concurrent connection attempts in Windows XP. Its's only a hack.
Problem:
RetroShare connects to all ssl's at once. In Windows XP there is a build-in connection limit of concurrent incomplete connections.

Quote:
"The TCP/IP stack in Windows XP with Service Pack 2 (SP2) installed limits the number of concurrent, incomplete outbound TCP connection attempts. When the limit is reached, subsequent connection attempts are put in a queue and resolved at a fixed rate so that there are only a limited number of connections in the incomplete state."

This results in a high usage of the nonepaged pool and when it runs over the limit it results in the following error in the system log:
German:  "TCP/IP hat das Sicherheitslimit erreicht, das für die Anzahl gleichzeitiger TCP-Verbindungsversuche festgelegt wurde."
English: "TCP/IP has reached the security limit imposed on the number of concurrent (incomplete) TCP connect attempts."

After a longer runtime of RetroShare and a very high usage of the nonepaged pool all connections of all running programs are lost and no new connections can be made. At the end it can cause a blue screen.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3631 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-07 11:17:42 +00:00
csoler
a90f332a40 bug correction. Please do not use begin ( ) from returns of a function without const & s
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3612 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-05 15:46:08 +00:00
drbob
0ea899de29 * Added hack to remove DODGEY peers. (This should probably be moved to libbitdht).
* NOTE about how to correctly implement Peer filtering.
 * added peerConnectRequest() when PeerCallback(success) happens... starts UDP connection.
 * Split the p3conmgr::tryConnect() functions into sub functions.
 * added p3ConnMgr functions for UDP connections.
 * Added AddifUnique(conect_address), to ConnMgr, this should reduce the number of connection attempts, by removing dups.
 * Disabled bitdht in libretroshare.pro for the moment.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3605 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-04 21:42:31 +00:00
chrisparker126
fa6af9a1ca fixed channel edit problem and added some documentation for pqimonitor
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3596 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-03 21:48:19 +00:00
drbob
05e908df12 Changes to Integrate DHT... first tests appear successful.
* Added testing stuff to libretroshare.pro, enabled UDP again,
 * fixed NO_TCP #define in p3connmgr.cc
 * Added PeerStatus() call to p3bitdht.cc to start connect to DHT address.
 * HACK change to p3peers.cc to display DHT results.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3586 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-02 00:52:59 +00:00
thunder2
acf57ed3fd Removed read/write mutex from AuthGPGimpl and from the sources.
Added RsThread as base class to AuthGPGimpl and load all gpg keys every hour.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3571 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-30 19:05:43 +00:00
thunder2
d3fc7f3982 Reindroduce the read/write mutex for AuthGPG as mutex for the data member.
Added second mutex for the gpg engine.
Now the call to the gpg engine (for example AuthGPGimpl::LoadCertificateFromString) doesn't block the GUI.
The existing problem is still the call of AuthGPGimpl::storeAllKeys every minute before access the gpg data.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3555 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-28 22:30:57 +00:00
chrisparker126
22472209b7 enabled two pass load for new config saving. was mistakenly not enabled i.e. bug
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3543 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-27 21:42:44 +00:00
thunder2
077b2871f1 Groups for friends in PeersDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3523 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-22 22:37:57 +00:00
chrisparker126
8b1ffdb5d9 fixed transitioning of msg service config files from global signature format
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3522 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-21 22:02:35 +00:00
chrisparker126
52e0d2a095 added new individual config saving system
global signature file format will be converted


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3514 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-18 19:09:11 +00:00
thunder2
340982b996 p3ConnectMgr::connectResult
- added "mStatusChanged = true" on disconnect of a peer - the statusChange was not notified in time

MessengerWindow
- removed unused method updatePeersAvatar

Changes in status service:
- removed unused method statusAvailable
- new notifier for status change
- enabled the tick for receiving items
  - always up to date status map
  - no huge memory usage, if no list is visible who call getStatus and processed the received items
  - send notify on status change
- renamed getStatus to getStatusList and created a new method getStatus to get status of one peer
- fixed: send status directly after the connect of a peer

Now the frame around the avatar in private chat changes when the peer change the state.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3380 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-20 18:45:44 +00:00
thunder2
fa9ea81ad7 Changed some mutex around p3ConnectMgr::mOwnState. Please review.
Made getIPAddressFromString thread safe, just in case.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3374 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-16 07:29:51 +00:00
thunder2
8ef8174227 Optimized usage of getOwnId in p3ConnectMgr::loadList
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3371 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-15 12:48:09 +00:00
thunder2
efac8eec85 Removed compiler warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3369 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-14 14:17:49 +00:00
thunder2
c4167ba0ac Removed memory leak in cleanUpCertificate when the certificate can't be cleaned.
Switched from char* to std::string, because the char* is unnecessary and wasn't freed on some returns.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3368 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-14 11:51:15 +00:00
thunder2
7b4364035e Added missing break in AuthGPGimpl::VerifySignature
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3348 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-06 22:45:59 +00:00
leander-256
4bb4fc11e2 This intimidating patch renames libretroshare/src/rsiface/ to
libretroshare/src/retroshare/

All the relevant headers have been modified to reflect that change.

This allows installation of libretroshare on a system, headers will
be put in $WHEREVER/retroshare/ and we keep the ability to compile
against them, be it on the system or in the SVN tree.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-06 09:40:23 +00:00
thunder2
e69300ccdc Changed the values of ETIMEDOUT to 10060 like in pthread.h to prevent compiler warnings.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3341 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-04 11:27:16 +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
fcdd7ee113 Changes to integrate bitdht into libretroshare.
Mainly re-organising tcponudp... 
	tests->test area
	network->trash (uses libbitdht classes).
	new udp interfaces (udppeer + udpstunner)

Changes include:
	* p3bitdht: added "addReceiver() call, and more debugging. 
	* p3bitdht: added DO_IDLE flag so searches are continous.
	* p3bitdht/pqiassist: matched up Assist interface.
	* fixed pqiNetListener interface.
	* rsinit/p3connmgr: setup udp init
	* tcpstream: switched to new udp receiver.
	* added "blogs" switch in libretroshare.pro (was stopping compiling ;)
	* added "bitdht" switch in libretroshare.pro 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3323 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-31 18:14:10 +00:00
csoler
012808ea00 - Implemented CRC32 map traffic through direct downloads
- replaced the findItems() call into a hand-written search (this was causing a rare bug in displaying downloads)


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3318 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-29 21:07:07 +00:00
csoler
cee8600a93 - implemented bidirectional exchange of chunk maps for direct downloads, to allow showing proper completion of transfers from direct friends.
- moved the direction flag upward in the pipeline (ftDataSend instead of p3turtle)




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3313 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-25 19:04:31 +00:00
drbob
4157aff291 * Removed old DHT Code, removed other references too.
* Added interface class to bitDHT. (p3bitdht.h)
 * Added Optional section in libretroshare.pro



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3296 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-17 17:00:19 +00:00
chrisparker126
3291e61291 reimplemented encrypt/decrypt using openinit and sealinit envelope encryption of openssl
- to aid with portability into the future

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3291 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-14 21:27:26 +00:00
thunder2
04366bc279 fixed unlock of connMtx in p3ConnectMgr::netExtCheck
unlock was too early

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3288 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-13 14:03:05 +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
thunder2
c005f7d4a8 pqinetwork.cc: removed compiler warnings on windows, errors was fixed already
sslfns.h: test for existing function with #ifdef doesn't work, used OPENSSL_VERSION_NUMBER instead - please test

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3284 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-11 00:07:19 +00:00
drbob
9efe0b2e9e another windows bugfix.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3283 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 23:51:04 +00:00
drbob
fba4a1b4da Bugfix for windows compilation?
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3282 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 23:22:47 +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
0b298f6ca1 Fix p3ConnectMgr:;setExtAddress() bug... my fault.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3280 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 17:53:34 +00:00
thunder2
1a9d68b536 Fixed compile on Windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3255 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-05 11:37:07 +00:00
drbob
6a40e1b2f3 Switched p3distrib (forums) personal signatures from ssl to pgp.
* Changed calls from AuthSSL to AuthGPG and tested. looks like it works!
 * added extra connect addresses in p3connmgr (current[local/server]addr)
 * added mConnMgr->addFriend() call to pqissllistener to add unknown ssl certs.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3253 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 22:23:45 +00:00
drbob
8b2cb688a8 Restored p3disc functionality.
* Bugfix in correctly adding ipList.
 * restored setLocal/Ext calls from peer.
 * Added extra debugging in p3disc.
 * Cleaned up debugging in p3connmgr.
 * switched off debugging in rsdiscitems.
 * reorder ipList (most recent first).
 * removed DEBUG switches in libretroshare.pro



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3252 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 15:16:52 +00:00
drbob
6f219d4fef Bugfixes:
* Corrected mLocal -> mExt in ipset.cc
  * Added pqiipset_test
  * added both Ext and Local address to GUI display.
  * p3connmgr: Ip Addresses only updated if we connected (otherwise port is wrong).
  * p3connmgr: update external address when we get it.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3251 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 13:19:09 +00:00
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
3575f12240 Network REWORK
* Added separate classes to handle IpAddress History.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3245 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 10:15:56 +00:00
leander-256
fe46d7618a Prevent multiple instances from running on Unix systems.
Every call to RsInit::LoadCertificates() now creates a file:
~/.retroshare/xxxxxxxxxxxxxxxxxxxx/lock
which is then bound to a system lock (fcntl F_SETLK).

If the lock request fails, it means another instance is already
running with the same profile.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3241 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-01 20:30:36 +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
713d956882 NETWORK REWORK (cont)
* removing old tests and unused code.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3220 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 22:10:21 +00:00