Commit Graph

82 Commits

Author SHA1 Message Date
Gio
c3aca0cf26 Implement a working Distant Chat prototype in Qml
Deprecate id field in JSON API as it may cause problems in Qml
Offer gxs_id field in JSON API as an id alternative
LibresapiLocalClient support callbacks now an instance may be shared for
  different tasks
Expose an instance of LibresapiLocalClient to Qml, type exposure is kept
  for retrocompatibility but deprecated
Qml app now has a tab that permit to exchange some message with selected
  distant peer
2016-12-08 15:56:23 +01: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
3f3efca22d removed canonicalize_file_name from MacOS compilation 2016-11-25 20:33:27 +01:00
mr-alice
5f69c9ea1f added an option to follow symbolic links or not, and anti-loop system during directories traversal 2016-11-24 23:42:56 +01:00
mr-alice
fb70cb2e9e removed duplicate copy/rename file methods from ftController 2016-11-22 23:39:09 +01:00
csoler
6272856b5e added param to folderIterator to skip/follow symbolic links 2016-11-16 21:41:32 +01:00
csoler
4e48005047 replaced explicit old code in cleanupDirectory() by new code based on FolderIterator 2016-10-09 21:43:31 +02:00
sehraf
cfc0e7071a libretroshare: remove unused variables 2016-06-02 14:54:07 +02: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
Sergei Reznikov
34758be52a Add Haiku support 2015-10-20 20:32:44 +03:00
thunder2
87758c4043 Fixed momory leak in RsDirUtil::getFileHash when the file doesn't exist.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8450 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-14 21:09:23 +00:00
electron128
0017f246e8 added missing return statement in RsDirUtil::saveStringToFile() (thx to sehraf)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-03-26 07:21:07 +00:00
electron128
7e03f3944b don't store name, location name and date in new SSL certs. Location name is now stored in an extra file. Backwards compatible to old locations and old peers.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8072 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-03-25 08:19:45 +00:00
thunder2
135dde5d59 Changed sleep to usleep in RsStackFileLock::RsStackFileLock (request from Cyril)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7647 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-29 09:38:22 +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
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
33abca82e5 - removed LinksCloud from plugins (based on obsolete cache system)
- removed copy constructor of RsGenericId from std::string as it allowed many inconsistencies and double transforms of IDs from/to strings


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-04-20 16:34:26 +00:00
csoler
1042744685 merged remaining of v0.6-IdCleaning branch (7180->7213) to incorporate global router stuff in trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7214 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-29 14:18:05 +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
csoler
8bb90bb9f8 fixed stupid (and very old!) mistake causing 100 seconds hang ups on windows when file rename fails.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7077 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-01 12:00:05 +00:00
csoler
a44d2b281d demoved debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7055 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-24 17:34:27 +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
7bb561d9e0 added generic function to return the correct string for scanf for unsigned ints depending on the size of the actual variable that is scanned. Shoudl fix the rehash bug and bugs corrupting timestamps on 32bits systems
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6987 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-04 20:05:08 +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
e0863194a3 Squeleton code for the global routing matrix. Most functions are left unimplemented, but
the basic structure is here. Functions have been added to serialise both SHA1 and floats.
The router is not yet enabled since protocol is likely to change again.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6886 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-02 14:35:33 +00:00
drbob
43832a1f58 fixed typo in windows code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6758 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-24 16:20:29 +00:00
drbob
ae2df43b8a re-wrote cleanupDirectory() function. As this a cause of the slow startup.
Startup time is massively improved!

Please test on Windows!



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6757 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-24 15:31:15 +00:00
csoler
cd7e2df37e switched Sha1CheckSum::toStdString() to simpler/faster code. checked with tests/util/sha1_test
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6707 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-07 13:48:55 +00:00
csoler
b84930b157 Added multiple security tests to pgp keyring against disk full and exceeded quota.
- copy files to tmp before appending new keys, then rename back to original.
- always check for disk full before syncing keyrings
- use tmp file to sync keyring
- new RsDirUtil::fileExists() method
- check system for disk space in pgp directory
- added RsPGPDirectory() method to RsInit


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6541 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-07-25 20:05:31 +00:00
csoler
41cb5b7d34 removed some debugging output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5560 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-17 20:09:38 +00:00
csoler
570369ad9c fixed re-copy of dht bootstrap file when the file is empty
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5385 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-08-06 17:04:43 +00:00
csoler
fc8dfcf65b Merged branch v0.5-OpenPGP into trunk:
User-level changes:
==================
- libgpgme is not used anymore; it is replaced by a built-in piece of code called OpenPGP-SDK 
  (http://openpgp.nominet.org.uk/cgi-bin/trac.cgi) that was improved to be used by RetroShare
  for handling PGP keys.

- the gnupg keyring is not used anymore. Now, RetroShare has it's own gpg keyring, shared by all instances.
  On linux it's located in ~/.retroshare/pgp/. A lock system prevents multiple locations to read/write keyrings
  simultaneously.

- the trust database from gnupg is not documented, so RetroShare cannot import it. This comes from the fact that
  the GPG standard (RFC4880) asks explicitly not to export trust information. So RetroShare has it's own 
  trust DB shared by locations. This means you need to re-trust people. Sorry for that!

- at start, if no keyring is found, RS will propose to copy the gnupg keyring to use your existing keys. Clicking on 
  "OK" will do the copy, and you should find back all existing locations, except for DSA keys.

- locations for which the suitable keypair is not in the keyring will not be displayed in the login window
- locations for which the suitable keypair is not a RSA/RSA key will not be displayed. RetroShare does not
  support DSA/Elgamal keypairs yet.

- a key import/export exchange function has been added in the certificate creation window (you go there from the login
  window by clicking on "manage keys/locations". This allows to easily create a new location with the same pgp key on
  another computer. To obtain a suitable keypair using gnupg, you need to concatenate the encrypted private key and the 
  public key into an ascii file. This can be done using:
  		gpg -a --export-secret-keys [your ID] > mykey.asc
		gpg -a --export [your ID] >> mykey.asc

- importing a key with subkeys in not yet possible. Please remove subkeys before importing.

- The code has been tested for a reasonnable amount of time, but it's not possible to prevent some new bugs 
  to appear. Please report them asap supplying: call-stacks if possible, and terminal output. In particular,
  openpgp has some assert()'s that should not be triggered unless RetroShare is calling it in an improper way.

Internal changes
================
- a specific component, PGPHandler, takes care of the interface between openpgp-sdk and RetroShare
  openpgp-sdk is c-code, with it's own memory management, which has been kept well separated from 
  RetroShare.

- GPG Ids are now a specific class (not a std::string anymore) for code consistency reasons. As strings are
  still used in many places, this requires a few conversions. In particular, AuthGPG takes strings as
  function params and calls GPGHandler with the proper PGPIdType class. In the future, RetroShare should
  only use PGPIdType. The same will be done for SSL ids.

- signature cleaning is still handled by the Retroshare built-in function, not by openpgp, but we will 
  do this later.

Still to do
===========
- DSA needs subkey handling, since the encryption is performed by a Elgamal subkey. Not sure this will be done.
- GPGIds/SSLIds cleaning (meaning replace strings by appropriate types). Lots of confusion throughout the code in retroshare-gui in particular.
- key removal from keyring. This is a challenge to keep locations synchronised.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5293 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-13 21:53:39 +00:00
thunder2
f50edd228f - Fixed compile on Windows. Added new type "rs_lock_handle_t" for file locking functions.
- Added missing check of file pointer in PGPHandler::decryptTextFromFile
- Added missing fclose of the ssl passphrase file in RsLoginHandler::getSSLPasswdFromGPGFile. Is this still needed, because PGPHandler::decryptTextFromFile does the same check?
- Fixed possible memory leak in ops_decrypt_memory.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5222 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-14 22:53:02 +00:00
csoler
f30a3f1b16 - moved lock handle functions to rsdir.h/cc
- created a scope guard to manage file lock handles
- added lock gards to PGP keyring read/writes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5216 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-12 20:31:13 +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
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
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
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
thunder2
363af69254 Fixed utf8 issue in history manager.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4626 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-01 13:12:28 +00:00
thunder2
d25730eabb - Removed not used function RsDirUtil::createBackup.
- Moved ProfileView and ProfileEdit to the folder unfinished.
- Removed "location:" before the ssl name in FriendsDialog and MessengerWindow.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4567 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-14 22:31:05 +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
b683e663d6 Merged Changes /branches/v0.5-peernet/libretroshare/:r4237-4358
Major changes are:
 * Improvements to tcponudp library to allow multiple UdpStacks / ports, with alternative recievers.
 * Resurrected the UdpStunner code, and improved it.
 * Added UdpRelay code.
 * Modified startup code and ssludp code to use the new tcponudp and add a stunner.
 * fixed buggy rs_inet_ntoa
 * fixed a bunch of apple gcc warnings. mainly for(;;); => for(;;) ;

These changes shouldn't affect libretroshare stability... those changes will follow!




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4359 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-29 18:02:44 +00:00
thunder2
72d9f352e3 Removed the difference of the separator for Linux and Windows.
Removed extra "/" of the filename (e.g. "E://") of the hashed file when sharing a whole drive.
Recompile of the gui needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4200 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-15 12:42:55 +00:00
thunder2
83837fb9a8 Fixed compile on Linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4125 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-03 23:27:36 +00:00
thunder2
bc113326e4 Fixed problem with utf characters in the %APPDATA% path on Windows.
Added function for opening files on Windows and Linux - RsDirUtil::rs_fopen.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4124 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-03 23:11:38 +00:00
thunder2
127eac1118 Fixed utf8 issues when the partial or the download dir is set to a utf8 dir.
Use the native dialog for selecting the shared folder.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4083 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-03-06 20:19:16 +00:00
drbob
e72155c9dc Added missing return... which was crashing OSX during directory creation.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4077 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-03-05 03:43:40 +00:00
thunder2
0a42b7899e The working (hashing) thread FileIndexMonitor is now stopped when RetroShare is closed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4072 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-03-03 23:30:08 +00:00
csoler
e39a04ee7f last fix to missing ftello64 calls (hopefully)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4057 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-02-24 22:44:41 +00:00