Due to a regression introduced in
dedfcb2b60 the local address was not
updated correctly causing part of RS networking being stuck and printing
lot of invalid sockaddr_storage messages, this commit fix the regression
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
Changed unix_connect signature to be more comfortable for dual stack
usage
Remove dead code in pqissl::pqissl(...)
Adapt p3I2pBob::connectI2P() to new unix_connect
Adapt extaddrfinder to new unix_connect
Add sockaddr_storage_ipv4_to_ipv6 to convert from flat IPv4 to IPv4
mapped as IPv6
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
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
/trunk/tests/unittests/libretroshare/gxs/nxs_test/nxsmsgsync_test.cc:28:
warning: deleting object of abstract class type ‘RsGixsReputation’ which
has non-virtual destructor will cause undefined behavior [-Wdelete-non-
virtual-dtor]
delete mRep ;
/trunk/tests/unittests/libretroshare/gxs/nxs_test/nxsmsgsync_test.cc:29:
warning: deleting object of abstract class type ‘RsGcxs’ which has non-
virtual destructor will cause undefined behavior [-Wdelete-non-virtual-
dtor]
delete mCircles;
/trunk/tests/unittests/libretroshare/gxs/nxs_test/nxsmsgsync_test.cc:30:
warning: deleting object of abstract class type ‘PgpAuxUtils’ which has
non-virtual destructor will cause undefined behavior [-Wdelete-non-
virtual-dtor]
delete mPgpUtils;
/tests/unittests/libretroshare/gxs/nxs_test/nxstesthub.cc:109: warning:
deleting object of polymorphic class type ‘NotifyWithPeerId’ which has
non-virtual destructor might cause undefined behavior [-Wdelete-non-
virtual-dtor]
delete *it ;
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.