80 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
6b71c57a54
Calm down p3netmgr at least when internet connection is not available
Solve compiler warnings, delete tons of cruft and deadcode
2019-09-29 17:59:32 +02:00
Gioacchino Mazzurco
6788ea041a
Avoid netReset() if no network address is available 2019-09-28 18:42:13 +02:00
Gioacchino Mazzurco
e5805e9047
Avoid external port being reset without necessity
Fix RetroSahre behaviour when manually configured external port is
  different to local port
2018-10-24 05:39:31 +02:00
Gioacchino Mazzurco
329050a9c2
Use safer rstime_t instead of time_t
Avoid problems to serialization on different platforms, without breaking
nested STL containers serialization.

The conversion have been made with sed, and checked with grep, plus
kdiff3 visual ispection, plus rutime tests, so it should be fine.
2018-10-07 13:07:06 +02:00
csoler
6848a586f3
merged upstream/master 2018-07-08 21:17:48 +02:00
Gioacchino Mazzurco
1dd707710b
Merge branch 'master' into extra_locators_merge 2018-07-02 12:22:23 +02:00
cyril soler
8edb1f7535 fixed problem causing infinite loop of net reset in p3NetMgr 2018-06-08 14:32:56 +02:00
csoler
b3277824eb
license fix in pqi 2018-05-28 22:03:39 +02:00
Gioacchino Mazzurco
1ad1fdc7be
p3NetMgrIMPL::checkNetAddress() notify if port change
Plus cleanups and proper sockaddr_storage copy
2018-05-22 19:17:37 +02:00
Gioacchino Mazzurco
9fbf56e592
Remove outdated misleading comment 2018-03-03 01:55:49 +01:00
Gioacchino Mazzurco
ac8b56951c
Enforce main IPv4 usage for better retrocompatibility 2018-02-26 08:49:06 +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
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
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
fcc3995d87 removed BanList service from Retro-Tor version 2018-01-01 15:49:49 +01:00
Phenom
d21b41f871 Fix CppCheck in p3netmgr.cc
/libretroshare/src/pqi/p3netmgr.cc:926: warning:
Cppcheck(unreadVariable): Variable 'title' is assigned a value that is
never used.
/libretroshare/src/pqi/p3netmgr.cc:1808: warning:
Cppcheck(unreadVariable): Variable 'connectstr' is assigned a value that
is never used.
2017-11-05 18:25:36 +01:00
Phenom
9148fa6645 Fix clang warning: unused variables 'RS_NET_DOWN', ...
/libretroshare/src/pqi/p3netmgr.cc:60: warning: unused variable
'RS_NET_DOWN' [-Wunused-const-variable]
const uint32_t RS_NET_DOWN =            0x0007;
/libretroshare/src/pqi/p3netmgr.cc:63: warning: unused variable
'RS_STUN_DHT' [-Wunused-const-variable]
const uint32_t RS_STUN_DHT =            0x0001;
/libretroshare/src/pqi/p3netmgr.cc:64: warning: unused variable
'RS_STUN_DONE' [-Wunused-const-variable]
const uint32_t RS_STUN_DONE =           0x0002;
/libretroshare/src/pqi/p3netmgr.cc:65: warning: unused variable
'RS_STUN_LIST_MIN' [-Wunused-const-variable]
const uint32_t RS_STUN_LIST_MIN =       100;
/libretroshare/src/pqi/p3netmgr.cc:66: warning: unused variable
'RS_STUN_FOUND_MIN' [-Wunused-const-variable]
const uint32_t RS_STUN_FOUND_MIN =      10;
/libretroshare/src/pqi/p3netmgr.cc:70: warning: unused variable
'MAX_NETWORK_INIT' [-Wunused-const-variable]
const uint32_t MAX_NETWORK_INIT =       70; /* timeout before network
reset */
/libretroshare/src/pqi/p3netmgr.cc:72: warning: unused variable
'MIN_TIME_BETWEEN_NET_RESET' [-Wunused-const-variable]
const uint32_t MIN_TIME_BETWEEN_NET_RESET =             5;
2017-07-16 21:18:22 +02:00
csoler
0d7df568b4 moved rsconfigitems and rshistoryitems to rsitems/ 2017-04-24 22:47:08 +02:00
Phenom
674b6de381 Fix Some gcc warnings 383 to 208 lines
Left explicit #warning and deprecated.
Some lines are wrong indented and produce mal formed code.
2016-11-30 22:01:01 +01:00
sehraf
5d962682e1 removed unused variable warnings 2016-06-21 14:02:52 +02:00
sehraf
4d2d825d5b add new option to qmake to enable dht stunner
removed dht stunner code when option is not set
2016-06-21 13:55:23 +02:00
sehraf
09afbbed5d switched to new rslog method 2016-06-18 13:00:15 +02:00
Phenom
a1ece16f35 Fix uninitialized variables netsize, rsnetsize in p3netmgr.cc 2016-05-12 20:00:44 +02:00
csoler
39b3df964a fixed bug causing net reset when closing config 2016-01-25 22:39:20 -05:00
Gio
3cfa22e35b Guard checkNetAddress debug, unary + comment clarification 2015-12-29 23:51:16 +01:00
Gio
436f619fcb getLocalAddresses collects loopback address too 2015-12-21 17:34:53 +01:00
Gioacchino Mazzurco
747a03a0b9 Substitute getpreferredinterface flawed logic with simpler getLocalAddresses still just one address used at moment 2015-12-21 09:10:00 +01:00
csoler
24b3325792 Improved reliability of the determination of external address: removed DHT stunner from the pool, added mPeerMgr which vote is based on ext address most often reported by peer discovery 2015-09-23 21:45:15 -04:00
csoler
f360e9d0ba fixed password handling in deferred signature algorithm (in case of cancel, enter wrong passphrase, etc)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8423 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-12 21:04:11 +00:00
csoler
91bf1d6cb2 improved voting for extr address, and make sure DHTStunner does not return a banned IP
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8408 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-10 19:15:07 +00:00
csoler
ea7a5a5929 fixed bug causing false alarms of wrong reported IP from friends.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8385 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-06 13:50:11 +00:00
csoler
96cccbbc75 added hability to disconnect friends which report our own IP as something different than what we know. Removed a test in discovery2 that prevented sending info to a peer about himself. Not active yet since it needs some testing
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8340 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-01 22:03:07 +00:00
csoler
482c488b46 refusing connections from banned peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8293 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-25 16:51:15 +00:00
csoler
5b2ba1e81c - added more debug info to p3LinkMgr
- added check for banned IP from DHT at connection time
- added regular removal of banned IPs from friend IP lists
- increased time of banned IP storage to 1 week (previously 6 hours)
- added save for banned IPs to keep them after restart (in bdfilter.cc) to file bdfilter.txt (can be manually updated)
- changed mFiltered into a std::map for increased search efficiency
- added secondary check of cert ID at connection time.-This line, and those below, will be ignored--

M    libretroshare/src/pqi/p3netmgr.cc
M    libretroshare/src/pqi/pqimonitor.h
M    libretroshare/src/pqi/p3peermgr.cc
M    libretroshare/src/pqi/p3linkmgr.h
M    libretroshare/src/pqi/pqissllistener.cc
M    libretroshare/src/pqi/p3peermgr.h
M    libretroshare/src/pqi/p3linkmgr.cc
M    libretroshare/src/pqi/pqiperson.cc
M    libretroshare/src/pqi/pqissl.cc
M    libretroshare/src/rsserver/rsinit.cc
M    libretroshare/src/dht/p3bitdht_relay.cc
M    libretroshare/src/dht/p3bitdht.cc
M    libretroshare/src/dht/p3bitdht.h
M    libretroshare/src/retroshare/rsdht.h
M    libbitdht/src/udp/udpbitdht.h
M    libbitdht/src/udp/udpbitdht.cc
M    libbitdht/src/bitdht/bdmanager.cc
M    libbitdht/src/bitdht/bdmanager.h
M    libbitdht/src/bitdht/bdnode.h
M    libbitdht/src/bitdht/bdfilter.h
M    libbitdht/src/bitdht/bdfilter.cc
M    libbitdht/src/bitdht/bdnode.cc
M    libbitdht/src/bitdht/bdstore.h


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-25 14:02:45 +00:00
electron128
a126461beb use random port >=1024 (patch from sehraf)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8217 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-04 09:05:38 +00:00
csoler
d547cb6fdb changed post fixed operator++ into prefixed. More efficient on some systems. Patch from Phenom.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7630 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-24 22:07:26 +00:00
drbob
cdfbe90682 Fixed check if address has changed - was preventing resetting of local port.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7619 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-18 00:19:05 +00:00
chrisparker126
0f29d28b1b merge of branch v0.6-idclean 7180
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7187 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-17 20:56:06 +00:00
drbob
c0738eec7f Merging branches/v0.6-initdev into trunk.
These split at 6672 -> 7075, so quite a bit merge.
libretroshare compiles - but untested.
retroshare-gui needs GenCertDialog.ui and IdEditDialog.ui to be properly merged. (compile errors).
some plugins will be broken.
retroshare-nogui is untested.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-01 14:16:15 +00:00
csoler
630824aa1b Updated the notification system. Main changes are:
- the notification system is now a service, p3Notify, that is a public RsNotify.
- RsNotify does nothing except providing a registration system for new notify clients.
- Clients should derive a notify client from the NotifyClient class and register it to rsNotify
- all registered clients get all notifications, so only derive the needed methods. This should allow 
  plugins to get notifications as well.
- updated the code to call RsServer::notify()->[notification method] from inside libretroshare
- pqiNotify has been removed.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-07 22:51:22 +00:00
thunder2
9095e9bd75 Code maintenance for Qt 5:
- Added some more includes needed by MinGW-w64

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6860 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 11:00:49 +00:00
csoler
3a82fffd0e - fixed bug (added missing call to addSerialType())
- removed unused RsFileTransferCacheRequestItem and all related functions
- fixed bug in turtle router calling members of a deleted item
- removed some debug info
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6789 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-02 19:56:01 +00:00
drbob
b587301b5a Added a thread per active peer - to reduce RTT and increase throughout.
* Added pqithreadstreamer, tweaked pqistreamer to support derivation.
 * Shifted RTT from p3Service to p3FastService.
 * Disabled lots of debug.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6787 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-02 03:21:04 +00:00
drbob
90aa57a0f0 Rewrite of the discovery system to be more private, with less traffic.
Split the visState into seperate vs_disc and vs_dht for easier handling.
Split the heartbeat system into a separate service.
Added IPv4 and IPv6 local/ext addresses into discovery & peer config.
Fixed up samenet and samesubnet ipv4 calls.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-28 08:09:59 +00:00
drbob
34ea22d5f6 Implemented sockaddr_storage functions.
Fixed interfaces for UPnP.

Some further tweaks to get TCP connections working again:
 - hiddenNode issue in p3peers.cc
 - fixed socklen_t for bind() and connect() calls.
 - initialise addr to IPv4 for netmgr.
 - change netAssist (Upnp) interfaces.

Still todo: tou address functions, test UDP functionality.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-24 05:30:01 +00:00
drbob
6290d8fed9 Massive commit - changing from sockaddr_in => sockaddr_storage.
In preparation for making RS support IPv6.

NB: This breaks the build of retroshare-gui, as the
sockaddr_storage_xxx fns are only defined as prototypes for now.

All the aux libraries like udp / stun / tcponudp / dht have still to be converted.

These changes will probably break various things and need to be tested thoroughly.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6735 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-13 14:35:19 +00:00
drbob
bfd915864b mods to support hidden node: setup & cert sharing.
Also removed old configuration mode from p3cfgmgr



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6720 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-09 02:10:49 +00:00
drbob
212b4c44c9 First of the V0.6 changes.
- Adding basics for proxy connection.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6682 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-03 13:35:39 +00:00
thunder2
af5c31a4f5 Use the best network interface to route an ip instead of the first interface in getLocalInterfaces on Windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6469 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-07-01 15:12:06 +00:00