Commit Graph

192 Commits

Author SHA1 Message Date
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
thunder2
2367653146 Fixed crash when using rs_sprintf/bd_sprintf or rs_sprintf_append/bd_sprintf_append with empty result (maybe only on Windows).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5349 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-29 13:28:45 +00:00
drbob
bec1407648 Merged Code from: /branches/v0.5-new_cache_system/ into main trunk.
- Revisions 4771 => 5334

 * This merge brings a lot of unfinished code for GXS (new cache system)
 	- See branch commits for more details.
 * Code is disabled, and should have minimal effect on trunk build.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5338 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-27 15:03:16 +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
csoler
ddf503a793 - moved pgpkey.h/cc into pgp directory
- fixed bug in key cleaning code


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5291 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-13 11:08:13 +00:00
chrisparker126
24f6f874f2 added some compile fixes (didn't define static variables in nxsitems and nxstransaction)
added new nxs net test hub code for testing nxs netservice (fails at the moment) 
also a completed definitions and other related compile time issue due to incorrect inheritance statements

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5290 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-12 20:18:58 +00:00
csoler
fa6674fd01 removed old includes of gpgme. Updated values for trust
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5279 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-07 16:26:54 +00:00
chrisparker126
081b59ee1a Mods:
Updated dataservice tests and fixed subsequent bugs
added bug fixes for RetroDb and fixed postability issue (removed map.at use)

Added:

Data access module used as token service
gxs service backend (RsGenExchange) 
RsPhotoV2 which is a modification to deal with different interface provided by RsGenExchange
also added subsequent p3photoserviceV2
NxsTestHub to help with testing nxsnetservice (RsGxsNetService is not yet working)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5274 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-05 21:26:14 +00:00
csoler
da1c8a6aa3 proper save of keys with all signatures
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5272 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-02 21:45:43 +00:00
chrisparker126
d533a2e580 Nxs items now do not support the concept of version
timestamp has been added to grp sync item 
updated data service and grps to deal with this
added msg and grp meta types which serves to hold meta data of grp and msg 
removed observer temporarily 

updated nxs item tests, need to update data service tests

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5256 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-26 19:52:01 +00:00
drbob
c26c1f2163 fixed compile on OSX.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5232 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-19 12:00:52 +00:00
thunder2
09847b1366 Fixed problem on Windows where ftServer::tick was not called.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5227 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-17 00:42:55 +00:00
csoler
1b58ef74f8 implemented efficient signature merging. Not fully tested yet!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5223 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-15 21:58:46 +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
drbob
fb044baa26 added missing #include <inttypes.h>
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5198 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-07 09:23:01 +00:00
csoler
af1fe976e2 exposed generic ID type in util/, patched rest of the code to use it.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5197 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-06 20:31:19 +00:00
chrisparker126
36103b29a1 added transaction items and more modification methods for data service (delete msg/grps)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5193 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-03 18:09:38 +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
defnax
bd67b1fe90 forget to commit this
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5189 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-25 07:49:42 +00:00
defnax
55b6211e7e update version string and changelog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5185 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-24 12:02:34 +00:00
chrisparker126
add4715da0 implemented most of rsdataservice,
updated rsnxsitems with discrete msgs and grp item rather than collection of msgs/grps
added flags header file 
added first declaration of implemented genexchange service (client API interface)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5180 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-21 22:07:43 +00:00
csoler
02a7548de4 removed possible data race on boolean value (Not critical)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5161 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-12 13:10:57 +00:00
chrisparker126
50a0ed0656 libretroshare src now compilable.
nxsitems not tested yet
renamed retrodb src file to .cc regular librs naming convention
wrote deserialisation section of nxsitems, need to write print and clear rsitem base functions

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5144 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-05 19:55:24 +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
4e26884646 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5111 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-19 20:44:32 +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
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
545743ad77 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5097 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 00:30:23 +00:00
chrisparker126
e560e00029 added more virtual methods to network exchange service
removed xml parser utility
removed extraneous info from retrodb

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5073 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-01 21:10:55 +00:00
csoler
648555711c debugging of pgpkey parser and radix output form openpgpsdk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5061 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-29 21:51:37 +00:00
thunder2
b32fddb3e0 Added two new functions to libretroshare for writing formatted data to std::string
int rs_sprintf(std::string &str, const char *fmt, ...);
  int rs_sprintf_append(std::string &str, const char *fmt, ...);


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5059 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-29 18:15:36 +00:00
chrisparker126
030b009f9a added RetroDb:
- tests added which pass on windows. 

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5036 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-18 14:06:36 +00:00
thunder2
0b1126babf Added thread safe function for inet_ntoa in libbitdht.
Used the existing thread safe function for inet_ntoa in libretroshare.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5033 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-18 01:33:25 +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
chrisparker126
64de3d3643 updated retrodb classes and resolved some data access issues with
ContentValue class. 
Changed parameters to some RetroDb methods
updated RetroCursor with functionality to traverse result set correctly

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@4999 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-26 23:30:26 +00:00
defnax
67c3321ae4 update changelog and corrected some path for win libs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4974 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-20 12:38:04 +00:00
drbob
3208fcaffe updated versions to v0.5.3b and svn 4971
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4971 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-19 21:45:31 +00:00
drbob
e024ea36e9 Added Cache system for GPG Certificates.
- This should reduce gpg calls by 90+%.
Updated rsversion svn to 4942 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4942 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-15 16:44:45 +00:00
defnax
014ad9b5c2 update version string
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4880 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-03 14:41:17 +00:00
drbob
15ea61caa3 More changes for V0.5.3a
- Updated English Email Invite (sorry guys, you'll have to redo translations).
 - Set OSX default style to "Cleanlooks" - as AQUA style hides some windows.
 - Updated Version strings to V0.5.3a. / 4874
 - Fixed missing headers for plugin manager.
 - Disabled ZEROCONF for OSX.
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4874 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-03 00:15:49 +00:00
csoler
6c7535a3aa suppressed debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4860 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-28 13:20:01 +00:00
drbob
00ff694e10 Fixed default data rates to sensible options: 200 kB/s down, 50 kB/s up.
Added StoreAllKeys() call after adding new GPG Certificate.
Added Check for successful Req creation (was crashing with NULL pointer).
Switched std::vector.data => &(std::vector[0]) to remove linuxism in radix64.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4851 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-27 13:03:59 +00:00
csoler
4422d6557b added method for removign signatures in a PGP certificate, and a test program to test it. Not yet plugged in into RS
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4831 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-22 19:55:10 +00:00
chrisparker126
a89c6fd08a Removed cpp source files, don't need them yet.
Added more clarity to declarations 
Also added comment on general implementation of an
RsGeneralExchangeService


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@4820 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-19 23:32:27 +00:00
drbob
8a86c980fc Improved logging of Connection Behaviours.
- Hid lots of DEBUG_BASIC behind #defines in pqissl.
	- Added PeerID() in many places, so grep for a single peer.
	- fixed linkMgr output so we can tell a FAILURE vs FAILED ATTEMPT
	- reduced most logging to a single line.
	- print out of errno in HumanText for SSL errors.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4814 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-18 22:51:38 +00:00
chrisparker126
cf5158d2b0 added new declaration for retrodb and removed sqlite reference.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@4804 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-16 21:52:22 +00:00
chrisparker126
2504c0fd9a added more interface declarations and comments clarifying
resposibility


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@4803 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-15 13:07:31 +00:00
chrisparker126
3f0c811917 initial addition general exchange service interfaces
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@4781 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-11 23:01:29 +00:00