Commit Graph

69 Commits

Author SHA1 Message Date
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
c650265704 added display of TR forwarding probability as a function of depth
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4625 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-01 11:46:00 +00:00
csoler
0ed60eaf86 merge of QoS branch into trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4588 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-04 20:01:30 +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
8e3e7d5209 Cleaned up rsPeers to remove 10 minute reconnect. The reconnect was caused by
the periodical call of cleanupUsedLocation, which was reloading all the GPG Keys - for each cleanup Key.
This required cleaning up various bits (AuthGPG, rsPeers, p3Disc).

 * moved rsPeer::cleanUnusedLocations => p3PeerMgr::removeUnusedLocations();
 	- made the function light-weight, no loading of GPG Keys.
 * moved getSSLCertsFromGPG() fn from rsPeers => p3PeerMgr
 * added p3PeerMgr::removeAllFriendLocations() to cleanup when removing a GPG Friend.
 * cleaned up rsPeers, made addFriend() / removeFriend() universal functions.
 * remove bool   p3Peers::setAcceptToConnectGPGCertificate(const std::string &gpg_id, bool acceptance)
 * removed all Dummy SSL Ids. - There is no need for this!
 * Major changes to p3disc to correct FLAWED logic.  (needs more testing).
 * removed as many dependancies on retroshare/rspeer.h as possible.
 * changed p3turtle dependancy on rsPeers ==> mLinkMgr.
 * added p3LinkMgr::getPeerName() and p3PeerMgr::getPeerName()
 * added return 1 to pqissllistener::closeConnection().
 * removed unused code from AuthGPG().
 * removed storeAllKeys() calls in AuthGPG::AllowConnection().



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4542 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-07 21:11:00 +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
de87a89437 Added a name to the RsMutex class.
You can enable the debugging of the waiting time for a lock of RsMutex in rsthreads.h with
#define RSMUTEX_DEBUG 300
That means all locks waiting longer than 300ms are logged into the stderr.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4392 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-04 22:59:39 +00:00
csoler
e77913914d fixed bug in search with size in MB. Caused crash due to deserialization error.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4347 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-28 08:18:54 +00:00
csoler
ee278b45b7 corrected uninitialized value
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4327 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-23 19:16:10 +00:00
csoler
0baaa271e9 added missing info for search depths
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4227 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-31 21:22:18 +00:00
csoler
7edcf59116 moved TR filtering to beginning of TR handlign function. Makes it more consistent w.t.r. the displayed turtle statistics
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4223 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-28 20:36:52 +00:00
csoler
f3ca5b9941 added automatic limitation of turtle search and turtle tunnel requests as a function of current traffic
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4222 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-28 14:39:47 +00:00
csoler
4d846513e2 added additional statistics from turtle router. Needs full recompilation.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4221 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-26 22:11:06 +00:00
csoler
3f21835114 added a display of turtle search/tunnel requests over time, to help spotting potential spammers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4216 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-23 21:45:25 +00:00
csoler
61b387447f fixed display inconsistency in tunnel local src/dst when getPeerDetails() call fails
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4170 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-25 14:15:57 +00:00
csoler
4ea647b78c implemented a verification for tunnel results. When the network gets heavily loaded, some tunnel results happen to get back twice. This stops the tunnel result sibblings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4152 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-10 19:22:15 +00:00
csoler
8e6962808d - added random bias to search and tunnel request maximum depth
- added random (and biased) re-routing of tunnel request to improve tunnel length.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4130 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-07 20:16:43 +00:00
csoler
9e2be4b5be implemented a better management of tunnel requests
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4093 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-03-15 23:09:31 +00:00
csoler
c448e82987 suppressed --probably-- harmless data race
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4021 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-02-08 19:37:01 +00:00
chrisparker126
2f559dae96 removed channel delete feature
added optimisation suggestion with load/savelist

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3920 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-18 19:35:07 +00:00
csoler
9bb5f304b7 changed function name addDistantPeer to locked_addDistantPeer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3899 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-07 21:45:12 +00:00
csoler
64e66f7f4c using new random generator for turtle tunnel ids.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3490 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-14 21:26:18 +00:00
thunder2
1c2db7eb9b Added missing return to p3turtle::loadList.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3467 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-11 11:11:58 +00:00
csoler
73f3fa3223 suppressed some warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3440 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-03 19:23:49 +00:00
leander-256
4bb4fc11e2 This intimidating patch renames libretroshare/src/rsiface/ to
libretroshare/src/retroshare/

All the relevant headers have been modified to reflect that change.

This allows installation of libretroshare on a system, headers will
be put in $WHEREVER/retroshare/ and we keep the ability to compile
against them, be it on the system or in the SVN tree.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-06 09:40:23 +00:00
csoler
012808ea00 - Implemented CRC32 map traffic through direct downloads
- replaced the findItems() call into a hand-written search (this was causing a rare bug in displaying downloads)


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3318 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-29 21:07:07 +00:00
csoler
cee8600a93 - implemented bidirectional exchange of chunk maps for direct downloads, to allow showing proper completion of transfers from direct friends.
- moved the direction flag upward in the pipeline (ftDataSend instead of p3turtle)




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3313 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-25 19:04:31 +00:00
csoler
8bfc74485a First implementation of per-chunk CRC32 check. This is triggered
- by the right-click+Force Check on files.
- when a global hash on a downloaded file does not match the announced hash.

When a CRC map check is ordered, the CRC map is requested to one of the sources for the current file download.
When received, all downloaded chunks are checked w.r.t the reference CRC and marked as not done if the CRCs do not match.
The exchange of CRC32 map and requests has been tested, as well as CRC map checking during download (force check).

To be implemented soon:
    - caching of CRC32 maps (although these are fast to compute)
    - CRC32 map packets for normal downloads. For now these work only for turtle tunnels.
    - handling of errors if the CRC never comes. For now, the download will stay stuck in "Checking..." mode.

So, don't play too much with the force check feature for now...





git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3310 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-21 23:14:10 +00:00
leander-256
c0ba17fce3 Several fixes:
- stores an iterator rather than searching a map twice
- deletes a message when it can't be routed in routeGenericTunnelItem()
- deletes a message when its contents allocation failed in sendFileData()


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3244 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 05:50:33 +00:00
csoler
bcd281f3e8 implemented speed measurement and display for turtle tunnels
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3161 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-19 12:11:44 +00:00
csoler
95c5c4b1a1 Added in RsItem a new virtual method queueType() that returns the type of the queue to
use for handling the packet: RsItem::DATA_QUEUE for data and RsItem::CONTROL_QUEUE for 
control packets, to be used in pqistreamer.

Up to now, File data chunks where the only packets that were going into the --less prioritized--
data queue. Now, the default in RsItem::queueType() being to return CONTROL_QUEUE, developpers can
choose which queue t use by simply overloading this method so that it returns a different value.

The first use of this was to make generic turtle tunnel packets use the data queue instead of 
the control queuem, which restores a correct balance between turtle downloads and friends downloads.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3153 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-16 21:09:58 +00:00
thunder2
c3b6da6386 cleaned some compiler warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3092 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-09 19:51:46 +00:00
csoler
b80aef1228 Suppressed the possibility for browsable only files to be searched by hash from turtle router.
This avoids that an attacker that captures a broadcast hash request can also ask for the file.

This needed to add back explicit sources in SearchDialog and private chat transfer. I dynamically search
for sources in file lists just before calling FileRequest.

When RS links anchorClick() will work properly with Qt, we can remove the search flag "EXTRA" from the
tunnel digging in p3turtle.cc, otherwise, people having this bug can't transfer files in private chat by
copy+paste of a RS link.
    
	Also:
	    - added missing mutexes in search requests into fimonitor.cc
		- suppressed some debug info in connect manager
		- added check for write fails when dumping config files



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3027 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-29 13:17:09 +00:00
csoler
ef67dbf244 fixed win32 compilation pb
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2537 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-13 12:24:14 +00:00
csoler
c22799b996 moved removal of sources off turtle mutex to avoid cross-lock. Added a closeFile() call when moving files out of the queue
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2523 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-12 19:39:23 +00:00
csoler
5f7486f160 added proper dynamic suppression of sources from chunkmap, and updated the gui
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2498 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-07 14:42:13 +00:00
csoler
9e469d8baf Added proper dl queue behavior
- suppressed old DwlQueue class
	- turned mDownloads into a list of pointers to allow easy cross-info update between queue and std::map of downloads
	- added queue functionality for moving files top/bottom/up/down
	- added the necessary functions in rsFiles

Put back display of exact sizes in FileTransferInfoWidget

Suppressed some warnings.

**Warning**: this commit requires a make clean.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-06 23:29:47 +00:00
csoler
fbfff65703 fixed group chat download
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2361 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-18 22:57:45 +00:00
csoler
5ff48963a5 improved tunnel display name
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2337 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-15 21:32:06 +00:00
csoler
272d9845a6 corrected invalid memory read due to bad deletion method in std::map
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2268 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-09 21:53:49 +00:00
csoler
b899327f13 improved display of turtle routing info, corrected some minor compilation issues
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2248 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-08 23:09:46 +00:00
joss17
5aff139382 further log cleanings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2235 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-07 23:01:46 +00:00
csoler
3e921bb254 added some security checks to turtle router
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2208 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-05 22:45:52 +00:00
csoler
8ccf3c3e2d corrected bug about display/selection of anonymous files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2176 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-03 20:59:54 +00:00
csoler
a70b106005 - added NETWORK_WIDE flag to remote dir model download
- added file priority strategy based on which files are requested first. This provides:
	- equal file speed for files with equal (source,priority)
	- effective priority speed for file of same source but different priority
- removed state variable load/save from turtle, as it's not needed anymore (FileRequest re-opens tunnels as needed)
- manage availability per peer instead of per file type: direct peer ids always assume file availability, while turtle tunnels don't

I still need to make the download queue work, and code this gui for it.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2133 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-26 20:40:21 +00:00
csoler
f42489d8e6 changed name of turtle tunnels into a more explicit and less losy name ;-)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2103 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-21 12:33:01 +00:00
joss17
9d53481946 make it run
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2003 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 21:01:06 +00:00
joss17
c23407cae3 get rid of p3authmgr
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2001 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-13 20:56:55 +00:00
csoler
cfaaec31c7 - Implemented chunk-based file transfer from partial sources. This in particular means:
- exchange of chunk availability maps from different peers
    - correct handling of what is available to which source before asking the data
    - correct display of chunks in the progress bars
    - generalised the use of compressed chunk maps
    - removed the size parameters from the hash search functions
   
- In addition:
    - suppressed a number of per-value transfers of std::string
    - improved the FileTransferInfo Widget, to show some additional info

Still to be done:
    - chunk map exchange for non anonymous traffic (easy)
    - improve accuracy of completion for uploads (for now it's a integer number of chunks)
    - check compilation on windows




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1993 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-11 16:00:42 +00:00
csoler
b83e894640 - added a generic RsItem to the turtle router and the methods to route it. This makes the code much more elegant.
- suppressed a cross mutex lock bug that happened rarely while digging tunnels
- changed FileDetails in ftServer so that it's now possiblt to search for hashes of files being downloaded
- improved the search code in ftdatamultiplex
- added some comments to the turtle code



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1964 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-02 21:30:19 +00:00