Commit Graph

1437 Commits

Author SHA1 Message Date
G10h4ck
1480e6d0b5
Merge pull request #1644 from G10h4ck/broadcast_discovery_fingerprint
Send PGP fingerprint in broadcast discovery
2019-09-27 23:48:37 +02:00
Gioacchino Mazzurco
86957c9843
Fail gracefully when requesting membership on an unknown circle 2019-09-27 16:57:07 +02:00
Gioacchino Mazzurco
ce3e2a2c9d
Fixup missing parametersin circle creation 2019-09-27 14:19:20 +02:00
Gioacchino Mazzurco
a887d205e9
Relax RsEvent loop 2019-09-25 22:12:04 +02:00
Gioacchino Mazzurco
2aade543f3
Send PGP full fingerprint in broadcast discovery 2019-09-25 16:33:13 +02:00
Gioacchino Mazzurco
e411b7fb22
Clean some dust 2019-09-15 12:10:37 +02:00
Gioacchino Mazzurco
6862e642e8
Provide more usable method to create GXS circles
Fix some compiler warnings with out of definition default destructors
2019-09-14 20:58:04 +02:00
Gioacchino Mazzurco
c2cb63b40c
RsIdentity update own ids cache on creation 2019-09-12 12:02:24 +02:00
Gioacchino Mazzurco
9f04e1c9c2
Update udp-discovery-cpp and android openssl 2019-08-29 15:52:07 +02:00
G10h4ck
76dfa04bb5
Merge pull request #1621 from G10h4ck/jsonapi_async_crash_fix
Fix sporadic crash in JSON API async calls
2019-08-28 23:42:02 +02:00
Gioacchino Mazzurco
85ef0e0940
Protect p3BanList::isAddressAccepted with mutex
This method is called from other threads and apparently caused
  a sporadic crash caought on Android.
See retroshare://forum?name=Got%20crash%20on%20Android%20with%20GDB%20backtrace&id=95de1451952d8c38cb1cdfdb85eed986&msgid=ac8c9d41f2cd0c9e8e290433c7f296fecb2d62b3
2019-08-28 23:29:41 +02:00
Gioacchino Mazzurco
9b8d0afacb
Fix sporadic crash in JSON API async calls
In Restbed one is not supposed to call session->yield outside the
  threads controlled by Restbed. RetroShare JSON API async call were
  calling session->yield from threads controlled by RetroShare all the
  times, this caused crashes in some cases, like when the JSON API
  socket timed out concurrently with the session->yield call .
  To solve this problem session->yield from async
  calls are now wrapped insto mService->schedule to ensure they are
  executed on the right thread (aka one of the threads controlled by
  Restbed).
While solving this issue I realized also that passing RsEvents as const
  references around was quite limiting in cases where the event need to
  be finally handled in another thread, in that case passing by const
  reference the RsEvent needed to be copied by value into the thread
  that process it, in this copy by value process the information of
  which was the original specific type is lost, and then only the data
  and methods from general RsEvents are available, unless the handler
  does tricky stuff with type coercion etc. To solve this limitation
  pass the events as std::shared_ptr<const RsEvent> seems the safer and
  more elegant solution.
2019-08-27 11:59:38 +02:00
G10h4ck
5dc340d884
Merge pull request #1609 from G10h4ck/forum_jsonapi
Implement GXS forum reasonable JSON API
2019-08-21 13:28:01 +02:00
G10h4ck
420f5f3271
Merge pull request #1581 from G10h4ck/rsidentity_jsonapi
Improve rsidentity JSON API
2019-08-06 13:20:36 +02:00
Gioacchino Mazzurco
8cc87f6887
Fix licensing and some comments 2019-08-06 13:12:49 +02:00
G10h4ck
8828e47ec2
Merge pull request #1608 from G10h4ck/channels_comment_jsonapi
Expose channel comment editing capability in JSON API
2019-08-06 12:51:58 +02:00
Gioacchino Mazzurco
354739fa0f
Expose JSON API for ExtraFiles management 2019-08-01 15:35:55 +02:00
Gioacchino Mazzurco
eff133b564
Implement GXS forum reasonable JSON API
Remove misleading comments around, and add some TODO of things we should
  fix at some point
2019-08-01 11:37:37 +02:00
Gioacchino Mazzurco
ddde80ddff
Expose comment editing capability in JSON API 2019-07-30 18:56:55 +02:00
Gioacchino Mazzurco
38a802e428
Implement API to create signed GXS identities 2019-07-29 10:49:05 +02:00
Gioacchino Mazzurco
08604774d3
Add rsidentity API call to request specific identity to the network 2019-07-29 10:46:38 +02:00
Gioacchino Mazzurco
cc8300a098
Workaround JSON API opacity of RsTlv*Set in RsGxsForumGroup
JSON API user would bet an unusable base64 blob due to RsTlv opaque JSON
  serialization, this way the content of the set is serialized plainly
  so it is usable through JSON API, without breaking binary
  serialization compatibility.

We must stop using those RsTlv derived items.
2019-07-25 14:14:42 +02:00
Gioacchino Mazzurco
d9979ca183
Fix RsIdentity API to get own identities 2019-07-19 13:54:46 +02:00
Gioacchino Mazzurco
f2fb0d7cfc
Remove PGP fingerprint from broadcast discovery
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
2019-05-17 12:07:52 +02:00
Gioacchino Mazzurco
fb4be22f0e
Prepare RsBanList for JSON API support 2019-05-14 23:01:06 +02:00
csoler
0a541667a3
Merge pull request #1555 from G10h4ck/purge_deadcode
Purge deadcode
2019-05-06 23:16:05 +02:00
csoler
cc47ee72f5
Merge pull request #1554 from G10h4ck/rsgossipdiscovery
Gossip discovery refinement
2019-05-06 22:59:34 +02:00
csoler
678fed7450
enable IP filtering by default 2019-05-04 16:03:47 +02:00
Gioacchino Mazzurco
de0dd63e3f
Remove a bunch of deadcode
RsSerializable already provide std::ostream &operator<<
Add deprecation notice for RsNotify
2019-05-03 16:55:57 +02:00
Gioacchino Mazzurco
b1285a5de7
Gossip discovery refinement
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
2019-05-03 16:54:16 +02:00
Gioacchino Mazzurco
8e4f1f8876
Merge commit 'f6607b5ceca462520ef8e040ba76984c8d1eee4f' into brodcast_discovery 2019-05-03 16:44:38 +02:00
Gioacchino Mazzurco
e118b4dbf8
Fix typo in PGP fingerprint type 2019-05-03 16:17:11 +02:00
Gioacchino Mazzurco
f6607b5cec
Broadcast discovery finer event emission
Emit new potential friend event only on actual change, and only if the peer is not friend yet
2019-05-02 10:40:19 +02:00
G10h4ck
9a7ce1ae72
Merge pull request #1520 from G10h4ck/broadcast_discovery
Broadcast Domain friends IP:Port Discovery
2019-04-23 17:18:54 +02:00
G10h4ck
9102a698e4
Merge branch 'master' into Fix_ClangWarnings 2019-04-23 12:45:33 +02:00
csoler
bc8adb74c4
Merge pull request #1502 from defnax/added-group-icons-for-posted-links
Added group icons for posted links
2019-04-18 21:56:07 +02:00
Gioacchino Mazzurco
fcb2875312
Fix a couple of clang warnings 2019-04-16 17:21:37 +02:00
Gioacchino Mazzurco
c727190041
Remove extra debugging in Broadcast Discovery 2019-04-16 15:17:29 +02:00
Gioacchino Mazzurco
5554f799c0
Add some info about shared_ptr to weak_ptr future refactor 2019-04-15 10:37:21 +02:00
Gioacchino Mazzurco
a5cdee6078
Fix compilation on Windows 2019-04-15 01:04:44 +02:00
Gioacchino Mazzurco
7dab487bde
Implement a JSON API friendly notification system
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.
2019-04-15 00:31:49 +02:00
Gioacchino Mazzurco
954644ef57
Broadcast discovery fix local port setting 2019-04-15 00:05:40 +02:00
Gioacchino Mazzurco
e7a2cb5501
Fix licensing in broadcast discovery and JSON API 2019-04-14 12:34:01 +02:00
Gioacchino Mazzurco
4d703b9df9
Increase waitToken interval for channel creation
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.
2019-04-12 22:14:16 +02:00
Gioacchino Mazzurco
944fc42c69
Broadcast discovery improve debug message 2019-04-12 20:38:17 +02:00
Gioacchino Mazzurco
7eaa7d8c8c
Broadcast discovery act smarter when a friend is discovered 2019-04-12 20:18:08 +02:00
Gioacchino Mazzurco
7b38c1c75a
Initial work on Broadcast Domain Discovery
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
2019-04-12 02:53:39 +02:00
csoler
4c8851801f
fixed merging with pending modifications 2019-04-11 21:04:13 +02:00
Gioacchino Mazzurco
ab80d9a374
Fix compilation, retrocompatibility and enums
Workaround miss-behaviour on old Android phones
Cleanup indentation a bit
Consistent param naming
Introduce default parameter values also for output paramethers
2019-04-05 01:43:23 +02:00
Phenom
4bf5bc1274 Fix clang warnings for
../../../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]
                       ^
2019-04-04 21:06:01 +02:00
csoler
44c1f1580f
added other clean API entries for channel: createComment(), createVote() and createPost() 2019-03-31 22:11:09 +02:00
csoler
e0af46eb85
added new method to create a channel with more explicit parameters and JSon API for it 2019-03-30 22:53:14 +01:00
csoler
d2c15c2d9e
fixed merge upstream/master 2019-03-24 20:59:23 +01:00
G10h4ck
f4e13975b0
Merge pull request #1478 from G10h4ck/jsonapi
extend JSON API to identities, circles and reputation
2019-03-23 09:11:05 -03:00
defnax
b6c7afe989 Added for posted links group icons 2019-03-22 11:13:07 +01:00
defnax
2233af4702
Merge branch 'Attach-picture-for-Posted-links' into master 2019-03-20 11:01:21 +01:00
csoler
b5b2c430c5
fixed QuickView filtering system 2019-03-12 14:17:42 +01:00
Gioacchino Mazzurco
9e70aa0a98
Fix compile error on OSX 2019-02-16 17:09:35 -03:00
Gioacchino Mazzurco
a6e8a27fc0
Add RsReputations JSON API 2019-02-16 11:41:31 -03:00
Gioacchino Mazzurco
ea7773f86d
Refactor RsReputations for compatibility with JSON API 2019-02-15 15:29:36 -03:00
Gioacchino Mazzurco
598521d1ac
Implement JSON API for circles 2019-02-14 18:52:35 -03:00
Phenom
78e8758b9e Fix Warnings for 'p3PhotoService::msgsChanged' hides overloaded virtual
function

In file included from ../../../trunk/libretroshare/src/rsserver/
rsinit.cc:769:
../../../trunk/libretroshare/src/services/p3photoservice.h:59:10:
warning: 'p3PhotoService::msgsChanged' hides overloaded virtual function
[-Woverloaded-virtual]
    void msgsChanged(std::map<RsGxsGroupId,
         ^
../../../trunk/libretroshare/src/retroshare/rsphoto.h:206:18: note:
hidden overloaded virtual function 'RsPhoto::msgsChanged' declared here:
type mismatch at 1st parameter ('GxsMsgIdResult &' (aka
'map<t_RsGenericIdType<CERT_SIGN_LEN, false,
RS_GENERIC_ID_GXS_GROUP_ID_TYPE>, set<t_RsGenericIdType<SHA1_SIZE,
false, RS_GENERIC_ID_SHA1_ID_TYPE> > > &') vs 'std::map<RsGxsGroupId,
std::vector<RsGxsMessageId> > &' (aka
'map<t_RsGenericIdType<CERT_SIGN_LEN, false,
RS_GENERIC_ID_GXS_GROUP_ID_TYPE>, vector<t_RsGenericIdType<SHA1_SIZE,
false, RS_GENERIC_ID_SHA1_ID_TYPE> > > &'))
    virtual void msgsChanged(GxsMsgIdResult& msgs) = 0;
                 ^
2019-02-14 22:15:53 +01:00
Phenom
8806840989 Fix Warnings for 'RsGxsChannels::createComment' and
'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;
                     ^
2019-02-14 21:58:33 +01:00
G10h4ck
c4a0c18b18
Merge pull request #1317 from sehraf/pr_further_improve_fulltype
further conversion to new wrapper function
2019-02-13 22:21:17 -03:00
Gioacchino Mazzurco
6633e8bb28
Expose RsIdentity JSON API 2019-02-13 17:08:38 -03:00
defnax
7cf17569c5 Added attach picture for posted links 2019-01-30 14:33:50 +01:00
csoler
9017db4797
added identity creation time in IdDetails 2019-01-19 15:54:07 +01:00
csoler
3b6bac2d9b
added a "show author in People" function in mails 2019-01-03 22:20:00 +01:00
csoler
ca50944ddf
make only default opinion to be changed to positive for contacts (optionally) 2019-01-03 18:32:08 +01:00
csoler
8505561700
fixed bug causing all GXS ids to be added to contacts. Warning: IDs added to contacts by this bug need to be cleaned manually. 2019-01-02 00:20:53 +01:00
csoler
3770810238
added button (enabled by default) to automatically add IDs signed by friends as contacts 2018-12-24 10:13:27 +01:00
Gioacchino Mazzurco
d19531cfcc
Fix compilation of forum API 2018-12-16 17:40:47 +01:00
csoler
9ce573c3f5
Merge pull request #1415 from csoler/v0.6.5-ForumModel2
V0.6.5 forum model2
2018-12-16 14:34:14 +01:00
Gioacchino Mazzurco
7113eb7bfc
GxsChannels optimizable API 2018-12-12 21:35:31 +01:00
csoler
a114856b77
changed code to create msg data map using MsgMeta instead of full Msg and added the handles to request MsgMeta data in forums 2018-12-12 11:33:38 +01:00
csoler
8f9c9295b2
added proper timeout of 5 secs to all forum async-ed interactions 2018-12-11 22:06:45 +01:00
csoler
49dc9bcae2
increated timeout limit for retrieving forums 2018-12-02 22:49:16 +01:00
csoler
20b8bca801
worked on display of posts and selection in new forum model 2018-11-22 22:07:58 +01:00
Gioacchino Mazzurco
abec811d31
Forum API add missing subscribe method 2018-11-22 16:41:19 +01:00
csoler
a802e494f8
Merge pull request #1401 from G10h4ck/forum_api
0.6.5 Safer forum API
2018-11-20 21:45:45 +01:00
csoler
8c8ce53e4b
Merge pull request #1385 from G10h4ck/safer_api
0.6.5 Safer rsGxsChannel API
2018-11-20 21:44:40 +01:00
Gioacchino Mazzurco
2b58e3f461
RsGxsChannels local search support 2018-11-17 17:19:13 +01:00
Gioacchino Mazzurco
e311b28870
Complete channel API with comment and vote creation 2018-11-16 17:50:34 +01:00
Gioacchino Mazzurco
ba58eba34e
Complete API for forums
Add new blocking methods
Deprecate old unsafe methods
2018-11-16 17:03:25 +01:00
csoler
ddca91b0c9
moved some files to unfinished and deleted soem unused files 2018-11-11 14:24:48 +01:00
Gioacchino Mazzurco
8b8ad3bce5
Forum API for creation and posting
Deprecate old functions that expose internal functioning
2018-11-10 16:30:35 +01:00
Gioacchino Mazzurco
1d110600fc
Minor cleanups in GxsChannels 2018-11-10 16:29:39 +01:00
Gioacchino Mazzurco
90bacf12bd
RsGxsDataAccess filtered getters do not return all messages if none matches
This was causing scary error message in RsGxsChannels with autodoanload
  enabled, when all messages where already processed none matched the
  filter so all messages where returned,
  making p3GxsChannels::handleUnprocessedPost furious
  more details into this forum post
  retroshare://forum?name=Scary%20message%2C%20but%20which%20doesn%27t%20seem%20to%20be%20the%20source%20of%20the%20problems%20Was%3A%20More%20GXS%20strange%20messages&id=8fd22bd8f99754461e7ba1ca8a727995&msgid=04f10ff97f761c6840c33f1610cb050f0f73da8d
2018-11-09 23:46:21 +01:00
Gioacchino Mazzurco
2ed6904d06
gxschannels better debugging message 2018-11-09 12:41:09 +01:00
Gioacchino Mazzurco
ea86fe2615
Safer RsGxsChannel API
Deprecated old method which exposed interna async mechanism to the API
  users, making their and out life difficult
Things that really need to be async like turtle search/requests now accept
  callbacks, so the caller can be notified everytime some result is got
  back
Implement RsThread::async commodity wrapper to execute blocking API
  calls without blocking the caller, this could be optimized
  trasparently using a thread pool if necessary
Added hints into some retroshare-gui files on how to use RsThread::async
  thoghether with QMetaObject::invokeMethod and blocking RetroShare API
  to simplyfy interaction between GUI and libretroshare
2018-11-09 12:41:08 +01:00
Gioacchino Mazzurco
8fd22c8fd1
Safer rsGxsChannel API
Protect data members with mutexes
Print messages when errors happens
2018-11-09 12:41:08 +01:00
csoler
cfe95a57a0
Merge pull request #1377 from G10h4ck/jsonapi
GXS deep search notify results also of already known groups
2018-10-20 14:47:37 +02:00
Gioacchino Mazzurco
2d497d7303
Fix compilation with deep search and rm dead code 2018-10-20 14:07:39 +02:00
Gioacchino Mazzurco
5699d81ae7
GXS deep search notify results also of known groups 2018-10-20 13:48:16 +02:00
csoler
9b4c48c540
created a connexion between token and meta data of created posts and grps 2018-10-16 22:40:27 +02:00
G10h4ck
03cdd6c7b6
Merge pull request #1363 from G10h4ck/jsonapi
New cross-platform target retroshare-service
2018-10-16 16:06:09 +02:00
sehraf
e6febe0297
remove debug output 2018-10-12 18:20:55 +02:00
G10h4ck
047ae7f723
Merge branch 'master' into jsonapi 2018-10-10 22:23:28 +02:00
csoler
18eee374f1
Merge pull request #1361 from sehraf/pr_jsonfy-rsMsg
[jsonapi] add most remaining functions of rsMsg
2018-10-10 22:04:32 +02:00
Gioacchino Mazzurco
321fc8a8d4
Implement mostly decent JSON API for channels and post creation
Now the possible id of the cannel/post is returned and channel/post is
indexed on creation without having to wait for gxsutil scan to happen

Note that the id is correct in normal usage, but if one try to overload
the API per eventually get the id of another channel/post with same data
but created by a different call, it is not dangerous so one trying to
overload the API is just getting a possibly wrong but equivalent
channel/post id returned.
2018-10-10 06:40:56 +02:00
Gioacchino Mazzurco
329050a9c2
Use safer rstime_t instead of time_t
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.
2018-10-07 13:07:06 +02:00
Gioacchino Mazzurco
321d2e84bd
gxschannel expose blocking create post and channels API 2018-10-04 23:36:01 +02:00
sehraf
150af40e09
jsonapi: convert and add getMessageCount 2018-10-04 22:43:12 +02:00
csoler
81fc3b7921
select GxsIds as default list to chose msg destination from 2018-10-03 15:25:53 +02:00
csoler
7ab7c7db93
added possibility to remove extra shared file 2018-09-27 16:53:08 +02:00
Gioacchino Mazzurco
92f90178c4
RS version is now parametrizable at compile time
Avoid the need of dirty patching to set the version at build time
In case RS version is not passed as argument attempt to determine it
  using git describe, if unavailable use hardcoded default
2018-09-12 10:49:36 +02:00
csoler
b138263878
Merge pull request #1323 from csoler/v0.6-ForumAdmin
V0.6 forum admin
2018-09-11 15:17:33 +02:00
csoler
c17b821ea6
Merge pull request #1334 from csoler/v0.6-GxsFix
auto send of own signed GXS ids to friends in discovery
2018-09-10 20:39:29 +02:00
csoler
2b80c23f6a
fixed according to comments on PR 1334 2018-09-10 20:03:47 +02:00
sehraf
247c368279
incorporated requested changes 2018-09-09 22:22:55 +02:00
csoler
59a76a9418
fixed checking of signature for own ids when loading in cache 2018-09-09 21:22:08 +02:00
sehraf
9306d8ccc8
drop deprecated function 2018-09-08 08:58:42 +02:00
sehraf
ae14a01d58
add json support to getWaitingDiscCount 2018-09-07 14:19:06 +02:00
csoler
3402f7d9b5
auto send of own signed GXS ids to friends in discovery 2018-09-06 21:15:25 +02:00
csoler
59535eac8a
added a flag for moderating messages to help removign them when the author is not a moderator anymore 2018-09-02 17:07:40 +02:00
Gioacchino Mazzurco
4b6f751b09
Implement JSON API generation for async API calls
Move JSON helpers to util/rsjson.* for better usability
Implement JSON ostream manipulator to print compact and pretty JSON
Use lambdas for API wrappers, integrate better and avoid namespace
  pollution
Removed experimental JSON API for notify client wrapper, notifications
  can be implemented automatically with moderns async API calls
Implement and automatically expose to JSON API
  RsGxsChannels::turtleSearchRequest(
        const std::string& matchString,
        const std::function<void (const RsGxsGroupSummary&)>& multiCallback,
        std::time_t maxWait )
2018-08-16 23:48:21 +02:00
sehraf
a556965813
further conversion to new wrapper function 2018-08-03 20:19:10 +02:00
Gioacchino Mazzurco
130007b578
Merge branch 'master' into jsonapi 2018-07-23 13:44:01 +02:00
Gioacchino Mazzurco
f97dc8a125
Properly plug deep search in GXS search
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
2018-07-22 21:33:40 +02:00
csoler
2bab688dec
fixed merge with upstream/master 2018-07-19 23:22:24 +02:00
csoler
b8062f2e21
Merge pull request #1294 from csoler/v0.6-GXS-DistSync3-TurtleSearch
V0.6 gxs dist sync3 turtle search
2018-07-19 22:59:43 +02:00
csoler
6848a586f3
merged upstream/master 2018-07-08 21:17:48 +02:00
chelovechishko
b3dddeafdf add missing namespaces 2018-07-06 23:55:12 +09:00
csoler
00dfa0f3c2
added fallback for GXS GroupMessage UI to look into cached distant group data 2018-06-26 22:20:02 +02:00
Gioacchino Mazzurco
15f39129f1
Complete GxsChannels JSON API with blocking methods
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
2018-06-26 13:20:24 +02:00
Gioacchino Mazzurco
d731b665db
Expose tokenservice methods trough GxsIfaceHelper 2018-06-25 10:44:39 +02:00
Gioacchino Mazzurco
2f4b9b3e20
Convert to RsTokenService::GxsRequestStatus
Indicate GxsRequest status with an enum instead of uint_* that make the
  code less readable and more prone to errors
2018-06-24 23:24:52 +02:00
Gioacchino Mazzurco
b4d2ce82c1
RsTokenService use enum for request status 2018-06-24 18:56:48 +02:00
csoler
e351d7257e
added retrieval of search results in UI 2018-06-24 16:55:38 +02:00
csoler
5b9666855d
fixed merge with upstream 2018-06-22 23:38:31 +02:00
csoler
84699db744
changed std::vector into std::set in notification system, hence removing lots of std::find(std::vector::begin(),std::vector::end(),T), causing quadratic costs in multiple places. 2018-06-21 15:46:59 +02:00
csoler
3981bc8e3b
extended notification system to add distant search result notification 2018-06-21 13:48:57 +02:00
csoler
5cb48c27de
renamed a few constants of GXS notify system into more consistent values 2018-06-21 09:26:03 +02:00
csoler
79e676edbe
fixed re-load of GXS groups (forums/channels) when the read flag is changed 2018-06-18 22:27:05 +02:00
csoler
84194b6234
sereral fixes to GXS distant search 2018-06-16 22:39:35 +02:00
csoler
7a135c5c43
added quick and dirty turtle search for channels in Files search tab 2018-06-13 22:46:27 +02:00
csoler
7caf06b57d
added structures for generic turtle search and access functions in Gxs objects 2018-06-06 23:15:29 +02:00
csoler
b0f391d66f
fixed compilation and re-licensed zeroconf/ 2018-05-30 21:45:18 +02:00
csoler
b3853156ce
re-licensed services/ 2018-05-29 21:54:27 +02:00
csoler
28981b6c86
Merge pull request #1251 from PhenomRetroShare/Fix_Cppcheck(duplInheritedMember)InRsItem
Fix CppCheck duplInheritedMember warning in RsItem
2018-05-16 13:37:02 +02:00
G10h4ck
9f37b63e4d
Merge pull request #1264 from G10h4ck/channel_json_api_v2
Channel json api v2
2018-05-16 10:49:28 +02:00
Phenom
f39fd069b5 Fix CppCheck duplInheritedMember warning in RsItem
/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'.
2018-05-07 17:29:11 +02:00
csoler
8d5c013a17
added proper synchronization of GxsIds through tunnels of another service 2018-05-03 23:21:59 +02:00
csoler
ba0819f8d0
added additional debug info to test proper distant request of GXS ids 2018-05-01 15:17:41 +02:00
Gioacchino Mazzurco
be75e89ad2
Fix compialtion after merge 2018-04-27 20:55:38 +02:00
Gioacchino Mazzurco
f3ae61b462
Merge branch 'json_experiments' 2018-04-27 18:17:09 +02:00
Gioacchino Mazzurco
f4e110ed0e
p3Banlist fail gracefully if IPv6 address get into
Translate IPv4 mapped to plain IPv4 before processing
Fail gracefully if the address is IPv6
2018-04-26 11:04:05 +02:00
Gioacchino Mazzurco
8d1f1da242
Extend libresapi with minimal support for channels
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
2018-03-28 16:41:05 +02:00
Gioacchino Mazzurco
4a138e07b9
Implement IPv6 listening
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
2018-02-24 17:14:49 +01:00
Gioacchino Mazzurco
b3c7d195c8
Port pqissl to dual stack IPv6+IPv4
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
2018-02-24 14:29:56 +01:00
Gioacchino Mazzurco
2170313e42
Improve discovery
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
2018-02-24 14:29:56 +01:00
Gioacchino Mazzurco
8d5cd8afef
Increase size of list of ip shared via discovery2 2018-02-23 02:10:58 +01:00
Gioacchino Mazzurco
9dd1aef2b7
Discovery do not distribute addresses to hidden nodes
As there is no consensus in takde advantage of hidden nodes for
  discovery do not spread ip address to them
2018-02-23 02:10:58 +01:00
Gioacchino Mazzurco
e7facc122b
Prevent discovery to share local addresses if hidden
Do not query/share local addresses if hidden node as it would leak
  information about the location of the node
2018-02-23 02:10:58 +01:00
Gioacchino Mazzurco
4fa6bdc789
Improve discovery
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
2018-02-23 02:10:58 +01:00
csoler
8708dd9b94
fixed bug due to wrong service ID in serializer 2018-02-17 12:04:13 +01:00
csoler
d57f933109
added load/save of known channels to avoid re-displaying it in the NewsFeed after then have been deleted. 2018-02-16 23:51:43 +01:00
csoler
252626f5ec
added load/save of known forums to avoid re-displaying it in the NewsFeed after then have been deleted. 2018-02-16 23:24:01 +01:00
csoler
d0039241d3 replaced usleep() by rstime::rs_usleep() which accepts times >= 1 sec. Should fix problems on windows 2018-01-27 20:22:31 +01:00
Gioacchino Mazzurco
8b774595d7 Better usage of type traits
Don't need register types for serializationanymore
Don't need casting helpers for serialization
2018-01-27 17:57:33 +01:00
Gioacchino Mazzurco
13d4a2c916 Safer and elgant serial helper macros 2018-01-26 13:43:09 +01:00
Gioacchino Mazzurco
9d40d416f6 Better naming for serialization helper macro 2018-01-21 20:27:49 +01:00
Gioacchino Mazzurco
5cdc5aa58d Add automatic JSON serialization/deserialization
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
2018-01-16 03:31:03 +01:00
csoler
7cac367820 removed warnign about bad service string when the service string is actually empty 2018-01-14 22:39:50 +01:00
csoler
ab60f49820 prevent sending/receiving of IP addresses to/at hidden nodes 2018-01-03 18:37:43 +01:00
Phenom
2728880621 Fix CppCheck in p3postbase.cc
/libretroshare/src/services/p3postbase.cc:628: warning:
Cppcheck(invalidScanfArgType_int): %d in format string (no. 1) requires
'int *' but the argument type is 'unsigned int *'.
/libretroshare/src/services/p3postbase.cc:628: warning:
Cppcheck(invalidScanfArgType_int): %d in format string (no. 2) requires
'int *' but the argument type is 'unsigned int *'.
/libretroshare/src/services/p3postbase.cc:628: warning:
Cppcheck(invalidScanfArgType_int): %d in format string (no. 3) requires
'int *' but the argument type is 'unsigned int *'.
2017-11-07 21:59:58 +01:00
Phenom
d0eb40b08c Fix CppCheck in p3discovery2.cc
/libretroshare/src/services/p3discovery2.cc:916: warning:
Cppcheck(unreadVariable): Variable 'sit' is assigned a value that is
never used.
2017-11-07 21:59:34 +01:00
Phenom
7278f67073 Fix CppCheck in p3bwctrl.h
/libretroshare/src/services/p3bwctrl.h:77: warning:
Cppcheck(noExplicitConstructor): Class 'p3BandwidthControl' has a
constructor with 1 argument that is not explicit.
2017-11-07 21:59:04 +01:00
Phenom
9000f2e524 Fix CppCheck in p3i2pbob.h
/libretroshare/src/services/autoproxy/p3i2pbob.h:176: warning:
Cppcheck(noExplicitConstructor): Class 'p3I2pBob' has a constructor with
1 argument that is not explicit.
2017-11-07 21:58:30 +01:00
csoler
aa4c2090cf fixed formula to compute score based on up/dn votes in comments 2017-11-02 22:20:49 +01:00
Phenom
7f851f66be Fix Gcc Warning in p3banlist 2017-09-28 19:24:26 +02:00
Gioacchino Mazzurco
2b71a049eb Use proper initializers in p3BanList 2017-09-17 15:36:06 +02:00
csoler
286e7e0b1a Merge pull request #961 from csoler/v0.6.3
V0.6.3
2017-07-26 14:01:28 +02:00
csoler
bcaafc241d improved template class naming for temporary Gxs grp data structures 2017-07-24 14:29:30 +02:00
Phenom
8ce10ea6a8 Fix past commit for p3idservice.cc 2017-07-21 15:31:53 +02:00
Phenom
e5767431e6 Fix CppCheck Error in p3idservice.cc
/libretroshare/src/services/p3idservice.cc:1216: error:
Cppcheck(eraseDereference): Iterator 'it' used after element has been
erased.
/libretroshare/src/services/p3idservice.cc:1346: error:
Cppcheck(eraseDereference): Iterator 'it' used after element has been
erased.
/libretroshare/src/services/p3idservice.cc:448: error:
Cppcheck(uninitvar): Uninitialized variable: max_keep_time
2017-07-21 14:57:43 +02:00
Phenom
91c526f2b5 Fix clang warning: 'p3MsgService' defined as a struct here but
previously declared as a class

/libretroshare/src/services/p3msgservice.h:58: warning: 'p3MsgService'
defined as a struct here but previously declared as a class [-
Wmismatched-tags]
struct p3MsgService :
/libretroshare/src/rsserver/p3msgs.h:32: did you mean struct here?
class p3MsgService;
2017-07-17 22:32:07 +02:00
Phenom
26397d7e4d Fix clang warning: unused variables 'LOWER_LIMIT', ...
/libretroshare/src/services/p3gxsreputation.cc:130: warning: unused
variable 'LOWER_LIMIT' [-Wunused-const-variable]
static const uint32_t LOWER_LIMIT                         = 0;        //
used to filter valid Opinion values from serialized data
/libretroshare/src/services/p3gxsreputation.cc:132: warning: unused
variable 'kMaximumPeerAge' [-Wunused-const-variable]
static const int      kMaximumPeerAge                     = 180;      //
half a year.
/libretroshare/src/services/p3gxsreputation.cc:135: warning: unused
variable 'ACTIVE_FRIENDS_ONLINE_DELAY' [-Wunused-const-variable]
static const int      ACTIVE_FRIENDS_ONLINE_DELAY         = 86400*7 ; //
1 week.
/libretroshare/src/services/p3gxsreputation.cc:138: warning: unused
variable 'REPUTATION_ASSESSMENT_THRESHOLD_X1' [-Wunused-const-variable]
static const float    REPUTATION_ASSESSMENT_THRESHOLD_X1  = 0.5f ;    //
reputation under which the peer gets killed. Warning there's a 1 shift
with what's shown in GUI. Be careful.
/libretroshare/src/services/p3gxsreputation.cc:139: warning: unused
variable 'PGP_AUTO_BAN_THRESHOLD_DEFAULT' [-Wunused-const-variable]
static const uint32_t PGP_AUTO_BAN_THRESHOLD_DEFAULT      = 2 ;       //
above this, auto ban any GXS id signed by this node
/libretroshare/src/gxstunnel/p3gxstunnel.cc:62: warning: unused variable
'INTERVAL_BETWEEN_DEBUG_DUMP' [-Wunused-const-variable]
static const uint32_t INTERVAL_BETWEEN_DEBUG_DUMP        = 10 ;
2017-07-16 21:37:22 +02:00
Gioacchino Mazzurco
b935bacd99 Add missing break in p3IdService::handleResponse 2017-07-06 16:28:00 +02:00
csoler
f37ba83c07 moved msg keep period settings to netService and made the initialisation obei the default settings of the service 2017-06-28 23:12:33 +02:00
csoler
43dcddce67 Merge pull request #880 from PhenomRetroShare/Add_GxsCircleNotify
Add Circle Feed Item.
2017-06-16 12:37:09 +02:00
sehraf
fe5ec8bda8 reduce BOB log level 2017-06-15 07:06:52 +02:00
Phenom
aa64c4d3c5 Add Circle Feed Item. 2017-06-11 16:16:41 +02:00
Gioacchino Mazzurco
59b77da6a2 Merge branch 'master' into qmlapp_pex_alpha 2017-05-31 12:11:15 +02:00
csoler
1ebcc6006b Merge pull request #861 from RetroShare/v0.6-GxsTransport
V0.6 gxs transport
2017-05-30 22:22:06 +02:00
Phenom
28119b5094 Fix Windows Compilation 2017-05-28 12:57:36 +02:00
csoler
eea63ac217 minor code cleaning in p3GxsTrans (struct->class for consistency, sendMail->sendData), added popularity+subscribed status display in statistics 2017-05-27 22:19:52 +02:00
sehraf
a3ee85a30d Add I2P BOB support to libretroashare and RetroShare GUI 2017-05-24 19:40:01 +02:00
csoler
c0c5cc52db Merge branch 'master' into gxs_mail_experiments 2017-05-13 21:08:16 +02:00
Gioacchino Mazzurco
ccaf4881a8 Merge branch 'master' into qmlapp_pex_alpha 2017-05-08 13:38:29 +02:00
Gioacchino Mazzurco
8f306346a4 Merge branch 'gxs_mail_experiments' into qmlapp_pex_alpha 2017-05-08 12:33:40 +02:00
Gioacchino Mazzurco
5159e326c7 Merge branch 'master' into gxs_mail_experiments 2017-05-05 15:44:22 +02:00
Phenom
d31b80c13a Fix Windows Compilation 2017-05-04 11:58:45 +02:00
csoler
f006146ee4 merged upstream/master 2017-05-02 22:41:01 +02:00
csoler
cecd9a3368 merged upstream/master 2017-04-30 20:14:23 +02:00
csoler
1159c863a2 moved wiki and wire items to rsitems/ 2017-04-29 21:50:55 +02:00
csoler
5cba0059c8 moved recognitems to rsitems/ 2017-04-28 23:32:47 +02:00
csoler
688813fbf5 moved photo items to rsitems/ 2017-04-28 18:51:35 +02:00
csoler
22e2416f3e moved rsserviceinfo items to rsitems/ 2017-04-28 17:47:41 +02:00
csoler
5995e508c5 moved rsstatusitem.h to rsitems/ 2017-04-27 21:24:27 +02:00