In case of hidden node the listen address was not properly converted to
ipv4 mapped format causing bind to fail
Use sockaddr_storage_copy instead of = as sockaddr_storage is not
guaranted to be copyable
The code is not elegant as this version of the API will be soon obsolete
but it offer a bunch of channels functionalities, comments and votes
are not implemented yet
/channels/list_channels get all visibile channels
/channels/get_channel get content of a subscribed channel
/channels/toggle_subscribe subscribe/unsubscribe to a channel
/channels/toggle_auto_download set/unset auto-download for files attached
to posts in a channel
/channels/toggle_read mark a post as read
/channels/create_channel create a new channel
/channels/create_post create a new post in given channel, group_id
paramenter renamed to channel_id for consistence
mChannels use reference instead of pointer as it must be valid
for the whole lifetime of the object
RsGxsCommentService and derivatives use proper types for parameter, avoid
reference when unneeded
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;
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.
Abstract serialization concept to pure virtaul class RsSerializable
from which every other serializable class must inherit from
Use RapidJSON for JSON manipulation
Add TO_JSON and FROM_JSON SerializeJob
Deprecate unused SerializationFormat
Remove some unused old piece of code
Adjust many lines to max 80 columns for better readability on little
screens
Clean up documentation and code, remove old cruft
Add copyright notice on edited files that miss it