Commit Graph

221 Commits

Author SHA1 Message Date
csoler
d340440998 - added debug ifdef to GRouter code
- switched turtle router and grouter to use service control


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7216 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-29 23:03:04 +00:00
drbob
0e6302ac6a Removed configuration type (uint32) as its not needed or really used.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7212 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-29 05:20:57 +00:00
drbob
83a78bcaee Added ServiceControl + ServiceInfo. Basics are working, but still a lot to do!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7196 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-22 03:53:44 +00:00
chrisparker126
0f29d28b1b merge of branch v0.6-idclean 7180
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7187 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-17 20:56:06 +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
csoler
158249d66e removed some debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7047 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-20 21:13:17 +00:00
csoler
630824aa1b Updated the notification system. Main changes are:
- the notification system is now a service, p3Notify, that is a public RsNotify.
- RsNotify does nothing except providing a registration system for new notify clients.
- Clients should derive a notify client from the NotifyClient class and register it to rsNotify
- all registered clients get all notifications, so only derive the needed methods. This should allow 
  plugins to get notifications as well.
- updated the code to call RsServer::notify()->[notification method] from inside libretroshare
- pqiNotify has been removed.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-07 22:51:22 +00:00
csoler
5c52890ad5 added grouter as a msg sending service. Not enable yet. Added serialisation for grouter items and test methods in tests/serialiser/. Added saveList/loadList for grouter. set connectToTurtleRouter() and connectToGRouter() to be mandatory methods
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6970 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-27 20:06:47 +00:00
csoler
6780ff2cff fixed bug that would cause virtual peers list for outgoing files to never get cleanred up. Also improved cost of updating the status of virtual peers. Many thanks to Jolavillette for finding this out!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6858 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 09:05:51 +00:00
csoler
3a82fffd0e - fixed bug (added missing call to addSerialType())
- removed unused RsFileTransferCacheRequestItem and all related functions
- fixed bug in turtle router calling members of a deleted item
- removed some debug info
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6789 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-02 19:56:01 +00:00
csoler
27041aa1a6 fixed bug in turtle router, causing potential memory access error in rare occasions (sendItem does not delete items fast enough, normally).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6786 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-01 22:23:08 +00:00
csoler
f25f46dffb fixed missing update of transferred bytes count, that caused tunnels to not show a correct speed estimate on server side
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6768 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-26 18:38:35 +00:00
csoler
81a4523434 - Enabled multi-tunneling by consistently perturbating partial tunnel id in TRs.
This causes tunnels with a different route to have different ids and therefore
  coexist as different sources for a given transfer.
  This should cause file transfers to have more tunnels and therefore a better balance
  of bandwidth over intermediate peers. This needs to be evaluated on a large scale network.

- Cleaned some unused code.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6740 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-15 19:05:04 +00:00
csoler
8aa3ccad72 removed code inconsistency (did not cause any issue)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6711 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-07 14:12:11 +00:00
drbob
f93ed1fb6e - Removed RsIface, and moved configuration options to RsServerConfig (rsconfig.h)
- Fixed cipher list to "HIGH:!DSS:!aNULL:!3DES", which should disable the weak ones, no idea how to force it to PFS (which it should use).
 - fixed void * pointer maths.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6584 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-08-21 21:36:33 +00:00
csoler
4868a90d81 patch from Henry morgan to fix soem typos (e.g misspelled connexion into connection)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6460 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-24 21:23:50 +00:00
csoler
5e319b1261 fixed autoWash() method in p3turtle.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6447 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-20 19:12:33 +00:00
csoler
8ab9c59a9f drop generic items with inconsistent peer id vs. tunnel directions
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6436 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-17 20:38:20 +00:00
thunder2
a304ffbab7 Fixed some compiler warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6419 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-09 17:54:54 +00:00
csoler
90b5e76f25 fixed bug in anti-search-by-depth mechanism; removed some compiation warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6416 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-08 20:48:02 +00:00
csoler
ca279ec0c2 first version of distant messages. Still needs some debugging
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6344 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-29 20:44:48 +00:00
csoler
5657ab9796 bug fixing. Apparently still problems with AES padding.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6323 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-21 19:16:25 +00:00
csoler
1c3ff8c54b - lots of debugging.
- added missing bits to turtle router for better handling symmetric traffic 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6321 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-20 18:56:06 +00:00
csoler
ff867d0fe5 most of the protocol for distant chat works! Still needs some testing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6315 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-18 21:41:13 +00:00
csoler
f12ad9583d - added functions to add/remove virtual peers in turtle client service
- removed all explicit connections between turtle and FT
- added tunnel and invitation management in p3ChatServer (still needs PGP encryption)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6300 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-10 08:52:52 +00:00
csoler
5e62f6c0c5 added serialisation/deserialisation and handling of generic tunnel data items
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6295 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-06 13:58:27 +00:00
csoler
6760b35ae6 fixed a few bugs related to previous commit
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6294 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-06 13:16:54 +00:00
csoler
0abb21d962 Added ability for turtle router to take client services
- new class RsTurtleClientService, from which should inherit the services
- turtle serialisation takes client services for deserialising
- added a client to p3turtle::monitorTunnels()
- added a generic turtle item to pass on arbitrary data

Moved ftServer as a subclass of RsTurtleClientService. 
- moved file transfer items that inherited from RsTurtleGenericTunnelItem into a separate file
- moved deserialisation triage into ftServer
- moved sending/receiving methods in ftServer (much less code, much more consistent!)

One bug remains: the TR cannot work as a server.

Changes should be 100% backward compatible.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6293 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-06 09:21:01 +00:00
csoler
270abcdc94 - removed _sharing_strategy and the methods that go with it, as its behavior is handled by the sessionEnabled() method
- added generic tunnel data item, along with item priority consts. Serialization still missing.
- added new class for turtle client services, and entry point methods.
- removed file name and file size ffrom _outgoing_file_hashes and _incoming_file_hashes. They are not needed.
- changed some names to more generic ones.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6285 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-01 21:18:58 +00:00
csoler
7fcdedea27 further reduced TR forward probability so as to avoid a crazy increase of TR out when we have a large number of friends
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6213 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-11 21:32:32 +00:00
csoler
66207b81e5 - made the names consistent between ftdata, ftdatamultiplex and tests/
- added missing virtual functions in ftDataRecv
- setup initSSL instance as a static member of AuthSSL, instead of an external (does not change much except the init in rsinit.cc)
- changed p3PeerMgrIMPL to take SSL and PGP ids as parameters. This avoids calling AuthSSL and AuthGPG from the constructor => very helpful for tests.
- added random creation function in t_RsGenericId<>
- added functions setAuthSSL_debug() and setAuthGPG_debug() to manually setup the authSSL and authGPG objects to use. Used in tests.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6035 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-26 18:12:19 +00:00
csoler
8f7f00c6b9 removed compilation warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5941 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-04 21:28:35 +00:00
csoler
e3da77612a - Added flags for services and service permissions for peers
Flags are identity-related, meaning that all locations of the same peers have the same flags.
- It's now possible to tweak which services each peer can use. Service that can be disabled are
  forums/channels, discovery, anonymous routing.
- by default, peers have all flags on.
- fixed missing error msg in p3cfgmgr when serialisation fails.
- fixed bug in RemoteDirModel causing infinite loop to happen when group name is unknown




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5924 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-01 19:22:22 +00:00
drbob
90415627a2 * Added second (temporary) switch to turtle.
* Use session switch for OperatingMode.
 * made OperatingMode temporary - not saved.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5895 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 22:49:00 +00:00
csoler
fd723bcea7 added global switch to enable/disable anonymous routing. This will be used for connexion profiles with very limited bandwidth
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5886 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 14:26:32 +00:00
csoler
6edb9eb4f8 Merged branch that provide group-based file permissions.
Now users can sort peers into groups in the friend list, and attribute flags and parent groups to the
directories in the share manager.

Flags are B-B-N, meaning in order:
- browsable for peers in the parent groups
- browsable for everyone
- network wide for everyone
Backward compatibility makes previously BN flags been interpreted as -BN, meaning browsable/network wide for everyone.

Be careful with this new feature. It has been tested, but it's a bit early to rely on it for highly sensitive data.

The merge also includes a significant improvement of the naming of flags with incompatible types
which should sort out some existing bugs as well, since inconsistencies in flag usage have been
found during the process.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5787 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-07 20:03:16 +00:00
csoler
997e833cc8 debugging tunnel handlign with permissions
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5774 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-04 14:52:38 +00:00
csoler
dc82cee700 First shot of file sharing permissions. Compiles, but needs some testing/debugging.
- added type-safe flags in retroshare/rsflags.h. This should be used to make new flags types in order to prevent mixing flags up in function prototypes.
- group handling is left to rsPeers. We'll move it to rsCircles later.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5754 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-01 10:06:12 +00:00
csoler
59712222da added an test to avodi calling a null ftController in simulation mode
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5639 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-10-04 21:26:32 +00:00
csoler
32b893ef92 made one method virtual to help simulating
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5628 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-10-01 11:50:34 +00:00
csoler
1c3d6e7c16 Improvements to turtle router:
- made faster tunnels stay longer by increasing tunnel campain time. Should favor fast tunnels. 
- desactivated tunnel shortenning since it cannot produce consistent tunnels every time
- increase cache TTL for search requests to 240 secs and tunnel requests to 120 secs.
  Will remove some zombie tunnels and search requests.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5589 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-23 19:58:08 +00:00
csoler
3146ddc7c2 removed debug flag left ;-)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5518 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-06 11:46:40 +00:00
csoler
550fa72afe fixed compilation with DEBUG flags
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5517 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-06 11:46:03 +00:00
csoler
f6c6af8b59 removed non-mutex-protected reference
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5157 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-10 19:04:31 +00:00
thunder2
3718d6ecfa Removed usages of "std::istringstream" and "std::stringstream".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5135 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-03 13:41:03 +00:00
thunder2
a6dfac2a37 Removed std::stringstream.
Removed not necessary include <sstream>.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5112 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-19 22:10:00 +00:00
csoler
a9e496f845 Improved TR routing strategy:
- updated base forward probabilities to larger values
   - used a minimum FP to 1/nb_connected_friends instead of 0. This is the larger non-explosive value.
   - changed tunnel management time to 2 secs instead of 1, setting the overall number of TR/s emmitted 
     for all downloads to 0.5 (Should reduce the TR load for the whole network by a factor of 2).

With these settings, someone with N friends should receive at most N/2 TR/s at depth 1, which corresponds to 
N/2*50 B/s. To reach the limit of 1500 B/s, one needs to have 60 connected friends downloading. Accounting for 
friends at multiple hops, having more than 30-40 friends is likely to be unefficient, although it will not
stop the network completely as it did before.
	 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5110 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-19 20:23:58 +00:00
thunder2
470951d664 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5104 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-15 14:37:44 +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
csoler
889a2b2433 Added deferred check of chunks during file transfer. Chunk sha1 sums are requested to the sources and checked for downloaded data.
Validated chunks are shared to other peers. Force check is now very simple since it just turns all chunks into "needs checking" mode
and sums are asked to sources. Sources maintain a temporary cache of chunks. Since sums are requested sparsely, this should not 
affect the sources in terms of performance. We can still imagine precomputing and saving sha1 of chunks while hashing them.

For backward compatibility reasons, the following has been setup *temporarily* in this version:
- unvalidated chunks are still considered as already obtained, and are shared and saved
- force check has been disabled
- final file check is maintained
- in case of file fail, the old checking mode will be used.

All changes for next version are kept in the define 'USE_NEW_CHUNK_CHECKING_CODE' that will be made the default in a few weeks.
At start, I expect most chunk to stya yellow during download, until most sources are able to provide chunk hashs.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5019 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-15 19:55:43 +00:00
csoler
fd83e5950f added control over TR forward rate, so that we can experiment with it on large bandwidth servers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4918 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-10 22:23:06 +00:00
csoler
2805d4ca1e disabled turtle routing for relayed connexions
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4799 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-14 13:27:48 +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
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
csoler
f4a2eaecce - implemented a visualisation for currently handled chunks, availability maps, and transfer info
- implemented transfer protocol for chunk availability maps between peers (not enabled yet though)
- suppressed rsiface directory from retroshare-gui
- moved notifyqt.{h,cpp} to gui/

next moves: 
	- send availability maps to clients; 
	- connect turtle search to unfinished files;
	- test multisource download with unfinished files.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1939 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-28 21:11:00 +00:00
joss17
fdb3673ce2 Add the tunneling connection. Warning, encryption is not implemented yet for tunnel connection, use only for testing.
Redesign the udp connection
Remove the rsiface duplicates from retroshare-gui.
Add some randomness in timings for connect manager

Merge branch 'connectionTunneling'

Conflicts:
	libretroshare/src/libretroshare.pro
	libretroshare/src/pqi/p3connmgr.cc
	retroshare-gui/src/RetroShare.pro
	retroshare-gui/src/rsiface/rsfiles.h
	retroshare-gui/src/rsiface/rstypes.h

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1867 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-13 21:59:26 +00:00
csoler
b1434fc86b removed call to rand() which lacks entropy on windows. Replaced by own congruency generator.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1631 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-11 14:32:06 +00:00
csoler
57ba727b6a fixed win32-x-g++ compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1595 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-05 11:59:42 +00:00
csoler
acb1000ef2 corrected potential bug due to double destruction of rsItem
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1581 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-31 20:54:42 +00:00
alexandrut
10d44a15b8 -add support for searching and display directories
-downloading directories from search dialog not implemented yet
-needs more code clean and beautify the directory tree

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1566 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-25 20:49:50 +00:00
csoler
3c09b4f2d2 added regexp search to turtle router
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1564 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-25 12:04:43 +00:00
csoler
a293a39d1b - Integrated the turtle search and download to the gui. Now the search handles both friend and turtle searching.
- added a console in config->server->F2F routing to be able to visualize turtle routing statistics

WARNING: this is not complete yet. The fllowing still needs to be done:
- detect duplicates in search results between turtle and friends search
- RegExpr search does ot work with turtle (still to code).
- search does not search own files. Is this really needed after all ?



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1540 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-16 20:10:53 +00:00
csoler
dfeaed705b corrected potentially harmful uninitialized memory reads
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1534 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-14 07:28:58 +00:00
csoler
cb5f22a5c6 Share Flags
- now, only files with the NETWORK_WIDE flag are searchable by turtle hopping.

	Next move:
	    - integrate turtle search in default gui.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1512 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-10 19:44:45 +00:00
csoler
65e1c17dbd added a few malloc gards
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1444 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-27 20:52:55 +00:00
csoler
6333cc4d37 added Makefile in libretroshare/src/turtle to comply with existing build scripts
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1373 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-14 13:33:14 +00:00
csoler
5e91af8be0 small bug fix about not acconting identical tunnels appropriately
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1301 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-06-15 20:34:34 +00:00
csoler
0a7d39d4da - improved integration with FT
- added function for properly removing handled file hashes
- tested/debugged persistence of file hashes
- tested/debugged tunnel re-digging and maintenance


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1298 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-06-14 18:59:42 +00:00
csoler
130d846207 - made turtle tunnel ids asymetric
- cleaned up the documentation in p3turtle.h
- update tunnel time stamp only *on the way back* to avoid unsuccessful requests to update a timestamp.
- implemented persistence of which hashes are to be handled.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1297 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-06-13 19:28:47 +00:00
csoler
3d6697e28b win32 compilation fix
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1290 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-06-04 19:30:19 +00:00
csoler
48218e98cb turtle tunnel management
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-06-03 18:47:14 +00:00
joss17
a26206cfbb gcc44 compliance
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1283 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-05-28 19:41:03 +00:00
csoler
1046bdd846 First commit for the turtle download. It works without perturbating RS traffic, but still needs some (internal) smoothing
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1275 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-05-26 21:42:45 +00:00