Fixed interfaces for UPnP.
Some further tweaks to get TCP connections working again:
- hiddenNode issue in p3peers.cc
- fixed socklen_t for bind() and connect() calls.
- initialise addr to IPv4 for netmgr.
- change netAssist (Upnp) interfaces.
Still todo: tou address functions, test UDP functionality.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
In preparation for making RS support IPv6.
NB: This breaks the build of retroshare-gui, as the
sockaddr_storage_xxx fns are only defined as prototypes for now.
All the aux libraries like udp / stun / tcponudp / dht have still to be converted.
These changes will probably break various things and need to be tested thoroughly.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6735 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This provides ExternalPort + DHTKey to Client. To be used to find and connect - even if Dynamic IP address changes :)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6004 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
- 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 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
* 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
* Disabled lots of debugging.
* Disabled LOCAL test mode in udpstunner, rsinit
* Enabled BadPeer checking in bitdht.
* Restored normal timeout periods for connection attempts.
* Restored normal connection levels for dht status.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4779 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Improved Relay Status Output & print when checkRelay() is called.
* initialise timer variable (mMinuteTS) - was causing checkRelay to never be called.
* switched to 10 second calling of checkRelay().
* Increased RELAY lifetimes (x2). now GENERAL = 1 hr, so they can at least transfer 1 meg (minimum block size)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4777 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Modified UdpRelay handles the counting...
now each Relay Class has a bandwidth limit,
and you can drop down to a lower class - if your one is full.
This ensures that the desired bandwidth is kept, and allows more friends to use the relays.
* Added Interface in p3bitdht.
TODO: Test this stuff!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4728 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
* Added UdpStunner::dropStunPeer() code to remove bad peer from stun list.
* added calls to UdpStunner::dropStunPeer for BanLists going to/from DHT.
* added DEBUG_BANLIST_CONDENSE to remove unnecessary debug.
* Improved UdpStunner::status() print out of stunlist.
* Added extra check to throw away stun reports where remote_addr == reported ext_addr.
- This was causing peers to get the wrong IP addresses.
* Modified UdpStunner ExtAddr checks to make sure the IP addresses match.
* Changed BANLIST service Id to from Test ID to real ID.
NOTE: These are stop-gap methods to avoid the wrong Stun reports.
A more robust scheme must be implemented. I'd expect that it would
involve a strict initial check to establish your IP address...
(e.g. require 4 peers to confirm it, allowing for some fake entries)
After this we can have a weaker check ensuring IP address matches.
If we detect a likely REAL change of IP address - drop back to requiring
a strick check again.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4717 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
* 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
* switched off the TESTING PERIODS.
* added BASE PROXY wait time.
* Increased PEERNET_CONNECT_TIMEOUT to 120
* Prevented connection startup with Request underway (dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING)
* corrected calculation of Exclusive Delay (Target of MIN_DETERMINISTIC_SWITCH_PERIOD = 60 secs).
* don't do UDP Failed ConnectLogic update when connection was initiated remotely.
* Extended UdpRelay to allow flexible Bandwidth limits in the future.
* Added Timeout for Relays (30min for unknowns - 2hrs for friends).
* Extract bandwidth from UdpRelay, at installation.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4463 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
* tweaked time periods as these type of connections take longer.
* added NatHoleType() to ConnectStateBox logic - as its required for ProxyPort Determination.
* added ConnectStateBox::getNetState() so we can work out if in ExclusiveNat mode.
* added ExclusiveLock checks at Connection Initiation / Proxy Connection Auth & Connection Ends.
* added Simulation of Symmetric / Exclusive Nat to UdpStunner.
* exported ExclusiveProxyLock for GUI display.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4457 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* 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
* 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
* 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