Commit Graph

83 Commits

Author SHA1 Message Date
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
defnax
724e6f81a8 update revision string
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3298 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-17 20:51:25 +00:00
drbob
648e15bcf7 Found cause of OSX network resets / lost connections: inet_ntoa is not thread-safe.
* Added thread-safe rs_inet_ntoa function (util/rsnet.cc)
 * Switched all calls to this function (most of the changes)
 * Modified getLocalInterfaces() and getPreferredInterface() to avoid string conversions.
   - NB: Modified windows functions too, but unable to test (hope it compiles!)

Also:
 * Added  EVP_CIPHER_CTX_rand_key() replacement function for old versions of SSL (pre 0.9.8)  (for OSX 10.5)
   - NB: This code should be reworked to remove these calls anyway.
 * Updated tests/pqi to handle above changes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3281 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 20:34:03 +00:00
csoler
458a8faf70 - implemented post-download hash re-check. For now, if the hash does not match, the download is canceled, but in the near future, per-chunk comparison wil occur
.
- corrected a bug that caused file copy error: a closeFile() was missing when the file is complete. Because of delays in fwrite, the file would not be always co
mplete, nor exist at all for small files (e.g. cache files), which in the later case caused the copy error.

Warning: needs a make clean in libretroshare to recompile.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3261 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-06 05:04:11 +00:00
defnax
54c8b2b0fa update rs version
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3254 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-05 10:52:50 +00:00
thunder2
918decfd0d fixed compile on Windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3224 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-27 00:18:33 +00:00
thunder2
ec6c252d62 fixed crash (asserts) by parallel calls to gpg.exe
changed the RsReadWriteMutex to RsStackMutex in AuthGPG


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3158 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-18 20:19:04 +00:00
thunder2
c5eade329b revert my last changes, because _thread_id is useful for debugging
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3130 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-13 21:12:25 +00:00
thunder2
a5b7950065 moved the member _thread_id from class RsMutex inside the define RSTHREAD_SELF_LOCKING_GUARD
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3128 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-13 17:47:00 +00:00
csoler
0d14351b8a Ported branch commits:
3099: libretroshare/src/tcponudp/udplayer.cc 
      libretroshare/src/tcponudp/udplayer.h 	
      libretroshare/src/util/rsnet.cc 	
      libretroshare/src/util/rsnet.h

	moved operator<<(ostream&,sockaddr_in) to rsnet.h, as it is used at
	different places

3100: libretroshare/src/util/rsdiscspace.cc
	suppressed debug mode

3101: libretroshare/src/serialiser/rsdiscitems.cc

	put correct (i.e. non conservative) size for RsDiscReply packets

3102: libretroshare/src/services/p3disc.cc

	Made a pass on the code in p3disc. Corrected some bugs:
		- suppressed an unwanted return in packet treatment
		- prevented sending info to a peer about itself
		- changed askInfoToAllPeers() such as not to discard info
		  from peers with NODISC flag (because we especially need
		  info for these)
		- enabled receiving p3disc info even if p3discovery is
		  disabled. Indeed, disabeling p3disc is a measure of
		  protection, so it should limit the export of p3disc info,
		  not the import.
		- removed test discarding info about dummy friends, because
		  it is useless
		- don't discard info about peers that have the NODISC flag
		  (meaning that we especially need info for them)
		- added safety check about received GPG keys. Before we
		  relied on this test being performed by
		  p3ConnMgr::addFriend()
		- added some debug info

3103: libretroshare/src/ft/ftcontroller.cc
	removed debug info



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3104 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-10 13:42:49 +00:00
thunder2
342768e626 improvements messages:
- save msgId in configuration file
- enable previous improvements read/unread state and tags

new function for creating backups of a file
bool createBackup (std::string sFilename, unsigned int nCount = 5);

currently its only available for windows compile. maybe there is a linux developer who change it for linux.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3064 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-04 23:39:33 +00:00
defnax
ca56bee921 added svn_revision.bat file to update easier the rsversion.h under Windows, and modifyd the mingw32make.bat before compiling write the latest revision to rsversion.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3049 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-01 22:46:56 +00:00
thunder2
334c9b61d3 moved rsGlobalShutDown from MainWindow::doQuit to main
rsGlobalShutDown now cleans the threads and some memory on exit

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3028 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-29 15:14:25 +00:00
defnax
6179470511 revision number testing
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3015 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-27 23:56:36 +00:00
defnax
2f2f761043 change rs revision number
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3014 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-27 23:54:58 +00:00
drbob
0b31b54be3 * Debugging for MacOSX, print out NET_RESET stuff.
* Fix discspace for OSX.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3012 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-27 22:34:45 +00:00
csoler
dba460ce0c converted uint32_t to uint64_t for computing free disk space size. Helps getting a correct size estimation on large file systems.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2993 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-25 08:18:10 +00:00
csoler
1122e9fa56 fixed disk space estimation for large file systems
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2992 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-24 19:18:57 +00:00
thunder2
98c99172c0 fixed check free space for the portable version in windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2986 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-23 23:53:17 +00:00
csoler
757aa7a95d Ported branch commits 2980/1: cleaned the code in IP address lists management. Removed some bugs. Changed the strategy a bit: only keep the most recent port for identical ips. Changed the interface of extAddrFinder to make it mroe secure.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2983 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-23 22:27:10 +00:00
drbob
54219ea685 Added in #ifdefs and corrected usage of vstat for OSX.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2979 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-23 21:27:41 +00:00
csoler
89a6142a9b attempt at fixing windows compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2972 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-21 23:59:35 +00:00
csoler
87d96059cc forgot to commit this
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2969 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-21 22:05:50 +00:00
leander-256
913789b972 This is a patch for the previous patch *facepalms*
I got confused somehow between the different versions of my modifications and Linux/Windows, anyway it should work now.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2925 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-16 23:59:39 +00:00
leander-256
b30056e17f This patch allows Windows users to share files and folders with "exotic" characters.
The problem was that libretroshare handles files in UTF-8 but Windows's ANSI/POSIX C functions automatically assume that the char* parameters are encoded with the system's code page. There is no way to set that code page as UTF-8. So now under Windows the code translates the file name to UTF-16 before feeding it to one of the Unicode functions (they are usually prefixed or suffixed by 'w'). Please note that it is not very efficient.

Furthermore, Windows does not provide a Unicode version of opendir/readdir/closedir, so it was necessary to use FindFirstFileW/FindNextFileW/FindClose which has a different behaviour as well as different structures. The FolderIterator class was created in order to mimic the Unix way of traversing folders contents. Hence the algorithm is unchanged and the systems differences masked.

As it was necessary to use some functions from the Windows API, <windows.h> had to be included in a few files were it didn't appear before, creating macros and #define conflicts. In order to solve them, util/rswin.h must be included first in a file (if necessary). Otherwise the preprocessor will fail on purpose to avoid the code being compiled with different _WIN32_WINNT values.

As another side-effect, rstlvutil.h and rstlvutil.cc have been removed from libretroshare.pro file. They are only used by testing units and include util/utest.h which defines a macro FAILED that already exists in <windows.h>. I don't know if unit tests are still in use and I don't plan on coding often on Windows, so I'll leave that as an exercise (hot potato?) to a motivated fellow Windows programmer.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2924 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-16 23:26:45 +00:00
defnax
b0c4022ef1 update version
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2855 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-06 10:47:09 +00:00
defnax
9ee0ad5975 update version
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2835 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-02 16:06:38 +00:00
defnax
890622f413 fixed #include <netdb.h> is not available on windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2760 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-22 20:03:47 +00:00
joss17
50e2e5f672 add include for compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-22 18:49:27 +00:00
joss17
948e4fb61d Commmit the code from Thunder
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2754 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-22 18:49:08 +00:00
joss17
ffdd38ddd5 add the internal counter mutex lock. Move the code of the rw mutec to the rsthreads.cc file
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2697 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-08 19:08:20 +00:00
joss17
0f5214ff76 ad a read / write lock and refactor authgpg with it
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2695 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-08 19:07:40 +00:00
csoler
08065b4298 ported branch v0.5.0 commits 2623, 2624, 2626, 2633, 2634, 2643, 2644, 2646, 2651 and 2654 to trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2660 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-28 20:46:45 +00:00
chrisparker126
6054890725 Fixed config forward compatibility problem
- note to self: C++ binary file not same as C binary file 

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2510 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-10 14:08:52 +00:00
joss17
5a7fb9a57c solve a bug when the tmpcfg directory already exists under windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2255 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-09 14:11:03 +00:00
joss17
47b6cff805 update version info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2215 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-06 20:49:49 +00:00
andrewsteinborn
bc84ebb494 Delete the odt readme, start on Welsh translation and remove a blank line in rsprint.cc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2148 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-29 22:14:53 +00:00
defnax
4bb320d3cc fixed compiling under win
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2138 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-27 14:08:51 +00:00
csoler
0266420798 added a member in RsThread that indicates the id of the thread currently owning the lock, for debugging purposes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2132 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-01-26 19:34:31 +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
defnax
e5cd917645 added SVN_REVISION to rsversion to not overwrite LIB_VERSION
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1894 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-12-16 21:54:46 +00:00
drbob
6842115258 Disable wide char stuff, until it works on windoze.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1621 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-08 21:30:59 +00:00
drbob
0f99826623 * Major tweak to the serialiser: shifted size to 32bits to handle bigger packets. This will break compatibility.
* Modified tlvitems to support future expansions.
 * added random tlv test functios.
 * added dummy Wide Directory functions to rsdir (for the future;)
 * Fixed Mutex Bug in fimonitor.
 * added netiface_test for hiberation / net change testing.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1620 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-08 20:18:43 +00:00
csoler
52db2c4428 attempt to fix win compilation for defnax
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1601 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-05 18:45:00 +00:00
csoler
82f33acf6f fixed win32-x-ubuntu compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1590 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-03 20:51:12 +00:00
csoler
be59ccf135 win32 fix for large file support
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1589 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-09-03 20:43:18 +00:00
drbob
2bf94b909a Reworking of networking code to enable Net Restart.
* Stun code now runs continually - to check external network state.
  * Udpsorter controls DHT stun is on/off. (via p3ConnectMgr)
  * added code to enable threads to join/restart 
  * enabled NetRestart for UDP and TCP.
  * tweaked networking code for faster startup (now ~30 seconds - can still be improved).
  * tweaked debug messages for testing networking
  * Added test for checking external IP address determination.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-04 23:22:44 +00:00
joss17
96f2d92ee7 rewrite script to include them in the make file. Use both util/rsversion.h and gui/help/version.html for gui version information
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1473 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-01 13:53:47 +00:00
defnax
40a2fb8341 about label "libretroshare" doesnt helps for Peer Details and for FileTransfers doesnt needs to show label "libretroshare", sorry but when needs for some dialogs with libretroshare label then its bether like example this method:
ui.version->setText(QString("libetroshare") + QString::fromStdString(vit->second));


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1469 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-31 22:33:30 +00:00
joss17
e2cd8703d8 Add libretroshare label to the version detail
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1462 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-07-31 18:29:06 +00:00