Commit Graph

3973 Commits

Author SHA1 Message Date
drbob
3d71e6338e Added more debug to serialisers.
* print out messages when serialisation fails.
 * removed BUG in TlvGetString() which allows a zero length TLV 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4496 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-29 15:17:39 +00:00
drbob
1ee26e3ef2 disabled DIRECT UDP connections...
1) Not always stable, especially if you are firewalled.
2) not needed as a TCP connection can be made!



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4495 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-28 13:05:20 +00:00
csoler
b903217317 fixed declarations instead of initialization
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4494 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 17:02:05 +00:00
csoler
ab37ea0ce1 fixed uninitialized memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 16:56:37 +00:00
csoler
00711753ad fixed uninitialized memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 16:32:54 +00:00
csoler
095168f4ec fixed uninitialized memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4491 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 16:29:25 +00:00
drbob
f67da9f8ce * modified code to add PeerId to stunner->exclusiveMode.
* fixed missing releaseExclusiveMode.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4490 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-27 13:56:35 +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
csoler
b3052e0208 set maximum port value to 65535 instead of old arbitrary value of 50000, and warned about system-reserved ports in server settings gui
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4486 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-23 20:07:06 +00:00
defnax
0b890420a0 enabled sorting and added dht icon for the window
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4485 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-21 23:12:05 +00:00
drbob
b56ddfeb5b * Switched on Dht "Attach" Mode if RS is firewalled. (and not nice firewall).
* Added interfaces to enable AttachMode switch.
 * Added further tcponudp tests.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4484 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-21 11:28:19 +00:00
drbob
f6002b3981 Added External Interface to control "Attached" Mode
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4483 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-21 11:23:56 +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
a683b64311 fixed compilation on ubuntu
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4481 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-20 17:56:49 +00:00
drbob
6e6767be30 * Added another Test UdpLayer: TimedUdpLayer, This simulates the firewalled situation, be only accepting packets after 60 seconds.
* added quick and dirty BitDht Packet check. test against "d1:" for the first 3 bytes. This should not conflict with Stun, Relay or TOU packets.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4480 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-20 17:04:44 +00:00
drbob
fcd51a8439 Added some more serious tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4479 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-20 01:35:57 +00:00
drbob
c3c6fb87be updated pair_tou test - its not vary good at the moment, more work to do.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4478 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 22:53:13 +00:00
drbob
6722fa24c5 repaired regression tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4477 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 22:23:33 +00:00
drbob
d656e0912f added scripts to run tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4476 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 21:30:35 +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
drbob
608cc32938 Reduce MAX_SEG to 1000 bytes. Previously it was at 1500 + HEADER, which could have been larger than MTU
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4473 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 10:05:14 +00:00
drbob
5ff19cf9d7 increased TCP WAIT time to allow external port to stabilize.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4472 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 08:14:25 +00:00
drbob
ed114cc9e5 Enable TCP connections again.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4471 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 00:17:54 +00:00
drbob
9d7b3446a2 Display UDP addresses in Dht WIndow.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4470 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 00:06:52 +00:00
drbob
cc9df9a80f Removed Lots of Debug, and fixed a couple of bugs.
* Increased Timeout Periods for UDP connections - this was stopping half of them from succeeding.
 * The other bug (Heartbeat / stream issues) has not been solved.
 * Fixed up initialisation of p3BitDht data. 
 * add DropPeers() as NON-ACTIVE (this allows peers which aren't VISIBLE to still try and connect)
 * export AddFriends/FOF/Others to LinkMgr to allow further SSL IDs to be added to p3BitDht.
 * Export UDP Addresses to DhtWindow.
 * switch off lots of debugging.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4469 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 00:06:09 +00:00
drbob
e7049cc483 * #defined most of the Debugging info out.
* increased bdconnection timeout.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4468 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-18 23:52:23 +00:00
drbob
b61b590f79 Silly Bug, overwritten the mConnectFlag with the Bandwidth parameter.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4467 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-18 18:28:20 +00:00
drbob
69c14461cb Merged v0.5-netupgrade branch back into the trunk ( --- Merging r4410 through r4465 into '.' )
This brings lots of improvements:
 * UDP Connection Code - this it the majority of the new code.
 * Simplification of p3ConnectMgr => p3LinkMgr, p3PeerMgr & p3NetMgr.
 * Notifications of Failed Connection Attempts
 * Addition of a "Getting Started Guide".
 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4466 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-18 09:25:15 +00:00
drbob
fe491dec54 Added display of Exclusive mode (E)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4465 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-18 08:44:40 +00:00
drbob
619b2416ac disabled Relay connections, and enabled UDP connections.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4464 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-18 08:37:11 +00:00
drbob
96ec46478a Changes to support the delay / bandwidth changes in libbitdht
* switched off the TESTING PERIODS.
 * added BASE PROXY wait time.
 * Increased PEERNET_CONNECT_TIMEOUT to 120
 * Prevented connection startup with Request underway (dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING)
 * corrected calculation of Exclusive Delay (Target of MIN_DETERMINISTIC_SWITCH_PERIOD = 60 secs).
 * don't do UDP Failed ConnectLogic update when connection was initiated remotely.
 * Extended UdpRelay to allow flexible Bandwidth limits in the future.
 * Added Timeout for Relays (30min for unknowns - 2hrs for friends).
 * Extract bandwidth from UdpRelay, at installation.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4463 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-17 23:41:30 +00:00
drbob
551e2594bb Added Bandwidth and Delay parameters to BitDHT Connect Messages.
* Bandwidth are for RELAY connections.
 * Delays are for Exclusive NAT Proxy connections.
 * Lots of changes to achieve this. (Mainly added "param" to msgs).
 * Various Bugfixes too.
 * Updated BITDHT Version to 01 as we've changed Message Format.
 * Increased Connection Timeout to 180 
 * Added extra checks to kill duplicate connections early.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4462 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-17 23:29:53 +00:00
thunder2
c50404a453 Added a project file (subdirs template) for libbitdht, libretroshare and retroshare-gui.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4461 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-17 23:28:44 +00:00
thunder2
8d4a4db027 Changed the generation of the gpg key and location to utf8.
The existing gpg keys and locations with umlauts are now shown wrong. The changes are not backward compatible.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4460 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-17 23:07:29 +00:00
drbob
c33b415ef4 Bugfixes for ExclusiveProxy Mode.
* changed PeerConnectStateBox::getNetState() to calcNetState() to provide up-to-date info (internal mNetState can be stale!)
 * Added "bool addrChangeLikely" parameter to ReleaseProxyExclusiveLock() - this parameter is determined by whether we actually started a UDP connection.
 * disabled ForceRestun in UdpStunner if addrChange is unlikely.
 * Reduced Stunner Period Slow from 3 minutes to 2 minutes - exact value will only be known after real-world testing.
 * More debugging.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4458 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-17 16:24:45 +00:00
drbob
181ad06e33 Added Exclusive Proxy Lock for DETERMINISTIC SYM Nats.
* tweaked time periods as these type of connections take longer.
 * added NatHoleType() to ConnectStateBox logic - as its required for ProxyPort Determination.
 * added ConnectStateBox::getNetState() so we can work out if in ExclusiveNat mode.
 * added ExclusiveLock checks at Connection Initiation / Proxy Connection Auth & Connection Ends.
 * added Simulation of Symmetric / Exclusive Nat to UdpStunner.
 * exported ExclusiveProxyLock for GUI display.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4457 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-17 13:48:37 +00:00
csoler
7d4b8288ca fixed compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4456 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-16 13:11:26 +00:00
drbob
a5c77d02e7 Added Random Timeouts / Retries to p3bitdht level.
* Fixed UdpRelay Interface Output.
 * added more variables to ConnectStateBox.
 * Changed Wait logic from sec since last attempt, to explicit attemptTS.
 * Improved PeerConnectStateBox::connectState().
 * Added RETRY_ATTEMPT updateCB.
 * removed stupid clearing of addresses (killed Relay connections).
 * added more debugging



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4455 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-16 13:01:08 +00:00
drbob
a63173b19e Modified the Connections so that occur as quickly as possible.
Each attempt should be completeable in < 10 Secs. 
This could increase up to 20 secs, if pings are required.
So with 3 Proxy attempts, should take 20-30 secs.

 * Removed as many of the pauses as possible.
 * connection attempt DONE if OUTOFPROXY, DUPLICATE, TEMPUNAVAIL or EXTCONNECT timeout
 * Fixed AutoAuth for Proxy (was triggering for Relay as well)
 * Increased QUERY_UPDATES to every 10 secs.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4454 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-16 12:57:11 +00:00
csoler
a2cefdf8f4 added www.myip.dk, and removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4453 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-15 19:06:38 +00:00
csoler
cfd43e63cf removed showmyip.org address from extaddrfinder
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4452 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-15 19:00:00 +00:00
csoler
d071cee94b fixed bug in dnsresolver reset function
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4451 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-15 18:55:33 +00:00
drbob
44b494e1fd connection bugfixes.
* Print DHT translations (for debugging)
 * enable all connection modes.
 * reduced timeout periods for testing.
 * kill connectionRequest after UDP Fail. (used to restart it).
 * fixed up UDP Fail / Connection Close code.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4450 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-15 16:05:37 +00:00
drbob
6609cec94d Bugfixes for connection logic:
* added bool return value to ConnectionRequest. only returns false if MODE not allowed.
 * added checks for an existingConnectionRequest - results in a NOOP.
 * made each ConnectionRequest result in only one UDP start.
 * a START message will not kill a local ConnectionRequest (even in remotely started).
 * increased CONNECTION_TIMEOUT as this should never happen at this level.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4449 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-15 16:02:56 +00:00
drbob
bffaf6e5ef More Udp Connection Bugfixes:
* connected Dht ConnectCallback()
 * added missing break statement in peernet logic (directattempt).
 * added state update if ConnectionRequest is rejected by DHT (normally because MODE UNAVAILABLE).
 * switched off UdpStunner.
 * added Debug Modes to rsUdpStack & rsFixedUdpStack.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4448 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-15 11:13:20 +00:00
drbob
0229ef1fe8 Disabled UDP connections (in p3LinkMgr) for now.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4447 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-14 15:01:41 +00:00
drbob
86bdc5dfd0 More Plumbing changes.
* Forgot that RELAY connections need extra parameters.
 * Added proxyAddr, srcAddr and Bandwidth parameters to connection attempts.
 * Completed UDP connection callouts from p3bitdht.
 * Added TCP connection attempt initiation from p3bitdht.
 * Added PASSIVE / ACTIVE determination in p3bitdht.
 * completed UDP connection logic in pqissludp.
 * enabled UDPSTUN_ALLOW_LOCALNET for testing.
 * added CONSTs for TOU Receiver Indices.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4446 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-14 14:56:33 +00:00
drbob
22debbce34 Turns out that the current implementation of p3NetMgr has NO dependancies on p3PeerMgrIMPL or p3LinkMgrIMPL.
Infact, it doesn't use these two classes at all (so you could pass void in the init function)...
  - It should actually update p3PeerMgr when it detects a Net Address change (TODO).

This means that there is potentially no need for a dummy object - p3NetMgrIMPL can be used almost as is!

 * changed p3PeerMgrIMPL & p3LinkMgrIMPL pointers back to p3PeerMgr and p3LinkMgr pointers.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4445 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-13 23:23:47 +00:00
drbob
216be04d83 * added DETERM_SYM NAT type to DHT Window.
* cleared DhtWindow global pointer at delete, so RS doesn't crash (and can relaunch window).




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4444 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-13 22:25:11 +00:00