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
- Tweaked query parameters (quicker discard, longer requery period).
The analysis suggests that in general the DHT is running okay with some minor issues.
- BitDHT peers respond to ~50% of FIND_NODE queries. This means we drop them,
and so some ONLINE friends, become UNREACHABLE friends.
This appears to be caused by too many FIND_NODE queries reaching BitDHT, and the
peer starts dropping them. This appears to come from specific peers, which
are not RS nodes. Proposed solution is to Track and Filter Over-Querying Peers.
(Only one query per peer every 30 seconds).
- Should be more lenient on the exact query matches.
Allow some dropped messages.
- Queries appear to run longer than necessary.
A better query completion criteria needs to be established.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6614 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- specify how long we store for.
- cleanup old msgs.
- improve printing of history.
- add timeline storage as well.
- disabled by default, enable USE_HISTORY in bdnode.c
There appears to be a bug related to copying bdId's around.
Some of the bootstrap ids are malformed, and this crashes rs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5724 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Updated DhtMode Flags.
- Allowed DhtMode Flags to be set independently.
- Set RelayMode to ConnectionManager.
- Added dropRelayServers() / pingRelayServers()
- Added Support fns for above two functions.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4729 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- At this level it takes significantly longer for the searches to complete, but
there are no DOS warnings on the router. This should hopefully make users happy.
* Added DhtMode() Interface call to dynamically change this rate.
- Can be switched between (HIGH: 50/sec, MED: 20/sec, LOW: 5/sec & TRICKLE: 3/sec)
* Disable additional Queries if PotentialPeer Queue gets too big.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4703 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added Knowledge of Friends, Friends of Friends and Relays.
- Added bdfriendlist class to store information.
- New interface function updateKnownPeer().
- includes IP addresses, if known. (for filtering)
Bad Peer Filtering.
- Check IDs against known peer IP addresses.
- Added checks in checkPotentialPeer().
- Added checks in addPeer().
- Running in TestMode at the moment (Bad Peers are only flagged).
Other Fixes:
- Removed some warning about int/uint comparisons.
- added bdSpace::flagpeer() fn to support above.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4680 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Bandwidth are for RELAY connections.
* Delays are for Exclusive NAT Proxy connections.
* Lots of changes to achieve this. (Mainly added "param" to msgs).
* Various Bugfixes too.
* Updated BITDHT Version to 01 as we've changed Message Format.
* Increased Connection Timeout to 180
* Added extra checks to kill duplicate connections early.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4462 b45a01b8-16f6-495d-af2f-9b41ad6348cc
There are many significant improvements to the DHT here.
See commit logs on v0.5-peernet branch for details.
This is not the final merge, but brings over the majority of expected v0.5-peernet/libbitdht changes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4354 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added maximum msg limits (20, 50, 100 msgs per sec). 50 = default.
* Priority send out pings, with 10% queries.
* switched bdquery list in bdnode to use pointers... so peers can be
easily reordered (queue for queries).
* Add all find peers, once dht initialised.
* Added reset if FINDSELF fails. (don't know if this is a good idea!)
* simplified DHT printouts. verbose versions are enabled with debug.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3686 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added bdHistory, to monitoring all the p2p dht messages (disabled normally)
* cleaned up all compile warnings on OSX.
* added Found timestamp to peer info.
* disable save, until store is close to full.
* ...?other stuff?
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3559 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* brought over tou_net / tou_error => bdnet for windoze compatibility.
* updated udplayer to inline with rs changes + win compatibility.
* removed unix only networking #includes, replaced with "util/bdnet.h"
* added subdirectory to #includes.
* made udpbitdht_nettest use a random node id.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3302 b45a01b8-16f6-495d-af2f-9b41ad6348cc
============================================================
This is intended to be a completely independent library from RS,
(hosted at sf.net/projects/bitdht) hence is being commited at the top level.
As initial further development / testing will be driven by RS integration
it is being added to the RS repository. Equally important is ensuring
that RS can compile without requiring aux libraries.
Once libbitdht is further developed, this section of the repository
is expected to be removed... But that will not be for a while, I expect.
drbob.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3276 b45a01b8-16f6-495d-af2f-9b41ad6348cc