Commit Graph

517 Commits

Author SHA1 Message Date
mr-alice
0387a28e78 added methods to get files from hash(hash) in directory_storage and ftServer 2016-10-25 00:08:27 +02:00
mr-alice
2d72b88130 added code for AEAD construction 2016-10-24 15:59:34 +02:00
mr-alice
9d32406669 added ft decryption routine 2016-10-19 22:49:51 +02:00
mr-alice
3ad0a81d8f added encryption routine for FT 2016-10-19 21:30:37 +02:00
Gio
633a6cf8c2 Fixed a bunch of warnings in safe ways 2016-10-13 00:01:33 +02:00
mr-alice
9ce4b13e50 merged upstream/master 2016-09-23 19:03:54 +02:00
csoler
e6e95829bc fixed bug in estimation of next FT rate that caused downloads to stuck for a while 2016-09-22 13:44:53 +02:00
mr-alice
de104d3e34 fixed up GUI parameters in Directories. Removed HashCache duration handles since this is now automatic 2016-09-18 18:34:39 +02:00
MrAlice
ca30b0da44 fixed terrible cost of calling requestDirDetails before createIndex 2016-09-15 10:41:40 +02:00
mr-alice
93818f6088 simplified a bit the code in Flat_Model, and tried to fix the crash when sorting items 2016-09-13 21:23:27 +02:00
mr-alice
53c65fff9f removed cache transfers from the GUI 2016-09-13 18:54:00 +02:00
mr-alice
a2e34f9cc6 moved regular expression classes into a separate namespace 2016-09-13 12:05:22 +02:00
mr-alice
c1e538ff13 added interactive update of dir entries when browsing files from an online friend 2016-09-11 17:52:12 +02:00
mr-alice
ade6017f74 merged with upstream/master 2016-09-01 19:52:31 +02:00
mr-alice
ac242ce58b fixed display of own files 2016-08-16 23:44:48 +02:00
mr-alice
2668b6da1c added p3fileDatabase as a service in rsinit 2016-08-13 10:15:02 +02:00
mr-alice
538a11fd14 fixed compilation. Added missing functions, left blank 2016-07-31 15:59:58 +02:00
mr-alice
5b9fd74d85 removed most of CacheStrapper stuff from ftServer, replaced fimonitor by p3FileDatabase 2016-07-30 21:52:42 +02:00
csoler
01c0d2f0f1 finished conversion to RsNodeGroupId for file transfer and GUI 2016-07-05 23:49:43 -04:00
sehraf
cfc0e7071a libretroshare: remove unused variables 2016-06-02 14:54:07 +02:00
sehraf
f16ee97093 add static thread names 2016-06-01 16:21:55 +02:00
sehraf
b3fece25da introduce thread naming 2016-06-01 15:07:41 +02: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
9c6e7dfc13 added checks after mallocs in several files 2016-01-11 23:49:00 -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
22d4893721 removed a few compilation warning that might cause compilation errors on some systems 2015-09-24 18:03:19 -04:00
thunder2
865a45f294 Fixed possible crash in ftServer::receiveTurtleData by checking return value of dynamic_cast.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8595 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-07-12 01:16:16 +00:00
thunder2
3abec3363d Fixed possible crash in ftServer::handleIncoming by checking return value of dynamic_cast.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8594 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-07-12 01:08:33 +00:00
csoler
249c827f95 improved debug info in a few places
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8584 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-07-09 20:55:11 +00:00
electron128
cc0f1be95d added check for return value of fseek in ftFileProvider
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8510 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-17 09:36:20 +00:00
thunder2
0ee754939e Removed some unused parameter warnings.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8481 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-15 22:41:18 +00:00
thunder2
e30e0e1f8b Fixed unitialized member on ftFileControl.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8471 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-15 18:35:09 +00:00
thunder2
fa4ce9a913 Removed unused members mStart and mEnd from ftFileCreator.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8470 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-15 18:30:02 +00:00
csoler
74d689184a removed 2 unused members from FileDetails in ftextralist
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8443 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-14 15:27:03 +00:00
csoler
e9b9dce9f5 created 2 subclasses of RsThread, one for ticking services, and one for single shot jobs. Now all threads use the same base code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8288 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-22 20:54:38 +00:00
csoler
c9d5c7b3cb turned some std::list<PeerId> into std::set, as it automatically prevents duplicates
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8138 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-04-17 21:36:22 +00:00
csoler
a1b36cd530 added method in ftServer to allow retrieving data from shared/downloaded files (patch from electron, modified)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7999 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-03-08 13:46:07 +00:00
csoler
d2c4c3bb09 added new flag to allow peers auto-download recommended files from trusted neighbor nodes, which give the possibility to push data to other nodes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7955 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-02-18 19:07:58 +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
13d7866171 simplification of the chat interface to libretroshare using a single unified class for chat IDs. Used a common chat widget for all chats including broadcast. Opens the way to having plugins send/recv chat messages. Patch from Electron.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7800 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-12-29 21:41:05 +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
thunder2
67215c7ffe Removed unnecessary method p3Notify::AddFeedItem.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7674 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-11-11 20:28:45 +00:00
csoler
d8b3a16a50 removed debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7648 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-30 19:54:21 +00:00
csoler
d547cb6fdb changed post fixed operator++ into prefixed. More efficient on some systems. Patch from Phenom.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7630 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-24 22:07:26 +00:00
csoler
880efee332 removed ifdef for the different sleep methods. Now only usleep is used, on all systems. Patch from Phenom
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7629 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-24 21:31:58 +00:00
csoler
b593a918a0 optim: changed postfixed ++ into prefix++ for non trivial operators, replaced test on std::list::size() by std::list::empty() (Patch from Phenom, modified)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7627 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-21 22:33:02 +00:00
csoler
e18c934e21 ported commit 7487 from branch 0.5.5. Seems to fix loss of config files on windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7548 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-09-20 19:54:04 +00:00
csoler
6bfe653330 small glitch fixed in std::cerr call (Patch from Vaio)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7512 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-09-09 17:15:05 +00:00
csoler
0ab21fa033 removed unused ftfilemapper class
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7511 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-09-09 17:13:48 +00:00
csoler
86126dea25 fixed small memory leak when chunk data is not found (thx to electron)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7507 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-09-08 19:37:01 +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
190988c3cc Switched most of the services to use p3ServiceControl instead of p3LinkMgr.
- Added a couple of utility fns to p3ServiceControl too.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7211 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-29 03:57:44 +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
csoler
235280399f - changed Sha1CheckSum from hand-made class to instance of t_GenericIdType<> (should be backward compatible)
- updated ft/, p3msgservice and p3chatservice accordingly
- added a new class for Sha1Sum in t_GeneridIdType<>, and an additional template argument to make ids of identical size 
	incompatible.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7082 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-01 19:10:45 +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
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
3add068cdd removed status member from FileDetails. Not used => misleading
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6944 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-13 19:41:52 +00:00
csoler
162ef94b70 extended max chunk TTL to 1 hour. A short TTL is not anymore needed since chuns are shared between sources
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6935 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-09 13:35:06 +00:00
thunder2
e269128bdc Fixed compile on Windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6923 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-05 17:44:46 +00:00
csoler
028c9f8c07 split lastRecvTimeStamp into two different time stamps: one for last time the file is wrote (or data is received) and one for last activity that is used (and sometimes reset) by ftcontroller when queuing files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6921 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-04 20:26:54 +00:00
csoler
f7a36d65a9 filter out disallowed direct sources from file request source list. Should systematically prevent unwanted direct transfers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6915 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-28 20:53:03 +00:00
csoler
01588f6f53 fixed bug introduced in 6910, due to calling member on deleted mCreator
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6914 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-28 19:43:14 +00:00
csoler
830404a25e fixed the bug that caused unwanted direct downloads. A check was missing in ftController::FileRequest
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6911 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-27 20:12:16 +00:00
csoler
75c178082f fixed last received time stamp so that it displays the last time data was actually received
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6910 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-27 20:01:09 +00:00
csoler
2e5069cc2a removed debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6898 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-08 21:24:57 +00:00
csoler
9c4c5da73d Changes according to experiments from jolavilette:
- set desiredRate of peers to 10MB/s instead of 1MB/s
- maximum number of active chunks per peer is now 20 (that was a serious limiting factor)
- ticks that bring no data are not accounted for in the speed estimate anymore. The data is averaged over all ticks since the previous 
 non zero data chunk -> this brings much more stability to sources and removes lots of oscillation.

The maximum theoretical speed per source peer is therefore 13MB/s (in "Average" DL mode), whereas previously it was 1.3MB/s



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6897 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-08 21:23:57 +00:00
csoler
3f09bdb0b7 removed false warning that come up when openning a non existing file in ftFileCreator.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6896 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-07 21:17:18 +00:00
csoler
580860ca81 removed debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6864 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 18:09:40 +00:00
thunder2
5b6aa594c6 Code maintenance for Qt 5:
- Renamed CacheData to RsCacheData, MinGW-w64 has already a class with the same name

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6862 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 12:07:33 +00:00
thunder2
9095e9bd75 Code maintenance for Qt 5:
- Added some more includes needed by MinGW-w64

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6860 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 11:00:49 +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
7876001be3 remove three costly loops in ftController
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6833 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-15 20:39:13 +00:00
csoler
67517ad074 restore file state when restart (Modified patch from Phenom)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6807 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-06 12:56:37 +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
8e7fe9f79b made file transfer a service. Removed all the old FT code from pqiHandler, and got rid of deprecated CRC32 computation/exchange methods
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-01 08:11:15 +00:00
csoler
d127d36131 added missing setPeerState that caused tunnels to get stuck to default minimum rate unless the list of connected peers change
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6739 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-15 18:27:52 +00:00
csoler
887c9ed50e fixed potential uninitialized memory read in PeerUploadInfo
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6697 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-06 19:06:56 +00:00
csoler
6e8679ff90 automatically put paused files at end of queue (Patch from Phenom)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6642 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-08-28 21:26:27 +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
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
thunder2
9fcb18553a Fixed crash with Windows compile.
Renamed method "RsFiles::CopyFile" to "RsFiles::copyFile" (lower case) to avoid renaming of "CopyFile" to "CopyFileW" with the newly included "windows.h".

From windows.h
#define CopyFile CopyFileW

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6415 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-08 20:03:29 +00:00
csoler
f6509bef31 only add direct sources that have flag for direct DL enabled
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6412 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-06 20:52:24 +00:00
csoler
dc2521cf71 Merged branch v0.5-GenericTunneling into trunk (Rev. 6284 to 6410).
- adds turtle router as a generic tunneling service
- made ftServer a client of the service. Now turtle file items are handled in ftServer
- added new client: p3MsgService to send/recv pgp-encrypted distant messages
- added new client: p3ChatService to perform private (AES-encrypted) distant chat through tunnels.
- The GUI is disabled for now, since it needs some polishing before being fully usable.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6411 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-06 19:58:30 +00:00
csoler
9c69ad0500 added a new per-friend flag to allow to seek for direct transfers. Disabled for existing friendds (should be added manually), enabled by default for new friends
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6406 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-05 12:57:11 +00:00
csoler
ef2ebcc1d6 removed unused code
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6405 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-06-05 12:55:48 +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
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
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
e4c3415ab9 fixed saving of default chunk strategy. Progressive mode was not saved
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6269 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-22 12:14:48 +00:00
csoler
6121e613eb removed compilation warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6258 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-20 20:25:13 +00:00
csoler
2dcc35d979 further remove of debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6247 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-19 20:21:20 +00:00
csoler
87842640e1 removed debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6246 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-19 20:16:40 +00:00
csoler
4c670e81f0 removed debug output from ftcontroller
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6216 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-12 17:44:00 +00:00
csoler
6cb37ac478 fixed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6209 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-11 20:46:18 +00:00
csoler
400f9f63d8 added/fixed some debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6208 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-11 20:44:23 +00:00
csoler
4b9087b60d removed dead-end for peers not answering downloads, that would get file cache transfers to get stuck indefinitly when peers are too much stressed for a short period. The offline state is entirely given by setPeerState()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6206 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-11 20:33:49 +00:00
csoler
4e4e81fa8e fixed uninitialized memory read in debug statement
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6203 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-10 22:29:25 +00:00
csoler
4c3905e257 simplified the chunk drawing code a little bit
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6177 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-01 23:41:42 +00:00
csoler
1fb605cfa9 fixed stupid bug causing streaming mode to get stalled
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6176 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-01 23:16:09 +00:00
csoler
4f1dda2ffb added new DL mode: Progressive. This is a random mode that ensures no more than 50MB of free space will be written in the file at once. This should effectively remove the lag when initiating a DL on a big file, while keeping enough entropy to ensure a good dissemination of chunks
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6164 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-28 20:42:01 +00:00
csoler
5b4739352e added dynamic menu for choosing download directory for files being transfered, and change the name of the destination file
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6156 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-27 16:59:16 +00:00
csoler
5646e29357 added auto-check of shared files after each download. If that causes too much activity, we will make this a option that in on by default
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6154 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-27 10:03:54 +00:00
csoler
c117078566 removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6139 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-23 12:53:20 +00:00
csoler
b2214fcd46 removed #ifdef USE_NEW_CHUNK_CHECKING_CODE, since it is enabled by default now. Also removed the use of assume_availablility to put chunks or not in checking mode. This was inconsistent. As a side effect, cache files of size > 1MB get chunk-checked as well, which is good
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6050 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-27 21:16:33 +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
bc65dd40c2 - Restored compilation of most tests (The part using previously named p3ConnectMgr is still to be done).
- moved ftSearchDummy and ftDataSendPair in tests/ft since it is only used there.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6009 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-17 23:05:25 +00:00
drbob
069b72e0b2 Merged branch v0.5-gxs-b1 into trunk (from -r 5351 -> 5995)
This brings a huge amount of goodness into the trunk,
but there is still a big chunk todo before it can be released.

 * GXS Backend.
 * GXS Services:
	- Identities.
	- Circles
	- Photos
	- Wiki
	- GxsForums
	- Posted.
 * SSH no-gui server.

See branch commits for more info.

To switch on GXS stuff, enable CONFIG += gxs
in both libretroshare.pro and retroshare-gui.pro



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-16 19:17:11 +00:00
csoler
63ceac29d2 suppressed bug due to not cleaning source lists. Would cause transfers to have inconsistent direct sources
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5860 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-20 21:42:21 +00:00
csoler
b2e97407b5 added dynamic addign of direct sources from file lists. Useful for channels. Is called once every 61 seconds.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5850 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-19 22:45:37 +00:00
csoler
d3a3efd492 added additional checking of incoming compressed chunk map, in case the data is currupted, which might happens with a corrupted ft_transfer.cfg file.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5816 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-13 20:13:09 +00:00
csoler
454daf1981 Iproved file list handling:
- Implemented correct cacheData send to clients usign constant subid value.
- At start, the association between peers and available file list is always recomputed
- overloaded cacheAvailable() and refreshCache() in FileIndexMonitor
- added callback in rsFiles to force re-generating cache items when group layout has changed
- force re-sent file lists when moving peers between groups in the GUI
(Fixes group leaking problem) Needs full recompilation of libretroshare.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5813 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-12 22:51:27 +00:00
csoler
f61a50c5a6 fixed permission of drap+dropped files. all attached files get added to extra list, but with different permission flags depending on the client. From that, we compute sharing permissions : turtle, or direct transfer only
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5808 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-11 21:17:00 +00:00
csoler
ab26059570 added missing mutex in destructor of ftFileProvider. Probably responsible for some random crashes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5802 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-11 10:29:03 +00:00
csoler
786177eaf0 Files being downloaded anonymously are declared as available with flag DIR_FLAGS_NETWORK_WIDE_OTHERS. Fixes bug that prevented swarming to happen
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5795 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-08 19:47:39 +00:00
csoler
5e913feee7 fixed bug of transfers not handled by turtle router. This was due to a change is values of flags. I added a test to update flags from loaded transfer infos to convert them properly. Just restart your RS and your transfers will perform normally.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5794 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-08 19:18:45 +00:00
csoler
a2f958b956 disabled flag DIR_FLAGS_NETWORK_WIDE_GROUPS for consistency reasons. We might extend it to rsCircles later.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5784 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-06 20:46:56 +00:00
csoler
65146b77d9 fixed bug in permission check
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5776 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-04 15:15:36 +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
d77c73adf4 loading/saving parent groups for directories.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5770 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-03 15:25:25 +00:00
csoler
bd37e78884 debugged search functions
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5760 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-02 14:25:35 +00:00
csoler
e753f22909 fixed flags conflicts
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5758 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-02 13:52:29 +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
thunder2
78edc7687e Fixed compile of libretroshare on Windows. The corrected pro files are not included.
Moved the includes of rswin.h from the header files to the c files.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5655 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-10-09 23:07:51 +00:00
csoler
170bbf4ce2 removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5609 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-26 19:24:59 +00:00
csoler
1a8c9d9416 patched fttransfermodule to always fulfill the data suze request, even if the file creator returns small (old pending) chunks, or stops at a chunk boundary. This should improve data flow and hep achievign hight speeds on fast internet connexions
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5505 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-02 20:41:25 +00:00
csoler
24f8ee6222 Added dynamic choose of sources for chunk crc requests. Fixes the bug that would let
a transfer not finish if the original surce for a crc is not here anymore.

If you have a unfinished transfer do a force-check after restart to get back chunks that 
where still on verificaiton stage.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5315 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-19 20:52:04 +00:00
csoler
0d3d1ebc18 fixed bug preventing files < 1MB to terminate properly
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5240 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-21 19:24:14 +00:00
csoler
36198b7e6a Enabled full chunk checking code:
- unchecked chunks are not made available to swarming sources, not saved as done.
- force check now uses the simple method to put all chunks in checking mode
- force checked files can be cancelled (finally!)
- improved display (use red for active chunks, yellow for checking)
- cache file are not using chunk checking (assume_availability=true)
The code still contains the #ifdef. It should be removed soon if everything works ok.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5235 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-19 21:36:10 +00:00
thunder2
569d463f02 Optimized the fill of the up- and downloads in TransfersDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5191 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-01 20:51:14 +00:00
csoler
c0e066598d switched chunk per peer and max chunk age to previous values, now that chunk cannot be slowed down by slower peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5165 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-13 20:08:59 +00:00
csoler
f5c345659a Improved multi-source file transfer in two ways:
- tunnels can borrow data chunks from only slower tunnels, to prevent blocking fast tunnels
- tunnels can handle up to 50 data chunks at once instead of 5
Multi-source transfers are generaly faster and more stable.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5156 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-09 21:31:05 +00:00
thunder2
ec501c6d6a Fixed issue with lost downloads when RetroShare exits (or crashes) during the load of the file transfer items. The pending list was not saved.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5153 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-07 14:54:46 +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
thunder2
9aee68a2a9 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5108 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-18 00:00:59 +00:00
thunder2
83bd45caa4 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5103 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 22:38:24 +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
08a52dc369 fixed bug causing some transfers to never finish
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5063 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-30 19:33:58 +00:00
csoler
8f69251334 small improvements to the chunk checking algorithm
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5047 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-24 14:45:33 +00:00
csoler
633b66b1dd fixed missign delete in hash computation code
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5038 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-19 13:50:33 +00:00
csoler
c9f99c0be9 removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5030 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-17 14:45:52 +00:00
csoler
456177ef11 fixed bug responsible for sending wrong checksums on windows systems
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5029 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-17 14:08:27 +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
08d57e1681 fixed returned value not accounting for tests
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4964 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-19 15:04:56 +00:00
thunder2
970d88200d Removed some more compiler warnings from Windows compile (GCC 4.4).
Added -Wextra to the Windows compile.
Added new define in libbitdht for snprintf and fprintf to proper handling of "%ll" under Windows.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4951 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-17 10:03:38 +00:00