Commit Graph

120 Commits

Author SHA1 Message Date
csoler
6cf2090149
relicensed tcponudp, turtle, unused, upnp, and part of util/ 2018-05-30 21:19:13 +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
Phenom
635246c462 Fix warning: this statement may fall through
/libretroshare/src/tcponudp/bss_tou.c:246: warning: this statement may
fall through [-Wimplicit-fallthrough=]
   num=0;

/libretroshare/src/tcponudp/bss_tou.c:247: here
  case BIO_C_FILE_SEEK:
2017-07-16 20:25:11 +02:00
Enno Boland
2046d9eaae fix building with libressl 2017-05-21 10:48:58 +02:00
csoler
e75487e48a suppressed a few warnings (suggested by Phenom) 2017-02-25 23:16:43 +01:00
csoler
a531a41c4a fixed recursive call to BIO_set_fd() 2017-02-25 18:21:24 +01:00
csoler
175664e10e fixing compilation for openssl-1.1.0 (part 12) 2017-02-18 23:58:47 +01:00
csoler
0c77a10224 fixing compilation for openssl-1.1.0 (part 11) 2017-02-18 23:47:53 +01:00
csoler
9f9f0216f0 remved debug output in udlstck 2016-07-03 22:02:04 -04:00
sehraf
ea07a138bb fix TcpPacket::readPacket 2016-06-28 17:38:11 +02:00
sehraf
09afbbed5d switched to new rslog method 2016-06-18 13:00:15 +02:00
Phenom
6f03fa6601 Free TcpPacket pointer if returns because peer is unknown. 2016-05-13 17:58:38 +02:00
csoler
d55993d1e4 removed two instances of malloc(0) captured by new rs_malloc funtion 2016-01-12 21:43:04 -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
Sergei Reznikov
34758be52a Add Haiku support 2015-10-20 20:32:44 +03:00
thunder2
c76141ed65 Added missing initialization in
- pqissl
- pqissludp
- PeerConnectStateBox
- RsTlvBanListEntry
- RsServer
- TcpStream
- PGPCertificateInfo
- peerConnectAddress
- AudioInputConfig
- SpeexInputProcessor
- xProgressBar
- TBoard

Removed unused member:
- xProgressBar


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8611 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-07-13 11:03:18 +00:00
csoler
6aaf559b3a fixed typo preventing compilation without RS_USE_BITDHT flag
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-03-08 10:14:55 +00:00
drbob
7d9ff44fe2 Added extra check against invalid sockfds.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7951 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-02-17 12:08:40 +00:00
csoler
bf11765ff1 fixed a few compilation warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7859 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-01-23 08:22:54 +00:00
csoler
8129d0c5d4 Fixed inconsistent code (Patch rom G10H4ck)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7821 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-01-05 19:37:42 +00:00
drbob
e2dbbb7740 Protection against multi-threaded usage.
- Added Mutex for open / close of sockets.
 - Removed cross socket ticking.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7768 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-12-17 09:04:27 +00:00
csoler
d8d5fdd24c attempt at fixing tcponudp bug. To be tested.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7739 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-12-08 21:13:26 +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
csoler
b593a918a0 optim: changed postfixed ++ into prefix++ for non trivial operators, replaced test on std::list::size() by std::list::empty() (Patch from Phenom, modified)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7627 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-21 22:33:02 +00:00
drbob
bd688f0156 Tweaked TOU so it can accept Generic Sized Ip Addresses,
even though it will only accept IPv4 addresses.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7615 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-17 13:59:05 +00:00
drbob
8d721c7a95 Restore Stunner functionality
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7394 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-06-01 09:30:27 +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
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
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
069b72e0b2 Merged branch v0.5-gxs-b1 into trunk (from -r 5351 -> 5995)
This brings a huge amount of goodness into the trunk,
but there is still a big chunk todo before it can be released.

 * GXS Backend.
 * GXS Services:
	- Identities.
	- Circles
	- Photos
	- Wiki
	- GxsForums
	- Posted.
 * SSH no-gui server.

See branch commits for more info.

To switch on GXS stuff, enable CONFIG += gxs
in both libretroshare.pro and retroshare-gui.pro



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-16 19:17:11 +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
drbob
42781f6a3e Improved debugging by splitting the errors into multiple #defines.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5476 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-08-27 20:26:11 +00:00
drbob
bc7b42d81f Rework of tcponudp/tcpstream should make UDP connections much more stable.
- Fixed retransmit algorithm. Much more closely matched to TCP standard: http://tools.ietf.org/html/rfc2988
	- This increases retransmit timeouts, and reduces the number of packets resent.
	- Added better debugging for retrans/close as separate #defines.
	- Further testing is required ;)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5252 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-24 02:06:24 +00:00
thunder2
9aee68a2a9 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5108 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-18 00:00:59 +00:00
thunder2
970d88200d Removed some more compiler warnings from Windows compile (GCC 4.4).
Added -Wextra to the Windows compile.
Added new define in libbitdht for snprintf and fprintf to proper handling of "%ll" under Windows.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4951 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-17 10:03:38 +00:00
drbob
87944f251e * Enabled Relays by default.
- This will only effect people who upgrade from a very old version.
 	- Other people will have to switch it on manually.
	- Default is 0 friends, 1 FOF & 1 General @ 1kb/s... max 4kb/s usage per peer.
 * Switched off lots of debugging.
 * Bugfix for natassist (zeroconf returns 0.0.0.0:0 when its doesn't work).
 * Logged IP Addresses for Failed incoming connections.
 * Hacked IP address into the NewsFeed notifications (ugly).



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4827 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-20 17:50:19 +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
96c9071920 Changes to support Relays.
* added p3BitDht::addKnownNode() so that DhtIds can be used instead of SslIds.
 * switched from bdStdDht() functions to use bdModDht().
 * made DhtFunctions a class variable.
 * added function to modify NodePerBucket() parameter.
 * Bugfix for LinkType. peerConnectAddress.flags was not initialised.
 * Extra debugging of LinkType data (use LINKMGR_DEBUG_LINKTYPE).
 * cleaned up udprelay output.
 * Added Compile Rules to libretroshare.pro for building LocalNet Testing Version. (testnetwork)




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4795 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-14 01:54:17 +00:00
drbob
9e5e07d3f0 Reversed Changes for Testing Purposes.
* Disabled lots of debugging.
 * Disabled LOCAL test mode in udpstunner, rsinit
 * Enabled BadPeer checking in bitdht.
 * Restored normal timeout periods for connection attempts.
 * Restored normal connection levels for dht status.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4779 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-11 10:24:37 +00:00
drbob
ec05a7cc7d * Moved Relay Packet Debug to a seperate #define.
* Improved Relay Status Output & print when checkRelay() is called.
 * initialise timer variable (mMinuteTS) - was causing checkRelay to never be called.
 * switched to 10 second calling of checkRelay().
 * Increased RELAY lifetimes (x2). now GENERAL = 1 hr, so they can at least transfer 1 meg (minimum block size)
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4777 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-10 23:28:33 +00:00
drbob
54c0524764 Added Low Pass Filter to Relay Bandwidth Check... To allow brief bits over the peak.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4774 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-10 19:50:16 +00:00
drbob
9da96aef97 * Increased the max size of the relay packet to match tcpstream packet sizes.
* Added More debugging.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4765 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-08 12:43:55 +00:00
drbob
2b7499e61d More changes for debugging
* Enabled lots of debugging.
 * Switched to shorter timeouts for udprelays.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4763 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-08 10:50:33 +00:00
drbob
203fd6bffc Added external interface to control Relay Parameters.
* Modified UdpRelay handles the counting... 
	now each Relay Class has a bandwidth limit, 
	and you can drop down to a lower class - if your one is full.
	This ensures that the desired bandwidth is kept, and allows more friends to use the relays.
 * Added Interface in p3bitdht.

TODO: Test this stuff!



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4728 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-19 18:56:11 +00:00
drbob
2048bb5e47 Improvements to BanPeer Code, mainly from a UdpStunner perspective.
* Added UdpStunner::dropStunPeer() code to remove bad peer from stun list.
 * added calls to UdpStunner::dropStunPeer for BanLists going to/from DHT.
 * added  DEBUG_BANLIST_CONDENSE to remove unnecessary debug.
 * Improved UdpStunner::status() print out of stunlist.
 * Added extra check to throw away stun reports where remote_addr == reported ext_addr.
	- This was causing peers to get the wrong IP addresses.
 * Modified UdpStunner ExtAddr checks to make sure the IP addresses match.
 * Changed BANLIST service Id to from Test ID to real ID.

NOTE: These are stop-gap methods to avoid the wrong Stun reports.
A more robust scheme must be implemented. I'd expect that it would
involve a strict initial check to establish your IP address...
(e.g. require 4 peers to confirm it, allowing for some fake entries)
After this we can have a weaker check ensuring IP address matches.
If we detect a likely REAL change of IP address - drop back to requiring
a strick check again.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4717 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-08 20:15:08 +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
461378a3de * Increase UDP buffer size, as this might fix connection issue?
* Added peerId to udpstunner->exclusiveMode for debugging purposes.
 * added timeout for exclusive mode, this can happen if connection is lost at lower levels.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4489 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 13:55:19 +00:00
drbob
d0f52f1d5f Bugfixes for TcoOnUdp:
* Reduce Maximum Transmission size from 1500 -> 1000.  
	This is the cause of Failed Connections. It looks like UDP packets are being truncated from 1520 -> 1492 bytes.
	and this is killing the TCP protocol. Windows is the main suspect. UDP packets this large are liable to get fragmented anyway.
	We will start at 1000, verify that connections are okay, then start increasing this parameter.
	There is up to 64 bytes of Headers (IP + UDP + Relay + TOU), so 1400 + 64 = 1464 is below the 1492 cutoff. This is the target!
 * Switch to RSRandom for Sequence numbers. rand() is rubbish on Windows.
 * Added code to handle Larger Packets coming in (e.g. 1500 Bytes input, now that Max Size is 1000).

NB: The code is here needs to be optimised, there are excessive numbers of malloc(), new() & memcpy(), which should be removed.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4482 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-20 18:37:21 +00:00
csoler
179693e2a4 fixed missign return, and pointer-to-uint32_t cast
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4475 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 18:55:32 +00:00
drbob
c73bf9a71a returned MAX_SEG to 1500, as this definitely causes a bug (code is dependent on not getting larger packets).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4474 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 11:29:59 +00:00