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