Commit Graph

210 Commits

Author SHA1 Message Date
csoler
dc2df071a5 renamed RsSerializer into RsServiceSerializer 2017-04-24 14:14:34 +02:00
csoler
782c02744f added names for turtle sub items 2017-04-22 16:00:01 +02:00
csoler
e2d9152b22 moved converted serialisation files into new directory rsitems/, leaving serialiser/ for the serialisation classes 2017-04-18 21:11:37 +02:00
csoler
f8fc8b40e4 removed old code in turtle serialiser 2017-04-16 20:16:59 +02:00
csoler
121133488c fixed bug in serialization for turtle 2017-04-16 19:59:22 +02:00
csoler
636450f14d moved turtle and FT to new serialization 2017-04-15 18:46:44 +02:00
RetroPooh
06e4c68065 upd 2017-03-10 11:15:39 +03:00
RetroPooh
6a2181ca14 transfers - add peer names for turtle routed sources 2017-03-10 09:27:46 +03:00
csoler
5b819ebd7a added missing virtual destructor causing a memory leak 2017-03-09 20:59:01 +01:00
RetroPooh
d3f0f9dde3 router stats - mark active tunnels bold 2017-03-07 17:50:13 +03:00
Phenom
674b6de381 Fix Some gcc warnings 383 to 208 lines
Left explicit #warning and deprecated.
Some lines are wrong indented and produce mal formed code.
2016-11-30 22:01:01 +01:00
mr-alice
5aef67d332 fixed tooltips in ShareManager, and fixed anonymous search mechanism 2016-11-02 21:31:14 +01:00
mr-alice
d843c1c1a6 put consts behind serial_size() and serialise() in turtle items and ft items 2016-10-29 18:18:02 +02:00
mr-alice
3ad0a81d8f added encryption routine for FT 2016-10-19 21:30:37 +02:00
csoler
84341f26b3 changed _outgoing_file_hashes into a new map that connects services to tunnel ID instead of file hash, hence avoiding to remove a hash on server side when a tunnel is closed (bug found by Jolavillette) 2016-09-29 22:30:42 +02:00
csoler
b62b66a24c replace std::vector for std::set to represent _hashes_to_remove, so as to avoid duplicates (suggested by Jo) 2016-09-29 22:30:42 +02:00
mr-alice
a2e34f9cc6 moved regular expression classes into a separate namespace 2016-09-13 12:05:22 +02:00
csoler
e50e686dd2 updated the debug message for incoming data with no registered tunnel 2016-05-04 18:01:23 -04:00
csoler
5261c3cd73 prevented turtle to not deleting a config item when it is not cast 2016-04-21 22:23:07 -04:00
csoler
c97f197b7e removed depth obfucation of search results and replaced by 0 always, effectively removing any information about search depth (idea by AC) 2016-04-10 20:39:08 -04:00
csoler
5d2833fa42 improved one line of debug output in turtle 2016-03-12 09:25:28 -05:00
csoler
697ef4061c added test against arbitrary large items in turtle search requests. 2016-02-17 09:39:08 -05:00
csoler
51d90a4ef4 added test against arbitrary large items in turtle search requests. 2016-02-17 09:39:08 -05:00
Cyril Soler
85cdfcc721 fixed bug causing multi-tunneling not to be used (found by jo) 2016-01-28 10:44:37 -05:00
Cyril Soler
086b076477 fixed a few serialisation issues 2016-01-13 12:22:55 -05: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
csoler
8e666fcec3 fixed potential integer overflow / Out of bounds read in rsturtleitems.cc 2016-01-11 20:40:57 -05:00
csoler
8a41554754 fixed some leaking memory issues in loadList() methods, and also increased consistency by not returning non empty list with deleted items inside 2015-12-30 18:20:09 -05:00
csoler
3025f4d485 removed aliasign problem that breaks compilation on gentoo 2015-09-24 18:18:11 -04:00
csoler
7293cd3afa updated ubuntu changelog 2015-09-21 22:58:58 -04:00
electron128
dc65d365d8 let turtle items initialise their integers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8530 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-19 11:55:01 +00:00
electron128
bfab3622ec fixed unlikely but possible invalid read in formatting of bandwidth numbers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-16 14:18:09 +00:00
csoler
67c5ef9c8a increased responsivness of distant chat by forcing tunnel re-digging when no activity is detected. WARNING: the new timestamps make the communication break will peers not up to date, since they will not send keep alive packets on the same delay basis.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8023 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-03-15 13:23:03 +00:00
csoler
817aa793fc added non aggressive mode option to turtle router to make distant chat happy
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7856 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-01-22 20:25:39 +00:00
csoler
21fe2413cd two improvements of turtle router logic: increase of TR cache storage time to avoid too many void tunnels due to bouncing TR beyond storage period of 120 secs; prevent openning upload tunnels for files currently being downloaded before any chunk was obtained. Suggested by Jo.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7719 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-11-29 17:26:06 +00:00
csoler
85fce2f2dc added missing record of Dn traffic in turtle router
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7622 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-19 12:36:38 +00:00
csoler
11e370c56d fixed non working tunneling system, due to wrong service id used to query online peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7283 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-04-19 15:52:06 +00:00
csoler
9cfc9ecee1 removed checks for permissions in turtle router, when they are handled by the ServiceControl
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7228 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-04-03 21:28:16 +00:00
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