- p3bwctrl.h/.cc & rsbwctrlitems.h/.cc
- New Interface in pqihandler to extract the data.
- New Interface in rsconfig to display in GUI.
- Added extra debugging in pqistreamer for catching big outqueues.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5241 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Fixed crash after the second call to RsInit::InitRetroShare when keyring does not exist.
The instance of AuthSSL was created twice and AuthGPG was deleted without stopping the thread. Stopped the AuthGPG thread on exit of RetroShare.
- Added the correct path to the keyring for Windows in RsInit::copyGnuPGKeyrings.
- Changed the detection of the portable version on Windows from the file "gpg.exe" to the file "portable".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5211 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Show "RetroShare" as sender of system messages to myself.
Added new quick view in MessagesDialog to filter system messages.
Changed RetroShare link in friend request message to certificate.
Added new subject image for the system messages (defnax).
Removed not used notify in message service.
Recompile needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5129 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
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
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
- 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
- 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
- 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
* 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
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
* 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
- 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
* 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
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
* 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
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
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
* 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
* 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
- 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
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
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
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
* 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
- 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
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
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
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
=> 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
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
* 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
* 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
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
* 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
* 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