Commit Graph

5484 Commits

Author SHA1 Message Date
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
Gioacchino Mazzurco
d113f60ca1
RsUrl add method to test presence and get fields from query 2019-04-27 23:48:15 +02:00
Gioacchino Mazzurco
5622262c2d
Avoid Debian libupnp-1.6.x workaround fiddling libupnp-1.8.x builds 2019-04-25 03:14:34 +02:00
Gioacchino Mazzurco
7c13ca02dd
Fix build with libupnp-1.6.25 2019-04-25 02:00:07 +02:00
Gioacchino Mazzurco
42612e3f58
Fix miniupnp module include error 2019-04-25 00:12:58 +02:00
Gioacchino Mazzurco
650c5f1fa8
Fix compilation with libupnp-1.8.x 2019-04-24 23:36:40 +02:00
Gioacchino Mazzurco
3c5ac8b6e6
Include p3face-info.cc use miniupnpc only if available 2019-04-24 19:58:43 +02:00
Gioacchino Mazzurco
fb4f206427
Attempt to detect best UPnP library available
Because we don't support libupnp-1.8.x yet avoid using that library
If libupnp-1.6.x is available use that, if not try to use miniupnc if
  if unavailble print a warning and disable RetroShare UPnP support
2019-04-24 18:08:35 +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
7d96b9b7a8
Merge pull request #1536 from G10h4ck/dead_zeroconf
Remove zeroconf deadcode
2019-04-23 15:43:55 +02:00
G10h4ck
9102a698e4
Merge branch 'master' into Fix_ClangWarnings 2019-04-23 12:45:33 +02:00
Gioacchino Mazzurco
5dda6eb771
Remove zeroconf deadcode 2019-04-23 11:57:30 +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
cc973d1ea5
Add a bit of documentation about broadcast discovery event 2019-04-16 17:21:37 +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
74fa3bdf2b
Change again C compiler selection in CI 2019-04-15 15:16:47 +02:00
Gioacchino Mazzurco
9aa116b885
Enforce RsEvent not being instantiable without inheriting 2019-04-15 11:17:26 +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
9c7a8d479f
Pass initialization value in RS_DEFAULT_STORAGE_PARAM 2019-04-15 00:09:01 +02:00
Gioacchino Mazzurco
954644ef57
Broadcast discovery fix local port setting 2019-04-15 00:05:40 +02:00
csoler
051e2ee682
Merge pull request #1522 from csoler/v0.6-Turtle
Add Fast Track items in Turtle and make GxsTunnel to use them. Improves distant chat.
2019-04-14 20:52:35 +02:00
csoler
0bcbe14b2c
fixed wrong display of trash messages in inbox 2019-04-14 16:25:26 +02:00
Gioacchino Mazzurco
e7a2cb5501
Fix licensing in broadcast discovery and JSON API 2019-04-14 12:34:01 +02:00
Gioacchino Mazzurco
b25c4ecb77
Fix channels JSON API 2019-04-12 23:10:31 +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
csoler
44d0cbe295
finished fast track turtle items for distant chat 2019-04-12 21:29:49 +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
a7498371a2
Fix Travis and Appveyor continuous integration
The error reported both on OS X and Windows was
The CMAKE_C_COMPILER is set to a C++ compiler
2019-04-12 19:56:57 +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
3f75bff48b
first branch of faster turtle track for distant chat 2019-04-11 23:57:18 +02:00