1393 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
7f2bfae104
Fix broadcast discovery in Android
On Android and potencially other mobile platforms, WiFi drivers are configured
  by default to discard any packet that is not directed to the unicast mac
  address of the interface, this way they could save some battery but breaks
  anything that is not unicast, such as broadcast discovery. To solve this
  problem On such platforms provide methods to handle low level multicast
  listening so we can receive advertisement from same broadcast domain nodes.
2019-10-25 18:08:50 +02:00
Gioacchino Mazzurco
48267eb659
Fix fingerprint assignation in broadcastdiscovery
This bug was causing null fingerprint reported on peer discovered by
  broadcastdicovery effectively rendering it unfunctional
2019-10-18 23:09:16 +02:00
Gioacchino Mazzurco
1b071d106f
Fix p3GxsChannels::createCommentV2 2019-10-07 18:37:44 +02:00
Gioacchino Mazzurco
db3aefcd0b
Improve error reporting in createChannelV2 2019-10-05 15:53:46 +02:00
csoler
b539ebe826
Merge pull request #1646 from G10h4ck/fixup_channels_api
Avoid crash when subscribeToChannel is fed with invalid channel id
2019-10-03 20:31:31 +02:00
Gioacchino Mazzurco
3b8f6997bb
Avoid crash when subscribeToChannel is fed with invaled channel id
Fix a couple compiler warning too
2019-09-28 00:12:56 +02:00
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