Some modifications breaks retrocompatibility of GXS search:
remove horrible templated RsTypeSerializer::serial_process for
RsGxsGroupSummary with hardcoded member names
RsGxsGroupSummary doesn't use old TLV serialization format anymore
RsGxsGroupSummary remove unused description member
RsGxsGroupSummary derive from RsSerializable and use serialization
helper macro
Add autor id and signature flags to the index so there is no need to
retrive them from GXS, thus improving performances
RsGroupNetworkStats initialize members properly
RsGxsGroupSummary rename members to follow usual mMemberName convention
Implement a "normal" way to login RsLoginHelper::attemptLogin
Implement a way to get locations list RsLoginHelper::getLocations
Enable JSON API into retroshare-android-service
Thanks sehraf for reporting
retroshare://forum?name=fucking%20genius&id=8fd22bd8f99754461e7ba1ca8a727995&msgid=503d75bf7ed7fa7568eeae4db5c8d31a7e124c98
RsGxsIfaceHelper::requestStatus expose it to JSON API
Implemented RsGxsIfaceHelper::waitToken to wait for GXS operations
RsItem::serial_process fix doxygen warning as it's a comment not documentation
RsTypeSerializer add JSON conversion methods for double [de]serialization not
implemented yet
RsTypeSerializer_PRIVATE_{FROM,TO}_JSON_ARRAY fix doxygen warning as it's a
comment not documentation
make GxsChannels::ExtraFileHash a bit more reasonable
jsonapi-generator fix unused variable warning if there is no input or output
paramethers
jsonapi-generator fix generation for inerithed jsonapi methods
Convert to RsSerializable some Gxs structs for the JSON API
qmake file add jsonapi-generator target to compile JSON API generator
qmake files add rs_jsonapi CONFIG option to enable/disable JSON API at compile
time
RsTypeSerializer pass down same serialization flags when creating new context
for nested objects serial job
RsGxsChannels expose a few methods through JSON API as example
Derive a few GXS types (RsGxsChannelGroup, RsGxsChannelPost, RsGxsFile,
RsMsgMetaData) from RsSerializables so they can be used for the JSON API
Create RsGenericSerializer::SERIALIZATION_FLAG_YIELDING so JSON objects that
miss some fields can be still deserialized, this improve API usability
SerializeContext offer friendly constructor with default paramethers
Add restbed 4.6 library as git submodule as most systems doesn't have it yet
Add a bit of documentation about JSON API into jsonapi-generator/README.adoc
Add JsonApiServer class to expose the JSON API via HTTP protocol
Add WrongValue StyleSheet property, when bad directory selected.
Update QLineEdit with current setting so it's possible to see if
something is modified. No need to restart.
/libretroshare/src/rsitems/rsitem.h:92: warning:
Cppcheck(duplInheritedMember): The class 'RsPeerNetItem' defines member
variable with name 'peerId' also defined in its parent struct 'RsItem'.
/libretroshare/src/rsitems/rsitem.h:92: warning:
Cppcheck(duplInheritedMember): The class 'RsHistoryMsgItem' defines
member variable with name 'peerId' also defined in its parent struct
'RsItem'.
/libretroshare/src/rsitems/rsitem.h:91: warning:
Cppcheck(duplInheritedMember): The class 'RsBanListConfigItem' defines
member variable with name 'type' also defined in its parent struct
'RsItem'.
/libretroshare/src/rsitems/rsitem.h:92: warning:
Cppcheck(duplInheritedMember): The class 'RsBanListConfigItem' defines
member variable with name 'peerId' also defined in its parent struct
'RsItem'.
/libretroshare/src/ft/ftcontroller.cc:91: warning:
Cppcheck(passedByValue): Function parameter 'fname' should be passed by
reference.
/libretroshare/src/ft/ftcontroller.cc:92: warning:
Cppcheck(passedByValue): Function parameter 'tmppath' should be passed
by reference.
/libretroshare/src/ft/ftcontroller.cc:92: warning:
Cppcheck(passedByValue): Function parameter 'dest' should be passed by
reference.
/libretroshare/src/ft/ftcontroller.cc:1482: warning:
Cppcheck(stlIfStrFind): Inefficient usage of string::find() in
condition; string::compare() would be faster.
/libretroshare/src/ft/ftcontroller.cc:1491: warning:
Cppcheck(stlIfStrFind): Inefficient usage of string::find() in
condition; string::compare() would be faster.
Restructure and document retroshare.pri variables and helper functions
Link sqlite statically like other libraries on Android
qmake has multiple win32-* specs match them correctly
Move a buch of generic thing to retroshare.pri instead of having them replocated
accross project specific .pro
Fix retroshare-gui too many symbols exported on windows liking error by adding
QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL
Rename retroshare-gui/src/util/win32.h because the name is too prone to
confusion and build conflicts
libreasapi avoid usage of cretar_prl link_prl that seems unreliable on some
platforms
libreasapi rename LIBRESAPI_QT to more understendable LIBRESAPI_SETTINGS
Use use_*.pri instead of copy pasting error prone qmake snippets around
Expose bitdht option to retroshare.pri
Add RS_THREAD_LIB qmake variable for better crossplatform support
Move debug and profiling generic options to retroshare.pri (avoid copy/pasting)
Remove Qt script module in qmake as it is not available anymore
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