Avoid problems to serialization on different platforms, without breaking
nested STL containers serialization.
The conversion have been made with sed, and checked with grep, plus
kdiff3 visual ispection, plus rutime tests, so it should be fine.
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
Workaround RS single local address flawed assumption by spreading
all viables local addrresses via discovery
Spread addresses also through hidden node as they are the only hope
to help direct connection happening for common trusted nodes
behind nasty firewalls
This should solve APIPA address being always selected as preferred local
address on Windows which was causing problems connecting to machines on
the same local network.
Now the link local address is used as fallback only if there is non link
local private address available.
/libretroshare/src/pqi/p3netmgr.cc:926: warning:
Cppcheck(unreadVariable): Variable 'title' is assigned a value that is
never used.
/libretroshare/src/pqi/p3netmgr.cc:1808: warning:
Cppcheck(unreadVariable): Variable 'connectstr' is assigned a value that
is never used.
- 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
These split at 6672 -> 7075, so quite a bit merge.
libretroshare compiles - but untested.
retroshare-gui needs GenCertDialog.ui and IdEditDialog.ui to be properly merged. (compile errors).
some plugins will be broken.
retroshare-nogui is untested.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- the notification system is now a service, p3Notify, that is a public RsNotify.
- RsNotify does nothing except providing a registration system for new notify clients.
- Clients should derive a notify client from the NotifyClient class and register it to rsNotify
- all registered clients get all notifications, so only derive the needed methods. This should allow
plugins to get notifications as well.
- updated the code to call RsServer::notify()->[notification method] from inside libretroshare
- pqiNotify has been removed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- removed unused RsFileTransferCacheRequestItem and all related functions
- fixed bug in turtle router calling members of a deleted item
- removed some debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6789 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Split the visState into seperate vs_disc and vs_dht for easier handling.
Split the heartbeat system into a separate service.
Added IPv4 and IPv6 local/ext addresses into discovery & peer config.
Fixed up samenet and samesubnet ipv4 calls.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6773 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