Commit Graph

5517 Commits

Author SHA1 Message Date
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
csoler
90d0686e88
removed Qt from unix version of retroshare service. Enabled loging at start with option -u 2019-08-27 21:54:17 +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
csoler
a84a96e0b7
Merge pull request #1617 from G10h4ck/jsonapi_javascript_sixtyfour_integers
Implement workaround to JavaScript 53bit int issue
2019-08-26 19:08:05 +02:00
csoler
c28c193b7c
Merge pull request #1615 from csoler/v0.6-FriendList
V0.6 friend list
2019-08-26 19:07:11 +02:00
Gioacchino Mazzurco
202cee687e
Implement workaround to JavaScript 53bit int issue
JavaScript represents all numbers in a double like manner thus it
  treats 64 bit integers in an unsafe manner, to workaroud this problem
  provide an alternative strin representation in JSON serialization
  format so JavaScript clients can access the correct value someway.
As JSON have no probles with 64 bits integers keep supporting the integer
  representation too.
See https://stackoverflow.com/a/34989371
2019-08-23 13:41:46 +02:00
Gioacchino Mazzurco
98b9152204
Fix a couple compliler warnings in JSON API 2019-08-23 12:02:25 +02:00
Gioacchino Mazzurco
3820e324b0
Implement stracktrace for Android
Tested both on armeabi and arm64
2019-08-23 11:49:26 +02:00
Gioacchino Mazzurco
5381f58707
Fix missing call to RsEvent serialization in RsGxsChanges 2019-08-22 18:44:32 +02:00
csoler
15e43dce01
proper handling of peer connections notifications 2019-08-21 22:39:07 +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
csoler
6a62227dba
cleanup up the code in FriendList, and fixed bug causing own locations not to show 2019-08-20 14:57:44 +02:00
Gioacchino Mazzurco
adacbeb586
Add missing jsonapi mark on rsidentity method 2019-08-20 12:45:40 +02:00
jpascualsana
c5a1b1beff
Replace deprecated class name 2019-08-11 18:43:36 -05: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
G10h4ck
504dce15cd
Merge pull request #1610 from G10h4ck/extra_files_jsonapi
Expose JSON API for ExtraFiles management
2019-08-06 12:31:43 +02:00
G10h4ck
db24014070
Merge pull request #1603 from PhenomRetroShare/Fix_UPnP
Fix UPnP
2019-08-01 18:24:30 +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
G10h4ck
3ffb57f998
Merge pull request #1580 from G10h4ck/gxs_trans_refinements
GxsTrans refinements
2019-07-30 12:45:24 +02:00
Gioacchino Mazzurco
c80b6db423
GxsTrans update outdated comments 2019-07-30 12:31:01 +02:00
Gioacchino Mazzurco
38a802e428
Implement API to create signed GXS identities 2019-07-29 10:49:05 +02:00
Gioacchino Mazzurco
6e88f6de1f
Remove unused macro definition from rsinit header 2019-07-29 10:46:41 +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
Phenom
f9d62c57c9 Fix UPnP
For version > 1.6.24 and < 1.8.0
Maybe version numbers to adjust.
2019-07-24 16:32:38 +02:00
Gioacchino Mazzurco
d9979ca183
Fix RsIdentity API to get own identities 2019-07-19 13:54:46 +02:00
jpascualsana
3110c08277
Add @brief and [out] missing parameter #1591 2019-07-02 13:26:20 -05:00
csoler
10eeb818c8
Merge pull request #1583 from csoler/v0.6-DistantChat
automaticall save/restore subscribed chat rooms. The advantage is tha…
2019-06-28 21:10:33 +02:00
csoler
ff1b2ebde4
fixed uninitialized memory read in calling rsservicehandler registerNewService system 2019-06-24 21:12:27 +02:00
csoler
9312d0cb3a
converted short invites to compact PGP format for increased robustness 2019-06-21 23:30:06 +02:00
csoler
e132ce7072
attempt to add SSL-only friends in FriendList - does not work yet 2019-06-20 23:09:40 +02:00
csoler
805f753727
fixed parsing of short invite 2019-06-20 21:59:56 +02:00
csoler
5139c023ab
fixed some bugs in auto-activating saved chat rooms 2019-06-15 22:44:59 +02:00
csoler
c72b49c296
automaticall save/restore subscribed chat rooms. The advantage is that auto-subscribed is not needed anymore and chat rooms will survive automatically 2019-06-15 13:54:34 +02:00
Gioacchino Mazzurco
7a237c11d3
GxsTrans delete own timed out mails
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.
2019-06-12 15:04:20 +02:00
csoler
57a548531c
fixed adding friend with short invite 2019-06-10 15:15:15 +02:00
csoler
76cf64f8d5
fixed compilation 2019-06-10 00:02:03 +02:00
csoler
fb52f6717c
fixed up addign friend from short invite 2019-06-09 23:49:31 +02:00
csoler
4bd5aaa9b2
added parsing of short invites in connect friend wizard (not working yet) 2019-06-09 15:03:48 +02:00
Gioacchino Mazzurco
8d6c83ac7f
Fix missing location regression interoduced in 41d4599f 2019-06-08 12:42:28 +02:00
csoler
3a799bae37
added optional display of short invites in places with certificates 2019-06-06 21:41:38 +02:00
csoler
8fddb559b9
fixed stupid bug that crashed the code in a different place 2019-05-27 21:48:47 +02:00
csoler
4eb6b0b066
fixed uninitialized memory read for variable mRsEventsHandle 2019-05-26 17:08:36 +02:00
csoler
56e591f728
added a flag in peerState specific to short invites, and several checks for consistency 2019-05-22 21:46:11 +02:00
G10h4ck
807bbedd5a
Merge pull request #1567 from G10h4ck/broadcast_discovery_refinement
Remove PGP fingerprint from broadcast discovery
2019-05-22 10:25:58 +02:00
csoler
dac76439bd
Merge pull request #1565 from G10h4ck/short_invites_v2
Short invites support for libretroshare
2019-05-21 21:32:05 +02:00
Gioacchino Mazzurco
b52bb4c2dd
Solve a bunch of warnings in TCP ove UDP layer
Remove some deadcode
Improve readability
2019-05-17 15:03:23 +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
bde6235758
Fix windows compilation 2019-05-16 22:13:12 +02:00
Gioacchino Mazzurco
720d5ea8a6
Implement libretroshare short invites support 2019-05-16 22:13:12 +02:00
G10h4ck
427503df0d
Merge pull request #1561 from G10h4ck/rsbanlist_refinement
Prepare RsBanList for JSON API
2019-05-16 21:53:26 +02:00
G10h4ck
533ceed549
Merge pull request #1562 from G10h4ck/build_refinement
Little improvements in build system
2019-05-14 23:03:00 +02:00
Gioacchino Mazzurco
fb4be22f0e
Prepare RsBanList for JSON API support 2019-05-14 23:01:06 +02:00
csoler
ebd55b2626
Merge pull request #1559 from G10h4ck/autssl_refinement
Cleanup huge amount of AuthSSL and related files cruft
2019-05-14 22:55:34 +02:00
Gioacchino Mazzurco
16d606b513
refactor LoadCheckX509 into safer AuthSSL::parseX509DetailsFromFile 2019-05-14 22:05:42 +02:00
Gioacchino Mazzurco
0c097c2080
Rename redundant to double in guarding macros 2019-05-14 21:33:08 +02:00
Gioacchino Mazzurco
c8082fdcc2
Add PGP verification info message 2019-05-14 15:12:39 +02:00
Gioacchino Mazzurco
0eee4adaa8
Add forgot define enabling banlist redundant check 2019-05-14 14:47:33 +02:00
Gioacchino Mazzurco
1599689eab
PQI redundant check behave the same as authssl check 2019-05-14 11:43:18 +02:00
csoler
2748275397
changed std::cerr to the new RsErr() method 2019-05-12 11:00:33 +02:00
csoler
1cee069243
added warning when deleting a thread that isnot finished 2019-05-12 10:46:08 +02:00
csoler
7b2541e35c
fixed thread bug caused by deleting a thread before it is actually terminated 2019-05-11 23:43:54 +02:00
csoler
6a18e242bb
added compile option to use sanitizer and already fixed a few misalignment errors with it 2019-05-11 22:25:02 +02:00
Gioacchino Mazzurco
64c4982f41
Remove problematic git submodule option
--recommend-shallow seems to nos be effective, and even causing problems with
  older git versions
2019-05-09 12:41:37 +02:00
Gioacchino Mazzurco
f1e2cb047e
Avoid cmake warning, restbed doesn't use C compiler 2019-05-09 12:38:25 +02:00
Gioacchino Mazzurco
f9f7e0df18
pqi free x509 cert even before exit
Avoid risk of introducing memory leak if we change the behaviour code from exit
  to return in the future
2019-05-07 12:11:38 +02:00
csoler
941df6120a
Merge pull request #1560 from G10h4ck/linkmgr_refinement
p3LinkMgr remove address age check in wrong place
2019-05-07 00:00:28 +02:00
csoler
362e0a975a
Merge pull request #1557 from G10h4ck/hotfix_rscertificate_crash
Fix crash in RsCertificate::fromString due to un-catched exception
2019-05-06 23:41:05 +02:00
csoler
710c440c3e
Merge pull request #1556 from G10h4ck/gxsevent
Emit event on GXS changes
2019-05-06 23:37:15 +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
Gioacchino Mazzurco
2593cb2feb
More descriptive documentation about enum size in gossip items
Also use hexadecimal value as Cyril like that more ;)
2019-05-06 13:04:45 +02:00
Gioacchino Mazzurco
fb9e172898
Delete dead code in PGP handler 2019-05-04 18:03:38 +02:00
csoler
678fed7450
enable IP filtering by default 2019-05-04 16:03:47 +02:00
Gioacchino Mazzurco
2975fa5446
p3LinkMgr remove address age check in wrong place
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.
2019-05-03 17:13:04 +02:00
Gioacchino Mazzurco
41d4599fe3
Cleanup huge amount of AuthSSL cruft
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
2019-05-03 17:05:49 +02:00
Gioacchino Mazzurco
8300e65cad
Fix crash in RsCertificate::fromString due to exception
Also fix warning due to deprecaded RsPeerId constructor usage
2019-05-03 16:59:38 +02:00
Gioacchino Mazzurco
13ba26251c
Add support for GxsChanges as RsEvents 2019-05-03 16:57:38 +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
4e1280839a
RsEvents refinement
Fix a couple of warning
Prepare events types for short invites
2019-05-03 16:51:35 +02:00
Gioacchino Mazzurco
8e4f1f8876
Merge commit 'f6607b5ceca462520ef8e040ba76984c8d1eee4f' into brodcast_discovery 2019-05-03 16:44:38 +02:00
Gioacchino Mazzurco
1b02c748fa
fixup! Safer rsids API 2019-05-03 16:36:16 +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
Gioacchino Mazzurco
7642216912
Safer rsids API
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
2019-05-02 09:55:53 +02:00
csoler
ccf7dc24b8
Merge pull request #1549 from G10h4ck/rscert_cleanup
Safer RsCertificate API
2019-05-01 22:31:30 +02:00
csoler
d8147fa2d0
Merge pull request #1548 from G10h4ck/rsrandom_cleaning
RsRandom cleaning
2019-05-01 22:06:45 +02:00
csoler
c754b32b06
Merge pull request #1547 from G10h4ck/rs_debug
Comfortable and efficient RetroShare logging helpers
2019-05-01 21:57:26 +02:00
Gioacchino Mazzurco
e655d4d257
Use RsRandom name also inside windows #ifdef 2019-05-01 20:42:19 +02:00
Gioacchino Mazzurco
5fe8ba0665
Safer RsCertificate API
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.
2019-04-28 15:49:57 +02:00
Gioacchino Mazzurco
6ca85ca7b6
Cleanup RsRandom
Rename RSRandom -> RsRandom for consistency
Cleanup documentation to use Doxygen format
Solve a bunch of compiler warning (there are still a lot)
2019-04-28 14:06:52 +02:00
Gioacchino Mazzurco
3feb048c37
Add sockaddr_storage ostream operator<< for comfortable debugging 2019-04-28 13:38:16 +02:00
Gioacchino Mazzurco
79af081f84
Introduce RetroShare logging helpers
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
2019-04-28 02:31:44 +02:00