Mails sent in the past end never received were lingering in the outgoing
queue forever as displayed by statistics. If a mail is older then
GXS_STORAGE_PERIOD all nodes delete it from the GXS group so it can
never arrive to destination, there is no point in keeping it in the
outgoing queue, instead notify sending timed out and delete the mail.
Sending PGP fingerprint trough broadcast discovery is misleading in
terms of security, as those packets cannot be trusted for PGP
fingerprint verification, removing it reduce packet size and reduce the
risc of wrong usage of untrusted information
The age check was causing some address were ignored during connect attempt,
this was disastrous expecially for sporadic users which completely
lost capability to connect to any node, even if the IPs neve changes!
Old addresses triagin is handled elsewhere so ignoring them in connect attempt
only generate very counter-intuitive situations for the user, as
addressed still listed in potential address list were never attempted.
Make reduntant auth check in pqi effective (even if redundant only
siganture was checked but friendess wasn't)
Evidence redundant auth check in pqi by putting it inside #ifdef this
way the beaviior being the same with and without redundat check can be
verified easier
Solve lot of compiler warnings and made code more readable
Remove dangerous sslcert wrapper
Remove misleading messeges and notification about peer not giving cert,
FailedCertificate logic is wrong since many years as authentication is
fully handled inside VerifyX509Callback
Rename from RsDisc to more descriptive RsGossipDiscovery
Keep full retrocompatibility suggesting usage of RsGossipDiscovery
Add capability to send and receive full RetroShare invitation
Emit event when receiving a full invitation
Start using new debug utilities
Use enum class instead of defines and constant where appropriate
Deprecate unsafe costructor, substituted by fromBufferUnsafe which explicitely
marked suggest the caller to pay attention.
Use enum class for id types instead of constants
Make size constants more private
Use internal Id_t alias to avoid huge template lines
Remove and deprecate oguly names in favor of consistent names
Deprecate costructors that may fails, offer alternative methods which
suggest correct usage to the programmer
Internally still use too much try,catch,throw but at least the API
dosn't expose those anymore.
Support for chaining like std::cerr
Support for compile-time optimization without #ifdef around
Support for Android native logging without depending on
AndroidStdIOCatcher workaround
Support for automatic timestamp (on Android it's provided by Android
native log)
Standardized messages categories
Because we don't support libupnp-1.8.x yet avoid using that library
If libupnp-1.6.x is available use that, if not try to use miniupnc if
if unavailble print a warning and disable RetroShare UPnP support
This should bit by bit substitute RsNotify which would be very difficult
to support properly in JSON API.
The new system is much simpler to use also from the C++ side of the
moon.
BroadcastDiscovery take advantage of the new system to notify about new
non friend peer discovered, tested successfully also in JSON API.
Creating GXS groups imply a bunch of crypto operations that require lot
of time expecially on embedded device, channel creation was reported
as failed while it was still pending.
Reduce too long lines.
Print API error messages also on std::cerr.
Discover peers on the same broadcast domain/LAN
Implements own node announcement
Implements others announcement listening
Implements API to get notifiend when other nodes get discovered
Implements API to get discovered nodes
Add discovered peer locator to rsPeers if it is already friend
Yet a bunch of things to do to take full advantage of this new
implementation
Workaround miss-behaviour on old Android phones
Cleanup indentation a bit
Consistent param naming
Introduce default parameter values also for output paramethers
In file included from ../../../trunk/libretroshare/src/gxs/rsgxsutil.cc:
26:
../../../trunk/libretroshare/src/gxs/rsgxsutil.h:217:16: warning:
private field 'mSerializer' is not used [-Wunused-private-field]
RsSerialType& mSerializer;
^
In file included from ../../../trunk/libretroshare/src/turtle/
p3turtle.cc:30:
In file included from ../../../trunk/libretroshare/src/rsserver/p3face.h:
38:
In file included from ../../../trunk/libretroshare/src/chat/
p3chatservice.h:30:
In file included from ../../../trunk/libretroshare/src/rsitems/
rsmsgitems.h:34:
In file included from ../../../trunk/libretroshare/src/grouter/
grouteritems.h:32:
In file included from ../../../trunk/libretroshare/src/grouter/
groutermatrix.h:29:
In file included from ../../../trunk/libretroshare/src/grouter/
groutertypes.h:28:
../../../trunk/libretroshare/src/turtle/p3turtle.h:447:8: warning:
private field '_force_digg_new_tunnels' is not used [-Wunused-private-
field]
bool _force_digg_new_tunnels ;
^
../../../trunk/libretroshare/src/services/autoproxy/
rsautoproxymonitor.cc:263:24: warning: pragma diagnostic pop could not
pop, no matching push [-Wunknown-pragmas]
^
../../../trunk/libretroshare/src/services/autoproxy/
rsautoproxymonitor.cc:295:24: warning: pragma diagnostic pop could not
pop, no matching push [-Wunknown-pragmas]
^
./../../trunk/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp:
723: warning: pragma diagnostic pop could not pop, no matching push [-
Wunknown-pragmas]
^
'RsGxsChannels::createVote' hides overloaded virtual function
In file included from temp/moc/moc_GxsChannelGroupItem.cpp:9:
In file included from temp/moc/../../../../../trunk/retroshare-gui/src/
gui/feeds/GxsChannelGroupItem.h:24:
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:116:15:
warning: 'RsGxsChannels::createComment' hides overloaded virtual
function [-Woverloaded-virtual]
virtual bool createComment(RsGxsComment& comment) = 0;
^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:172:15: note:
hidden overloaded virtual function 'RsGxsCommentService::createComment'
declared here: different number of parameters (2 vs 1)
virtual bool createComment(uint32_t &token, RsGxsComment
&comment) = 0;
^
In file included from temp/moc/moc_GxsChannelGroupItem.cpp:9:
In file included from temp/moc/../../../../../trunk/retroshare-gui/src/
gui/feeds/GxsChannelGroupItem.h:24:
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:132:15:
warning: 'RsGxsChannels::createVote' hides overloaded virtual function
[-Woverloaded-virtual]
virtual bool createVote(RsGxsVote& vote) = 0;
^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:173:15: note:
hidden overloaded virtual function 'RsGxsCommentService::createVote'
declared here: different number of parameters (2 vs 1)
virtual bool createVote(uint32_t &token, RsGxsVote &vote) = 0;
^
In file included from temp/moc/moc_GxsChannelPostItem.cpp:9:
In file included from temp/moc/../../../../../trunk/retroshare-gui/src/
gui/feeds/GxsChannelPostItem.h:26:
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:116:15:
warning: 'RsGxsChannels::createComment' hides overloaded virtual
function [-Woverloaded-virtual]
virtual bool createComment(RsGxsComment& comment) = 0;
^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:172:15: note:
hidden overloaded virtual function 'RsGxsCommentService::createComment'
declared here: different number of parameters (2 vs 1)
virtual bool createComment(uint32_t &token, RsGxsComment
&comment) = 0;
^
In file included from temp/moc/moc_GxsChannelPostItem.cpp:9:
In file included from temp/moc/../../../../../trunk/retroshare-gui/src/
gui/feeds/GxsChannelPostItem.h:26:
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:132:15:
warning: 'RsGxsChannels::createVote' hides overloaded virtual function
[-Woverloaded-virtual]
virtual bool createVote(RsGxsVote& vote) = 0;
^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:173:15: note:
hidden overloaded virtual function 'RsGxsCommentService::createVote'
declared here: different number of parameters (2 vs 1)
virtual bool createVote(uint32_t &token, RsGxsVote &vote) = 0;
^
virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/
8.2.1/../../../../include/c++/8.2.1/algorithm:62:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/
8.2.1/../../../../include/c++/8.2.1/bits/stl_algo.h:62:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/
8.2.1/../../../../include/c++/8.2.1/bits/stl_tempbuf.h:60:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:98:7: warning: destructor called on non-final
'xxx' that has virtual functions but non-virtual destructor [-Wdelete-
non-virtual-dtor]
{ __pointer->~_Tp(); }
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:108:11: note: in instantiation of function
template specialization 'std::_Destroy<xxx>' requested here
std::_Destroy(std::__addressof(*__first));
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:137:2: note: in instantiation of function
template specialization 'std::_Destroy_aux<false>::__destroy<xxx *>'
requested here
__destroy(__first, __last);
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:206:7: note: in instantiation of function
template specialization 'std::_Destroy<xxx *>' requested here
_Destroy(__first, __last);
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_vector.h:567:7: note: in instantiation of function
template specialization 'std::_Destroy<xxx *, xxx>' requested here
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
^
../../../trunk/libretroshare/src/retroshare/xxx:*:*: note: in
instantiation of member function 'std::vector<xxx, std::allocator<xxx>
>::~vector' requested here
Something():
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:98:19: note: qualify call to silence this
warning
{ __pointer->~_Tp(); }
^
In case an object was expected while another type was got RsSerializable
JSON deserialization code was crashing, this commit solve the crash in
this not so corner case