Commit Graph

5453 Commits

Author SHA1 Message Date
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
csoler
322334b076
fixed compilation warning 2019-04-11 21:04:29 +02:00
csoler
4c8851801f
fixed merging with pending modifications 2019-04-11 21:04:13 +02:00
G10h4ck
276328dd91
Merge pull request #1512 from G10h4ck/csoler-jsonapi-channel
Improve GxsChannels API
2019-04-11 10:13:52 +02:00
Gioacchino Mazzurco
9ad79f0c89
Improve documentation 2019-04-10 21:10:21 +02:00
csoler
43a5312194
Merge pull request #1509 from RetroPooh/trafcount
display session traffic
2019-04-10 21:04:53 +02:00
zapek
3f8611f40f the cache is corrected and saved 2019-04-06 00:15:01 +02:00
Pooh
617b924e1f
Update rsconfig.h 2019-04-05 10:48:00 +03: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
bc8d2a79c0 Fix clang warning for
../../../trunk/libretroshare/src/gxs/rsgxsutil.cc:150:23: warning:
unused parameter 'serializer' [-Wunused-parameter]
        RsSerialType& serializer, RsGixs* gixs ) :
                      ^
2019-04-04 21:20:25 +02:00
Phenom
78f9bbfd75 Fix clang warning for
../../../trunk/libretroshare/src/pqi/authssl.cc:57:16: warning: unused
variable 'RS_SSL_HANDSHAKE_DIAGNOSTIC_KEY_ALGORITHM_NOT_ACCEPTED' [-
Wunused-const-variable]
const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_KEY_ALGORITHM_NOT_ACCEPTED  =
0x08 ;
               ^
2019-04-04 21:20:25 +02:00
Phenom
b2c5965950 Fix clang warning for
../../../trunk/libretroshare/src/ft/ftserver.cc:1230:23: warning: unused
variable 'ENCRYPTED_FT_INITIALIZATION_VECTOR_SIZE' [-Wunused-const-
variable]
static const uint32_t ENCRYPTED_FT_INITIALIZATION_VECTOR_SIZE = 12 ;
                      ^
../../../trunk/libretroshare/src/ft/ftserver.cc:1231:23: warning: unused
variable 'ENCRYPTED_FT_AUTHENTICATION_TAG_SIZE' [-Wunused-const-
variable]
static const uint32_t ENCRYPTED_FT_AUTHENTICATION_TAG_SIZE    = 16 ;
                      ^
../../../trunk/libretroshare/src/ft/ftserver.cc:1232:23: warning: unused
variable 'ENCRYPTED_FT_HEADER_SIZE' [-Wunused-const-variable]
static const uint32_t ENCRYPTED_FT_HEADER_SIZE                =  4 ;
                      ^
../../../trunk/libretroshare/src/ft/ftserver.cc:1233:23: warning: unused
variable 'ENCRYPTED_FT_EDATA_SIZE' [-Wunused-const-variable]
static const uint32_t ENCRYPTED_FT_EDATA_SIZE                 =  4 ;
                      ^
../../../trunk/libretroshare/src/ft/ftserver.cc:1235:23: warning: unused
variable 'ENCRYPTED_FT_FORMAT_AEAD_CHACHA20_POLY1305' [-Wunused-const-
variable]
static const uint8_t  ENCRYPTED_FT_FORMAT_AEAD_CHACHA20_POLY1305 = 0x01
;
                      ^
../../../trunk/libretroshare/src/ft/ftserver.cc:1236:23: warning: unused
variable 'ENCRYPTED_FT_FORMAT_AEAD_CHACHA20_SHA256' [-Wunused-const-
variable]
static const uint8_t  ENCRYPTED_FT_FORMAT_AEAD_CHACHA20_SHA256   = 0x02
;
                      ^
2019-04-04 21:20:25 +02:00
Phenom
dd7c658ed1 Fix clang warning for
In file included from ../../../trunk/libretroshare/src/gxs/rsgxsutil.cc:
26:
../../../trunk/libretroshare/src/gxs/rsgxsutil.h:217:16: warning:
private field 'mSerializer' is not used [-Wunused-private-field]
        RsSerialType& mSerializer;
                      ^
2019-04-04 21:06:01 +02:00
Phenom
b46e07191f Fix clang warning for
In file included from ../../../trunk/libretroshare/src/turtle/
p3turtle.cc:30:
In file included from ../../../trunk/libretroshare/src/rsserver/p3face.h:
38:
In file included from ../../../trunk/libretroshare/src/chat/
p3chatservice.h:30:
In file included from ../../../trunk/libretroshare/src/rsitems/
rsmsgitems.h:34:
In file included from ../../../trunk/libretroshare/src/grouter/
grouteritems.h:32:
In file included from ../../../trunk/libretroshare/src/grouter/
groutermatrix.h:29:
In file included from ../../../trunk/libretroshare/src/grouter/
groutertypes.h:28:
../../../trunk/libretroshare/src/turtle/p3turtle.h:447:8: warning:
private field '_force_digg_new_tunnels' is not used [-Wunused-private-
field]
                bool _force_digg_new_tunnels ;
                     ^
2019-04-04 21:06:01 +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
zapek
683e3579aa fixed wrong file hash daylight saving time warnings on windows 2019-04-03 21:29:34 +02:00
RetroPooh
7504964899 display session traffic 2019-04-03 17:29:13 +03: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
ef1755d97f
Merge pull request #1493 from csoler/v0.6-Messaging
V0.6 messaging
2019-03-29 22:27:27 +01:00
G10h4ck
72e0a9607b
Merge pull request #1491 from hunbernd/fix/jsonapi
Fix jsonapi compilation
2019-03-27 10:23:45 +01:00
hunbernd
d2d336ee01 Made the restbed compile command better 2019-03-26 20:54:36 +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
csoler
07abdeeceb
fixed bug causing distant chat preference contacts/nobody/everybody to be ignored 2019-03-20 22:34:48 +01:00
defnax
2233af4702
Merge branch 'Attach-picture-for-Posted-links' into master 2019-03-20 11:01:21 +01:00
defnax
c7e4986710 fixed serialization of posts with images
fix by cyril
2019-03-19 23:23:49 +01:00
hunbernd
bc294b207d Fixed parallel compilation of librestbed 2019-03-16 17:26:27 +01:00
hunbernd
a4ee76e402 Fixed some dependency issues 2019-03-16 16:36:54 +01:00
csoler
b5b2c430c5
fixed QuickView filtering system 2019-03-12 14:17:42 +01:00
hunbernd
5df54d7630 Converted extra targets into an extra compiler:
- Multi core compilation works correctly
 - The jsonapi header files are regenerated when there are changes in libretroshare interface files
2019-03-10 01:49:47 +01:00