65 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
67c607cb32
Fix Android compilation 2021-03-23 23:16:31 +01:00
sehraf
757e922c4f
Fix unix_fcntl_nonblock() to not overwrite any existing flags. 2020-05-04 15:13:39 +02:00
Gioacchino Mazzurco
1705a930d4
getLocalAddresses should not need Qt for android >= 24 2019-09-25 22:15:07 +02:00
csoler
b3277824eb
license fix in pqi 2018-05-28 22:03:39 +02: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
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
Gio
ea42d822c2 Merge branch 'master' into android 2016-10-26 13:43:24 +02:00
cyril soler
7bddd4bcd4 removed call to exit causing the software to stop when local network interfaces are not ready 2016-09-23 13:19:19 +02:00
Gio
48a9be0ccc Use Qt to read the local addresses on android
getifaddrs is not present on android and an alternative implementation
crashed, use QNetworkInterface::allAddresses() to retrieve local
addresses list instead

This
2016-09-21 12:46:55 +02:00
Gio
9a980def2c libretroshare now compiles for Android, instruction on how to do it included 2016-08-23 12:15:28 +02:00
sehraf
09afbbed5d switched to new rslog method 2016-06-18 13:00:15 +02:00
thunder2
748147f73b Fixed Windows compile. 2016-01-15 21:41:23 +01:00
Cyril Soler
b56881e6d9 fixed windows compilation 2016-01-13 10:23:21 -05:00
csoler
d13526facd added a new method rs_malloc that checks its arguments and prints a stacktrace on error/weird call. Changed the code everywhere to use this instead of malloc. Removed some mallocs and replaced with RsTemporaryMemory 2016-01-12 21:10:11 -05:00
Gio
9c24203082 Fix memory leak in getLocalAddresses 2015-12-30 22:47:51 +01:00
Gio
436f619fcb getLocalAddresses collects loopback address too 2015-12-21 17:34:53 +01:00
Gio
9d78bba3b8 Guard getLocalAddresses debug 2015-12-21 15:48:59 +01:00
Gio
ca1a9707ef Removed dead code 2015-12-21 15:31:47 +01:00
Gio
1b2fa3600a Adapted getLocalAddresses() includes for windows 2015-12-21 15:31:46 +01:00
Gio
5a541e7feb Removed unused getLocalInterfaces_ipv4 2015-12-21 09:10:00 +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
Gioacchino Mazzurco
71073c19b6 Respect passed parameters in unix_socket 2015-10-23 10:53:31 +02:00
Cyril Soler
24a685f5a2 Merge pull request #148 from G10h4ck/unsanelan
Removed flawed logic samenet/samesubnet
2015-10-20 18:03:06 -04:00
Sergei Reznikov
34758be52a Add Haiku support 2015-10-20 20:32:44 +03:00
Gio
16a5eed453 Removed flawed logic samenet/samesubnet you cannot determine if two ip are in the same subnet just from ips the internet is not just a bunch of /24 2015-10-17 10:27:49 +02:00
thunder2
e8b5ab9fae Fixed memory leak in LookupDNSAddr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8451 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-14 21:19:08 +00:00
csoler
1d165bb43d fixed call to strncpy in network interface determination code which leaves unterminated string if strlen(ifptr->if_name)==16
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8427 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-14 08:51:55 +00:00
csoler
acc45a4382 removed some debug messages, added some ifdefs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7775 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-12-21 19:12:40 +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
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
thunder2
31fd6f6261 Code maintenance for Qt 5:
- Fixed compile with MinGW-w64 under Windows


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6866 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 21:42:15 +00:00
thunder2
13e7ac8b43 Fixed compile of the libraries with MinGW 4.8 on Windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6814 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-07 23:11:10 +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
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
thunder2
78edc7687e Fixed compile of libretroshare on Windows. The corrected pro files are not included.
Moved the includes of rswin.h from the header files to the c files.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5655 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-10-09 23:07:51 +00:00
thunder2
545743ad77 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5097 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 00:30:23 +00:00
thunder2
3b85873313 Added patch from AC
- add missing includes "unistd.h" for compiling with gcc 4.7.0.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5096 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-12 23:29:39 +00:00
drbob
761bca8678 Fix number 2 for disconnections: Temporarily Disable Transmission of GPG Certificates in Discovery.
Certificate transmission will be disabled until we have worked out how to export Minimal Certs.
 * Disabled check for gpgcert text in p3disc.
 * Disabled creation of GPG Cert in AuthGPG.
 * Added extra error code to pqinetwork.

This change will mean that friends of friends certificates will no-longer be shared if you have discovery on.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4821 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-20 01:05:46 +00:00
drbob
4aec00a0c2 Attempt at fixing the Disconnection issue.
* Added DataRate accounting to Relay and Dht.
 * Rates are exposed through rsDht.h interface.
 * Added LastIncomingTS() to pqistreamer.
 * Turned HeartBeat reset() into a warning.
 * Added NoPacket in 60 sec reset().
 * Minor typos/errors corrected.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4818 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-19 16:23:57 +00:00
drbob
8a86c980fc Improved logging of Connection Behaviours.
- Hid lots of DEBUG_BASIC behind #defines in pqissl.
	- Added PeerID() in many places, so grep for a single peer.
	- fixed linkMgr output so we can tell a FAILURE vs FAILED ATTEMPT
	- reduced most logging to a single line.
	- print out of errno in HumanText for SSL errors.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4814 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-18 22:51:38 +00:00
thunder2
c6beee44ec Removed unused parameter warnings in libretroshare.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4558 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-12 13:42:30 +00:00
drbob
f6f721a492 Removed p3ConnectMgr. Replaced it with p3LinkMgr, p3NetMgr and p3PeerMgr.
Updated references in other classes.
 * Most classes need p3LinkMgr, and only use two functions: OwnId() and getOnlineList()




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4416 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-09 18:39:34 +00:00
thunder2
c005f7d4a8 pqinetwork.cc: removed compiler warnings on windows, errors was fixed already
sslfns.h: test for existing function with #ifdef doesn't work, used OPENSSL_VERSION_NUMBER instead - please test

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3284 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-11 00:07:19 +00:00
drbob
9efe0b2e9e another windows bugfix.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3283 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 23:51:04 +00:00
drbob
fba4a1b4da Bugfix for windows compilation?
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3282 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 23:22:47 +00:00
drbob
648e15bcf7 Found cause of OSX network resets / lost connections: inet_ntoa is not thread-safe.
* Added thread-safe rs_inet_ntoa function (util/rsnet.cc)
 * Switched all calls to this function (most of the changes)
 * Modified getLocalInterfaces() and getPreferredInterface() to avoid string conversions.
   - NB: Modified windows functions too, but unable to test (hope it compiles!)

Also:
 * Added  EVP_CIPHER_CTX_rand_key() replacement function for old versions of SSL (pre 0.9.8)  (for OSX 10.5)
   - NB: This code should be reworked to remove these calls anyway.
 * Updated tests/pqi to handle above changes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3281 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 20:34:03 +00:00
thunder2
465cd42463 Memory leak:
- getLocalInterfaces -> iptable = (MIB_IPADDRTABLE *) malloc(dwSize);
- main -> RshareSettings  *_settings = new RshareSettings();

ExtAddrFinder::~ExtAddrFinder - use free for pointer allocated with malloc


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2882 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-09 21:58:28 +00:00
joss17
be5957742c remove some exit(1)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2425 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-25 22:43:04 +00:00