Commit Graph

106 Commits

Author SHA1 Message Date
csoler
25056b3623 added function for generating random ascii strings, and improved the test program to test for this as well
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3992 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-29 14:23:07 +00:00
csoler
e57f8836e4 suppressed debug info, added lock
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3983 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-25 23:28:22 +00:00
csoler
6d44694c7a corrected bug in DNSSolver that caused high CPU usage
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3982 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-25 23:03:44 +00:00
csoler
40f4009ca7 made the DNS calls in a separate thread, using new DNSResolver class. Added test program for that class as well. Moved extaddrfinder to util/
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3980 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-24 22:05:10 +00:00
csoler
8de9d39cc0 Suppressed 4 memory leaks:
- authssl would call OPENSSL_malloc without OPENSSL_free
- pqistore was not deleting items in pqiSSLStore when BIN_FLAGS_NO_DELETE is not here
- rsdir/rsinit were calling opendir withoug closedir (which might eat FDs, in addition)
- udplayer was not freeing it's 16KB buffer at end of loop.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3948 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-01 20:37:10 +00:00
thunder2
ab42691a31 Removed unnecessary loops for debug output in CacheStrapper::loadList without debug enabled.
Changed parameter of RsDirUtil::cleanupDirectory from "std::list<std::string> keepFiles" to "const std::list<std::string> &keepFiles".

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3925 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-12-21 13:30:45 +00:00
drbob
06273fa775 Hackish changes to debug Windows Transfers...
Committing these so others can run tests.
Most of these changes will be removed once the problem is fixed!
 * Fixed formatting of various serialiser item::print() fns.
 * Disabled printout of TlvBinaryData - data.
 * added AccurateTimeString() function to util/rsprint.cc
 * print serialise / deserialise of FileRequest & FileData + Timestamps.
 * added print + timestamp in ftFileProvider::getFileData()
 * #define TRANSFER_DEBUG to isolate these changes.
 * enabled debugging in fttransfermodule.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3779 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-11 20:51:17 +00:00
drbob
634dbca14f Added Installation of BitDHT bootstrap file.
* new DataDirectory Function in rsinit.cc
  * new copyFile() and checkFile() functions in rsdirutils.
  * bdboot.txt is checked for and copied over if missing.

NB: This has been tested under OSX, but Linux / Windows need checking.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3713 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-28 22:59:46 +00:00
csoler
36337b5011 put a warnign and check in rsdiscspace when rsFiles is null
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3583 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-01 20:28:27 +00:00
csoler
6fc8f8831b put some consts& around std::string in rsdir to improve performance
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3581 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-01 20:05:09 +00:00
csoler
edd5aaf87a suppressed bug in CRC32 computation of files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3575 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-30 21:44:31 +00:00
thunder2
acf57ed3fd Removed read/write mutex from AuthGPGimpl and from the sources.
Added RsThread as base class to AuthGPGimpl and load all gpg keys every hour.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3571 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-30 19:05:43 +00:00
thunder2
d3fc7f3982 Reindroduce the read/write mutex for AuthGPG as mutex for the data member.
Added second mutex for the gpg engine.
Now the call to the gpg engine (for example AuthGPGimpl::LoadCertificateFromString) doesn't block the GUI.
The existing problem is still the call of AuthGPGimpl::storeAllKeys every minute before access the gpg data.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3555 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-28 22:30:57 +00:00
thunder2
ed737e2c9f Fixed umlauts (utf8) in Windows. Changed some parameters to reference pointer. Added virtual folders to the lib.
Recompile needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3509 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-17 18:27:30 +00:00
thunder2
00ef48b45d Fixed crash on Windows.
The mutex rndMtx was not initialized when calling RSRandom::seed on startup.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3497 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-15 10:42:24 +00:00
chrisparker126
9e86265f91 moved test sources to test directory and deleted a few dead files , created new util test directory.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3396 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-25 19:54:28 +00:00
thunder2
fa9ea81ad7 Changed some mutex around p3ConnectMgr::mOwnState. Please review.
Made getIPAddressFromString thread safe, just in case.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3374 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-16 07:29:51 +00:00
csoler
30e4509043 added a thread-safe and cross-plateform random number generator
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3373 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-15 20:20:51 +00:00
defnax
a911e1ac28 update revision string
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3370 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-15 01:33:38 +00:00
thunder2
e046ebd480 Fixed linking of RetroShare.
undefined reference to `operator<<(std::basic_ostream<char, std::char_traits<char> >&, sockaddr_in const&)'

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3358 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-11 20:14:29 +00:00
csoler
09d5014df5 suppressed double definition of operator<<() when using libbitdht
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3343 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-06 12:26: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
thunder2
a595ba4fc7 Moved constructor of class bdThread from bdThreads.h to bdThreads.cc.
Initialized member mTid of class RsThread too.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3338 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-03 14:26:54 +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
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