Commit Graph

1278 Commits

Author SHA1 Message Date
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