Commit Graph

4935 Commits

Author SHA1 Message Date
csoler
4d6fed643a
reverted to single GxsTunnelService shared for all services 2018-05-01 20:10:56 +02:00
csoler
ba0819f8d0
added additional debug info to test proper distant request of GXS ids 2018-05-01 15:17:41 +02:00
csoler
c5ba0e975f
fixed TS in tunnel management 2018-04-29 19:20:14 +02:00
csoler
9973978350
improved management of tunnels and virtual peers 2018-04-29 16:19:45 +02:00
Gioacchino Mazzurco
be75e89ad2
Fix compialtion after merge 2018-04-27 20:55:38 +02:00
Gioacchino Mazzurco
f3ae61b462
Merge branch 'json_experiments' 2018-04-27 18:17:09 +02:00
csoler
5be57046f1
added load/save of random bias in GxsNetTunnel service 2018-04-27 00:00:29 +02:00
Gioacchino Mazzurco
f4e110ed0e
p3Banlist fail gracefully if IPv6 address get into
Translate IPv4 mapped to plain IPv4 before processing
Fail gracefully if the address is IPv6
2018-04-26 11:04:05 +02:00
csoler
57bb31ece6
added new checks in canSend and canRecv Msg/Grp to work with distant peers 2018-04-25 18:52:07 +02:00
csoler
da4b382ede
removed dependency on service in RsGxsNetTunnel 2018-04-25 18:29:49 +02:00
csoler
1a9a7622a2
made GxsNetTunnelService a parent class of GxsNetService and renamed public methods appropriately. 2018-04-25 17:58:37 +02:00
csoler
38b39caf13
added compilation flag for GXS dist sync 2018-04-25 14:58:53 +02:00
G10h4ck
82eb42ad8a
Merge pull request #1235 from G10h4ck/build_improvements
Build improvements
2018-04-23 12:04:35 +02:00
csoler
63359e0801
using additional const ref in rsexpr.h 2018-04-22 17:14:08 +02:00
csoler
c599b5a627
removed debug output in pqissl and pqissllistenner 2018-04-22 17:13:25 +02:00
Gioacchino Mazzurco
4876a0ea3b
Multiple improvements to build process
Restructure and document retroshare.pri variables and helper functions
Link sqlite statically like other libraries on Android
qmake has multiple win32-* specs match them correctly
Move a buch of generic thing to retroshare.pri instead of having them replocated
  accross project specific .pro
Fix retroshare-gui too many symbols exported on windows liking error by adding
  QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL
Rename retroshare-gui/src/util/win32.h because the name is too prone to
  confusion and build conflicts
libreasapi avoid usage of cretar_prl link_prl that seems unreliable on some
  platforms
libreasapi rename LIBRESAPI_QT to more understendable LIBRESAPI_SETTINGS
Use use_*.pri instead of copy pasting error prone qmake snippets around
Expose bitdht option to retroshare.pri
Add RS_THREAD_LIB qmake variable for better crossplatform support
Move debug and profiling generic options to retroshare.pri (avoid copy/pasting)
Remove Qt script module in qmake as it is not available anymore
2018-04-18 07:56:43 +02:00
Gioacchino Mazzurco
f20705b36d
Workaround for systems that miss IPV6_V6ONLY
This should improve compatibility with old systems that miss
IPV6_V6ONLY and in particular for Windows XP
2018-04-15 12:32:39 +02:00
csoler
3c9af3d2e7
fixed bug in tunnel monitoring code 2018-04-14 11:48:55 +02:00
csoler
66df281f25
added asymmetry in GXS tunnel management to reduce the number of tunnels 2018-04-11 23:14:10 +02:00
Pooh
732e87a8bb
Merge branch 'master' into logshutup1 2018-04-09 11:15:43 +03:00
Gioacchino Mazzurco
c19919962d
pqissl silence extra debug message 2018-04-08 12:37:41 +02:00
csoler
27824943ff
removed debug info 2018-04-07 14:29:23 +02:00
csoler
e2b0e27205
fixed costly polling in RsGenExchange 2018-04-07 14:12:44 +02:00
Gioacchino Mazzurco
cc091cc2c8
Fixed hidden nodes listening failure
In case of hidden node the listen address was not properly converted to
  ipv4 mapped format causing bind to fail
Use sockaddr_storage_copy instead of = as sockaddr_storage is not
  guaranted to be copyable
2018-04-07 12:48:01 +02:00
csoler
393ff75c90
fixed polling strategy in RsGxsNetService causing some delay in distant post syncing 2018-04-07 00:56:44 +02:00
csoler
c0570ffef6
fixed costly polling in RsGenExchange 2018-04-07 00:56:07 +02:00
csoler
2b9139bf85
improved GXS dist sync item handling 2018-04-06 15:26:54 +02:00
csoler
7d561bcceb
added distant data access in GxsNetService 2018-04-04 21:41:21 +02:00
csoler
8fe3eb711d
fixed a few bugs in GXS dist sync tunneling 2018-04-02 17:07:32 +02:00
csoler
aa59694d88
added automatic detection for need to dist-sync groups 2018-04-01 22:04:16 +02:00
Pooh
c0834cf232
Merge branch 'master' into logshutup1 2018-04-01 17:40:44 +03:00
RetroPooh
0a943ea9ee log shut up 2018-04-01 17:30:36 +03:00
csoler
f0f69b8dd9
shared virtual peers across services 2018-03-29 16:26:36 +02:00
csoler
73b04f3109
finished implementation of GxsNetTunnel service 2018-03-29 10:54:58 +02:00
Gioacchino Mazzurco
8d1f1da242
Extend libresapi with minimal support for channels
The code is not elegant as this version of the API will be soon obsolete
  but it offer a bunch of channels functionalities, comments and votes
  are not implemented yet

/channels/list_channels get all visibile channels
/channels/get_channel get content of a subscribed channel
/channels/toggle_subscribe subscribe/unsubscribe to a channel
/channels/toggle_auto_download set/unset auto-download for files attached
  to posts in a channel
/channels/toggle_read mark a post as read
/channels/create_channel create a new channel
/channels/create_post create a new post in given channel, group_id
  paramenter renamed to channel_id for consistence

mChannels use reference instead of pointer as it must be valid
  for the whole lifetime of the object
RsGxsCommentService and derivatives use proper types for parameter, avoid
  reference when unneeded
2018-03-28 16:41:05 +02:00
csoler
73c6deebf4
Merge pull request #1191 from G10h4ck/IPv6-v3
IPv6 support
2018-03-27 20:54:31 +02:00
csoler
b488760d7d
fixed data incoming/outgoing in GxsNetTunnel 2018-03-26 23:19:29 +02:00
csoler
5566d90f32
finished tunnel handling and data send/recv in GxsNetTunnel 2018-03-24 16:42:16 +01:00
csoler
2255bda007
improved documentation of TurtleClientService class with doxygen type 2018-03-24 16:41:51 +01:00
csoler
58aa2413b3
finished moving tunnel encryption into turtle 2018-03-23 22:46:04 +01:00
csoler
00a6bd5b73
started to move FT encryption into p3turtle 2018-03-22 14:41:50 +01:00
csoler
3407604a54
added code to add/remove virtual peers in RsGxsNetTunnel 2018-03-21 22:09:40 +01:00
csoler
076309133b
basic structure of GxsNetTunnelService 2018-03-15 17:46:21 +01:00
csoler
e1ad21c357
fixed wrong file count in RsCollectionDialog when downloading files 2018-03-15 13:11:19 +01:00
csoler
b3653d1283
enabled aggressive re-request of pending slices at end of transfer, thus fixing the long delay to finish files with mixed fast/slow sources 2018-03-15 11:32:55 +01:00
csoler
04dc764339
merged upstream/master 2018-03-15 09:19:56 +01:00
Gioacchino Mazzurco
52ef72d761
Fix p3PeerMgrIMPL::UpdateOwnAddress local address
Due to a regression introduced in
dedfcb2b60 the local address was not
updated correctly causing part of RS networking being stuck and printing
lot of invalid sockaddr_storage messages, this commit fix the regression
2018-03-03 01:39:50 +01:00
csoler
026951ff2c
added consistency check in getGroupMeta so that ADMIN/PUBLISH flags always correspond to what the key set reflects 2018-03-01 11:45:54 +01:00
Gioacchino Mazzurco
dedfcb2b60
More ipv6 to ipv4 conversion around
More safe sockaddr_storage copy
2018-03-01 10:12:15 +01:00
csoler
5d5894352d
forced notification of type RECEIVE when creating a new group so that the GxsIFaceHelper updates the group list 2018-02-28 23:18:50 +01:00
csoler
29ab0e9913
fixed bug that would erase private publish key when a group update is received 2018-02-28 22:40:04 +01:00
csoler
165b241341
made add of publish key a meta group change, to force reload the list of groups 2018-02-27 23:19:27 +01:00
csoler
3bc5b456a5
added a FeedItem to warn when publish permissions are received for a channel 2018-02-27 22:42:48 +01:00
csoler
aad9397ef8
fixed memory leak in p3GxsTunnel 2018-02-26 23:38:13 +01:00
Gioacchino Mazzurco
7d765ec04e
pqissl::Initiate_Connection remove duplicated code 2018-02-26 16:30:27 +01:00
Gioacchino Mazzurco
f4a6090150
More ipv6_to_ipv4 conversions 2018-02-26 16:28:36 +01:00
Gioacchino Mazzurco
ac8b56951c
Enforce main IPv4 usage for better retrocompatibility 2018-02-26 08:49:06 +01:00
csoler
dd9f67a28b
fixed version number problem 2018-02-25 17:53:42 +01:00
Gioacchino Mazzurco
f5160338ed
sockaddr_storage_familytostring be quite if not debugging 2018-02-25 13:18:34 +01:00
Gioacchino Mazzurco
9281a5966b
p3Peers::getPeerDetails retrocompatible IPv4 format 2018-02-25 12:48:55 +01:00
Gioacchino Mazzurco
9a446fc1ff
Fix compilation for Android 2018-02-25 11:28:26 +01:00
csoler
681f543184
Merge pull request #1183 from csoler/v0.6.4
switched version to 0.6.4
2018-02-24 22:04:26 +01:00
csoler
39e70ed8bf
ignore unknown ptags in certificates instead of causing an error, for future backward compatibility 2018-02-24 21:51:18 +01:00
Gioacchino Mazzurco
4a138e07b9
Implement IPv6 listening
With this commit IPv6-v3 surpass v0.6-IPv6-2 in term of features
  obsoleting it.
p3BitDht handle gracefully unwanted non IPv4 addresses
rsUdpStack handle gracefully unwanted non IPv4 addresses
pqissludp handle gracefully unwanted non IPv4 addresses
Move single address limitation workaround from
  p3discovery2::sendOwnContactInfo to better
  place p3PeerMgrIMPL::UpdateOwnAddress this way local address list is
  queried less often and only id there is some suggestion that it may
  have changed (probably ir will not be called all the times there is a
  changes in local network interfaces but is good enough)
Implement crossplatform rs_setsockopt to avoid too much ifdef around
Implement sockaddr_storage_copy to safely copy sockaddr_storage objects
2018-02-24 17:14:49 +01:00
Gioacchino Mazzurco
b3c7d195c8
Port pqissl to dual stack IPv6+IPv4
Changed unix_connect signature to be more comfortable for dual stack
  usage
Remove dead code in pqissl::pqissl(...)
Adapt p3I2pBob::connectI2P() to new unix_connect
Adapt extaddrfinder to new unix_connect
Add sockaddr_storage_ipv4_to_ipv6 to convert from flat IPv4 to IPv4
  mapped as IPv6
2018-02-24 14:29:56 +01:00
Gioacchino Mazzurco
2170313e42
Improve discovery
Workaround RS single local address flawed assumption by spreading
  all viables local addrresses via discovery
Spread addresses also through hidden node as they are the only hope
  to help direct connection happening for common trusted nodes
  behind nasty firewalls
2018-02-24 14:29:56 +01:00
csoler
13441ff483
removed debug info in rsgenexchange.cc 2018-02-23 15:13:13 +01:00
csoler
d8e950c5e0
removed debug output from rsdataservice 2018-02-23 14:28:22 +01:00
csoler
ff7633fefe
Merge pull request #1184 from G10h4ck/linkLocalFallback
[0.6.4] Use link local address only if necessary fix #292
2018-02-23 14:00:39 +01:00
Gioacchino Mazzurco
8d5cd8afef
Increase size of list of ip shared via discovery2 2018-02-23 02:10:58 +01:00
Gioacchino Mazzurco
9dd1aef2b7
Discovery do not distribute addresses to hidden nodes
As there is no consensus in takde advantage of hidden nodes for
  discovery do not spread ip address to them
2018-02-23 02:10:58 +01:00
Gioacchino Mazzurco
e7facc122b
Prevent discovery to share local addresses if hidden
Do not query/share local addresses if hidden node as it would leak
  information about the location of the node
2018-02-23 02:10:58 +01:00
Gioacchino Mazzurco
4fa6bdc789
Improve discovery
Workaround RS single local address flawed assumption by spreading
  all viables local addrresses via discovery
Spread addresses also through hidden node as they are the only hope
  to help direct connection happening for common trusted nodes
  behind nasty firewalls
2018-02-23 02:10:58 +01:00
Gioacchino Mazzurco
2044a2c848
Use retrocompatible iterators
Explain why shuffling the local addresses list before looking for
 a viable local is a bad idea.
2018-02-21 12:35:27 +01:00
Phenom
73d11e1857
Fix Gcc Warning in nxsmsgsync_test.cc
/trunk/tests/unittests/libretroshare/gxs/nxs_test/nxsmsgsync_test.cc:28:
warning: deleting object of abstract class type ‘RsGixsReputation’ which
has non-virtual destructor will cause undefined behavior [-Wdelete-non-
virtual-dtor]
  delete mRep ;
/trunk/tests/unittests/libretroshare/gxs/nxs_test/nxsmsgsync_test.cc:29:
warning: deleting object of abstract class type ‘RsGcxs’ which has non-
virtual destructor will cause undefined behavior [-Wdelete-non-virtual-
dtor]
  delete mCircles;
/trunk/tests/unittests/libretroshare/gxs/nxs_test/nxsmsgsync_test.cc:30:
warning: deleting object of abstract class type ‘PgpAuxUtils’ which has
non-virtual destructor will cause undefined behavior [-Wdelete-non-
virtual-dtor]
  delete mPgpUtils;
2018-02-20 23:28:48 +01:00
Gioacchino Mazzurco
0c99975800
Use link local address only if necessary
This should solve APIPA address being always selected as preferred local
address on Windows which was causing problems connecting to machines on
the same local network.
Now the link local address is used as fallback only if there is non link
local private address available.
2018-02-19 23:23:15 +01:00
csoler
566776366f
switched version to 0.6.4 2018-02-19 21:49:06 +01:00
csoler
2511934fb0
Merge pull request #1177 from csoler/v0.6-FT
added limiter in number of responses forwarded back by turtle search,…
2018-02-18 17:58:06 +01:00
csoler
7a844921ad
Merge pull request #1176 from csoler/v0.6-SecurityFixes
added load/save of known forums to avoid re-displaying it in the News…
2018-02-18 17:57:42 +01:00
csoler
6fe14136ae
added limiter in number of responses forwarded back by turtle search, which should avoid bursts of bandwidth for popular requests 2018-02-17 23:37:25 +01:00
csoler
8708dd9b94
fixed bug due to wrong service ID in serializer 2018-02-17 12:04:13 +01:00
csoler
d57f933109
added load/save of known channels to avoid re-displaying it in the NewsFeed after then have been deleted. 2018-02-16 23:51:43 +01:00
csoler
252626f5ec
added load/save of known forums to avoid re-displaying it in the NewsFeed after then have been deleted. 2018-02-16 23:24:01 +01:00
Phenom
83b6205af3 Fix New Chat Invite 2018-02-16 10:22:59 +01:00
csoler
0491e43118
Merge pull request #1169 from csoler/v0.6-FT
V0.6 ft
2018-02-11 21:28:43 +01:00
csoler
7a2d874863
Merge pull request #1153 from csoler/v0.6-TorOnly
V0.6 tor only
2018-02-11 20:49:45 +01:00
csoler
74a6076f18 added sources in new QModel. Unfinished yet. 2018-02-07 00:25:41 +01:00
csoler
3f8ff6489b first attempt at creating a display model for transfers. Not finished yet. 2018-02-04 22:56:13 +01:00
Gioacchino Mazzurco
00125864ff Add support for SQLCipher on Android
Plus some cleanup
2018-01-30 18:24:03 +01:00
Gioacchino Mazzurco
ebfe50f814 Make .pro files compiler agnostic on Android 2018-01-30 18:11:31 +01:00
Gioacchino Mazzurco
fa71ed25ba Install bdboot.txt in Android
DHT now works on android as bdboot.txt is bundled as android asset
Update Android documentation as DHT works on Android after this commit
2018-01-29 16:14:14 +01:00
csoler
8f7582588a fixed windows compilation 2018-01-27 20:59:11 +01:00
csoler
d0039241d3 replaced usleep() by rstime::rs_usleep() which accepts times >= 1 sec. Should fix problems on windows 2018-01-27 20:22:31 +01:00
Gioacchino Mazzurco
86ce177228 time_t may be signed in JSON 2018-01-27 19:57:15 +01:00
Gioacchino Mazzurco
ef6681b6f9 Remove outdated documentation 2018-01-27 19:40:39 +01:00
Gioacchino Mazzurco
8b774595d7 Better usage of type traits
Don't need register types for serializationanymore
Don't need casting helpers for serialization
2018-01-27 17:57:33 +01:00
Gioacchino Mazzurco
ba6f2d7e81 Remove default template for to/from_JSON
This way the compiler will complain if a type is added directly to
RsTypeSerializer without specify all needed serial operations
2018-01-26 17:18:05 +01:00
Gioacchino Mazzurco
13d4a2c916 Safer and elgant serial helper macros 2018-01-26 13:43:09 +01:00
csoler
725abad777 fixed a bug in filterItems that caused searched files to generate an error in the console 2018-01-23 22:18:02 +01:00
Gioacchino Mazzurco
7409de5170 Fix compilation on systems with atipic time_t 2018-01-22 21:53:12 +01:00