Commit Graph

3993 Commits

Author SHA1 Message Date
drbob
e232b1d47d Finished up Relay Interface code to p3bitdht.
- RelayServers, Relay Parameters & Relay Mode supported.
 - Store configuration via p3config.
 - New interface code in p3bitdht_relay.cc
 - Updated external interface rsdht.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4730 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-20 02:07:00 +00:00
drbob
52e9a27f7b Improvements to DHT to support Relays.
- Updated DhtMode Flags.
 - Allowed DhtMode Flags to be set independently.
 - Set RelayMode to ConnectionManager.
 - Added dropRelayServers() / pingRelayServers()
 - Added Support fns for above two functions.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4729 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-20 02:03:25 +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
4d2175636e Added basic ZeroConf interface.
- registers oneself, browses and resolves services.
 - Lots still TODO:
	- parse TxtRecords.
	- Track peers.
	- feedback to libretroshare
	- etc, etc.
Enabled ZeroConf in libretroshare.pro & rsinit.cc. Compiles and runs on OSX.
Added RelayHandler to Dht, to enable external control of Relays.
Marked pqiAssist Interface for changes... will be revamped with ZeroConf.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4727 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-13 16:19:37 +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
drbob
b6dbdf9396 Improvements to BadPeer Filter.
* Enabling Local BadPeer Filter. 
	- This will remove any peer you detect is spoofing yourself or your friends.
	- This list is also shared with you friends. (in Test Mode).
 * added Cleanup of BadPeer Filter.
	- Instead of permanent ban, peers are be banned for 6 hours.
	- bdManager periodically calls this - which prints out ban list too.
 * added #define to disable the Filter - for testing purposes.

NOTES: This Ip Filter should probably be moved from DHT level to UdpLayer level.
	This will enable it to filter STUN / UDP Connection Packets too.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4716 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-08 20:00:20 +00:00
drbob
92c53ff0d2 * silly ( A || B) bug... B isn't called if A is true. Stopped addition of Entries in p3BanList
* Only include External Addresses in the Peer Ban scheme (done in LinkMgr and p3BanList)
 * Disabled p3Dsdv before it is too widely used.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4704 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-01 17:21:52 +00:00
drbob
ed18152596 * Reduced DHT default msg rate to 5/sec. (was 50/sec)
- At this level it takes significantly longer for the searches to complete, but
	  there are no DOS warnings on the router. This should hopefully make users happy.
 * Added DhtMode() Interface call to dynamically change this rate.
	- Can be switched between (HIGH: 50/sec, MED: 20/sec, LOW: 5/sec & TRICKLE: 3/sec)
 * Disable additional Queries if PotentialPeer Queue gets too big.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4703 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-01 17:19:30 +00:00
drbob
8b40826940 Tweaked DSDV parameters.
Broadcast Time = 10min.
	Max Hops = 3 (2 Hops are broadcast).
	Removed print of RsDsdvRouteItem.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4699 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-29 18:20:04 +00:00
drbob
02b03d1a0f Fixed Dsdv debugging and cleanup of old entries.
Added PRIORITIES for BanListItems and DsdvItems.
Increased Dsdv Max Distance to 5...

Its almost ready for network-wide test!



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4698 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-29 17:14:51 +00:00
drbob
5268391f2e Rewritten Dsdv Stable Route decision algorithm.
* Store all possible routes (will be useful later!)
	* Periodically cycle through and choose the most stable one.
	* added ValidSince field... for tracking age.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4697 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-29 15:43:11 +00:00
drbob
85ea54395b Improvement to BanPeers Sharing Code.
* Added p3BanList as a service.
 * Added interfaces to communicate addresses.
 * Added debug to p3BanList.
 * Fixed several bugs in the AddEntry/Condense
 * Fixed Mutex deadlocks.

Improvements to Dsdv code too.
 * Added p3Dsdv as a service.
 * Added Function to create a TEST service for routing.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4687 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-25 00:58:01 +00:00
drbob
8d4a7ed4f0 Improvements to the Bad Peer tracking in the DHT.
* Added Interfaces for sharing Bad Peers.
 * Added bdPeerQueue class for storing
 * added doInfoCallback() to inform libretroshare



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4686 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-25 00:48:33 +00:00
drbob
f01d06c806 Added first part of p3banlist.
This is a service to exchange bad IP addresses within Retroshare network.
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4684 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-23 16:40:32 +00:00
drbob
7b0a33c318 Incremental DHT improvement - support in libretroshare.
- Added missing Mutex protection in p3BitDht.
	- Added p3BitDht::addKnownPeer() to communicate with libbitdht.
	- Disabled placeholder versions (addFriend/AddFriendOfFriend)
	- Added netAssistKnownPeer() libretroshare interface.
	- Added calls to netAssistKnownPeer() from p3disc and p3NetMgr.
	- Check for NULL ptr in p3NetMgr before calling p3PeerMgr.
	- Added FIX to maintain MANUAL FORWARD port (untested!)
	- Removed some compiler warnings.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4681 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-22 13:24:42 +00:00
drbob
4cd7523947 Incremental Improvements to DHT:
Added Knowledge of Friends, Friends of Friends and Relays.
	- Added bdfriendlist class to store information.
	- New interface function updateKnownPeer().
	- includes IP addresses, if known. (for filtering)

Bad Peer Filtering.
	- Check IDs against known peer IP addresses.
	- Added checks in checkPotentialPeer().
	- Added checks in addPeer().
	- Running in TestMode at the moment (Bad Peers are only flagged).

Other Fixes:
	- Removed some warning about int/uint comparisons.
	- added bdSpace::flagpeer() fn to support above.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4680 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-22 13:16:03 +00:00
drbob
1cfcac7377 Added Dsdv Data transport packet.
Shifted Dsdv address to separate TLV data type.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4679 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-21 14:38:13 +00:00
drbob
7f30b19f2a First pass at adding a DSDV system to libretroshare
- Added Routing Data Types.
	- Completed Basic Logic
	- Added Interface for GUI display.

Lots to do:
	- Handle edge cases (drop / add )
	- Test on the network.
	- Partner service, which actually uses system.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4678 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-21 07:49:38 +00:00
drbob
e679b57940 Branch to for DHT improvements.
Planned improvements in this branch:
	- Fix Manual Port.
	- Exchange/Block Bad IP Addresses.
	- Handle Multiple DHT Entries.
	- Add Friends Lists.
	- Intermittent Search
	- Enable Relay System.

	


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4674 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-17 22:03:44 +00:00
thunder2
1fd107a491 Added missing files.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4673 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-17 21:19:46 +00:00
thunder2
8fc1a46ee7 Added translation for plugins and added german language to LinksCloud. Recompile needed.
Changed the name and the description of the plugin to utf8.
Fixed german language.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4672 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-17 21:17:24 +00:00
csoler
4d9727f47a - fixed download priority handling. Proof-tested on multiple DL from the same peer.
- removed dependency of mRateIncrease into measured rtt -> would cause very slow transfers through long tunnels



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4671 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-16 20:30:20 +00:00
thunder2
f952bc267b Beautified RsCollectionDialog.
Fixed german language.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4670 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-13 13:58:39 +00:00
thunder2
e181127a30 Added new column "Last Contact" to the FriendsDialog and MessengerWindow. Moved some more basic functions to FriendsList and optimized the exisiting code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4669 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-12 01:26:26 +00:00
csoler
e315d4e48f updated ubuntu changelog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4668 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-09 21:34:15 +00:00
csoler
43cbc153ed added dialog to select files to DL from collection files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4667 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-09 21:26:51 +00:00
csoler
072c6c7e12 fixed extension stuff for rscollection
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4666 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-09 14:16:19 +00:00
csoler
f77bb8136f added icon for rscollection file type
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4665 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-09 14:02:15 +00:00
csoler
50d5c1159d Added the hability to create and handle collection files. A collection file contains a directory structure
and files that RS can DL seamlessly in the DL directory. Collection files are created from shared files
and can be handled by righ-clicking on them in Transfers and Shared files. Handling is based on the extension,
that must be "rscollection".


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4664 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-07 23:07:25 +00:00
csoler
ded1707151 improved behavior of hash cache
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4663 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-05 22:31:45 +00:00
csoler
fa690de1d6 small bug fixes about CRC32 verification when the file is actually complete.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4662 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-04 21:29:51 +00:00
csoler
d43a131c04 Improved CRC32Map checking in several ways:
- servers now compute the map in a separate thread
- CRC32Maps are kept in cache for 30 mins
- CRC32Maps requests cannot be used to overflood a server anymore since their number is limited.
- Transfer modules now send keep alive packets to maintain tunnels when asking for a CRC32Map



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4661 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-03 23:18:00 +00:00
csoler
a9cb864717 corrected bug in CRC32 map cross-checking: only downloaded chunks would be checked.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4660 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-03 23:12:54 +00:00
csoler
e202a01862 fixed bug: re-allocation of local variable
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4659 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-02 13:58:33 +00:00
csoler
3c2a5e8f42 Added a filemapper class to store downloaded files sequentially on the HD. The mapper automatically
re-organises (e.g. defragments) data such that
- when the DL is finished, the file is in the correct order (no need to re-order it)
- during the DL, only the n*_chunk_size first bytes of the partial file are written, where n is the total number of downloaded chunks.
- the total amount of copy operations does not exceed the total size of the file. In practice, it's much lower.

That suppresses the lag when downloading large files due to writing isolated chunks in the middle of the file.

Next:
- integration into ftFileCreator
- load/save in ft_transfers
- retrocompatibility with existing transfers.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4658 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-01 14:20:51 +00:00
csoler
9761c4c980 fixed compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4657 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-01 14:14:20 +00:00
csoler
51bd5e7d96 fixed compilation of fimontest.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4656 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-31 13:19:35 +00:00
thunder2
e3245fac5c Updated german language
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4655 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-29 20:06:27 +00:00
csoler
e045d72acf updated ubuntu changelog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4654 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-26 18:26:31 +00:00
csoler
a48dc86fb8 removed delay in file checking that would cause excessively long file update cycle
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4653 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-24 16:11:12 +00:00
csoler
78955270e2 corrected bug about wrong layout of friend list (patch from asamK)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4652 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-24 16:10:24 +00:00
defnax
659814f156 fixed the FriendList layout
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4651 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-23 22:39:08 +00:00
csoler
1fc8c5ef70 implemented slice sharing between peers.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4650 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-23 18:43:58 +00:00
thunder2
8e40fd6360 Replaced spaces with %20 in RetroShare links.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4649 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-22 11:15:30 +00:00
csoler
c8ea41a4db corrected bug that would allow a direct friend to DL a file that is NETWORK_WIDE only, using direct transfer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4648 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-21 22:25:18 +00:00
csoler
303f6333f6 obfuscation of TR and SR by random rare non-increase of length 1 requests (original idea by Costa)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4647 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-21 21:39:36 +00:00
csoler
521e9cb7c2 added missing files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4646 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-20 22:48:50 +00:00
csoler
01a93b5f36 commited rest of AsamK patch for factoring friend list.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4645 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-20 21:34:44 +00:00
defnax
c876925e57 layout changes for PluginItem
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4644 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-18 22:53:47 +00:00
defnax
26e114bfae fixed windows lib path
fixed qrc resources load

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4643 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-18 22:27:41 +00:00