With this commit IPv6-v3 surpass v0.6-IPv6-2 in term of features
obsoleting it.
p3BitDht handle gracefully unwanted non IPv4 addresses
rsUdpStack handle gracefully unwanted non IPv4 addresses
pqissludp handle gracefully unwanted non IPv4 addresses
Move single address limitation workaround from
p3discovery2::sendOwnContactInfo to better
place p3PeerMgrIMPL::UpdateOwnAddress this way local address list is
queried less often and only id there is some suggestion that it may
have changed (probably ir will not be called all the times there is a
changes in local network interfaces but is good enough)
Implement crossplatform rs_setsockopt to avoid too much ifdef around
Implement sockaddr_storage_copy to safely copy sockaddr_storage objects
/libretroshare/src/dht/connectstatebox.cc:394: warning: this statement
may fall through [-Wimplicit-fallthrough=]
if (mNextAttemptTS > now)
/libretroshare/src/dht/connectstatebox.cc:401: here
default:
/libretroshare/src/dht/connectstatebox.cc:406: warning: this statement
may fall through [-Wimplicit-fallthrough=]
if (mState != CSB_FAILED_WAIT)
/libretroshare/src/dht/connectstatebox.cc:414: here
case CSB_START:
/libretroshare/src/dht/connectstatebox.cc:530: warning: this statement
may fall through [-Wimplicit-fallthrough=]
if (mNextAttemptTS > now)
/libretroshare/src/dht/connectstatebox.cc:540: here
default:
/libretroshare/src/dht/connectstatebox.cc:543: warning: this statement
may fall through [-Wimplicit-fallthrough=]
if (mState != CSB_FAILED_WAIT)
/libretroshare/src/dht/connectstatebox.cc:551: here
case CSB_START:
the DHT and is not used to reject IPs yet (the DHT list is, even if DHT is desactivated).
Next steps: GUI with switch controls, exchange of IP ban lists between friends, handling IP ranges.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8297 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added check for banned IP from DHT at connection time
- added regular removal of banned IPs from friend IP lists
- increased time of banned IP storage to 1 week (previously 6 hours)
- added save for banned IPs to keep them after restart (in bdfilter.cc) to file bdfilter.txt (can be manually updated)
- changed mFiltered into a std::map for increased search efficiency
- added secondary check of cert ID at connection time.-This line, and those below, will be ignored--
M libretroshare/src/pqi/p3netmgr.cc
M libretroshare/src/pqi/pqimonitor.h
M libretroshare/src/pqi/p3peermgr.cc
M libretroshare/src/pqi/p3linkmgr.h
M libretroshare/src/pqi/pqissllistener.cc
M libretroshare/src/pqi/p3peermgr.h
M libretroshare/src/pqi/p3linkmgr.cc
M libretroshare/src/pqi/pqiperson.cc
M libretroshare/src/pqi/pqissl.cc
M libretroshare/src/rsserver/rsinit.cc
M libretroshare/src/dht/p3bitdht_relay.cc
M libretroshare/src/dht/p3bitdht.cc
M libretroshare/src/dht/p3bitdht.h
M libretroshare/src/retroshare/rsdht.h
M libbitdht/src/udp/udpbitdht.h
M libbitdht/src/udp/udpbitdht.cc
M libbitdht/src/bitdht/bdmanager.cc
M libbitdht/src/bitdht/bdmanager.h
M libbitdht/src/bitdht/bdnode.h
M libbitdht/src/bitdht/bdfilter.h
M libbitdht/src/bitdht/bdfilter.cc
M libbitdht/src/bitdht/bdnode.cc
M libbitdht/src/bitdht/bdstore.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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