Commit Graph

664 Commits

Author SHA1 Message Date
csoler
24a40fc665 - make addFriend a virtual (pure) function of the abstract p3LinkMgr class. Useful for testing.
- updated test notes.
- patched netsetup_test and upnpforward to run correctly.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6051 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-27 21:18:16 +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
thunder2
13ac670eec Changed config type of the FeedReader. There was a conflict with general config.
Added warning in p3ConfigMgr::addConfiguration when a config type is used twice.
Removed checkbox for "Experimental Features" in general page without function.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6027 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-22 00:02:40 +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
thunder2
ef7a2aaa59 Added missing closeConnection when the connection dies with SSL_ERROR_SYSCALL.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5980 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-13 22:54:17 +00:00
csoler
60af8cefe0 corrected stupid mistake in previous commit
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5970 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-11 22:16:40 +00:00
csoler
71ed00cd68 made warning about missign fingerprint beingprinted only once
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5969 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-11 21:55:47 +00:00
csoler
e3da77612a - Added flags for services and service permissions for peers
Flags are identity-related, meaning that all locations of the same peers have the same flags.
- It's now possible to tweak which services each peer can use. Service that can be disabled are
  forums/channels, discovery, anonymous routing.
- by default, peers have all flags on.
- fixed missing error msg in p3cfgmgr when serialisation fails.
- fixed bug in RemoteDirModel causing infinite loop to happen when group name is unknown




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5924 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-01 19:22:22 +00:00
thunder2
80dfa620b2 Fixed compile on Windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5893 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 21:48:00 +00:00
drbob
a134f81f95 Protected waitingIds with Mutex.
NB: This is windows code - which I cannot compile. Sorry for any bugs.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5891 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 20:52:10 +00:00
drbob
de80f2aa3e * Moved DataRate interface from rsiface (old) -> rsConfig.
* Internally moved storage of data rate from pqipersongroup -> p3serverconfig
 * made DataRate + Operating Mode work together.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5889 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 20:25:34 +00:00
drbob
0fa8d55062 Reviewed Mutex in pqihandler.
- In general it is okay, except for: DataRate Handling, and Win32 specific: WaitingList.
 - Cleaned up some functions.
 - renamed createPerson and createListener to locked_createPerson and locked_createListener.
       This is required as neither Listener nor Person are thread safe (TODO).




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5888 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 16:36:55 +00:00
thunder2
09f42dbc3c Added new level gpg id to FriendSelectionWidget (groups, gpg id, ssl id).
Added friend selection to the group dialog for better assigning of friends to groups.
Updated english translation.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5881 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-24 14:48:31 +00:00
chrisparker126
d8dc2a0420 publish key not generated for public groups anymore, added signature creation for publish and id keys (used in main line of code, correctly initialise ur gxs services)
groupid assigned to group before service_CreateGroup now (to help with identity using pgp hashes)
fixed up dummy group creation for photo service and ui 
completed basic functions of GxsGroupDialog




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5809 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-11 23:45:22 +00:00
csoler
9000cf9034 patch from thunder to handle connexion break correctly, and therefore avoid false notification attempt of friend.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5807 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-11 19:28:45 +00:00
drbob
a5f52e85a1 Added new Upnp interface fn, and dummy implementations.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5734 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-10-28 18:17:06 +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
chrisparker126
91bf67a7fe fixed compilation issue for linux. needed to add inttypes header file (not needed for windows...)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5633 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-10-02 19:15:24 +00:00
csoler
fbc937c638 limited number of warnings for missuse of AuthGPG::getGPGName()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5610 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-26 19:28:32 +00:00
csoler
ea29fd624a removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5564 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-17 20:49:52 +00:00
drbob
77edd3e013 disabled all rslog calls in p3dhtmgr.cc with #define,
and unnecessary debugging rslog messages in pqistreamer.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5562 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-17 20:25:22 +00:00
csoler
bb49359fdb removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5561 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-17 20:19:02 +00:00
csoler
8e5ddcb0d6 ensure that ssl id is always converted to lower case before being used to add a new friend. This fixes the bug allowing to add multiple times the same friend by changing the case is the SSL id
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5557 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-16 14:43:38 +00:00
csoler
8cca9608f2 Fixed report of failing connexion attempts/recepts. Cleaned the code a little bit
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5550 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-14 21:04:16 +00:00
csoler
b8cee76fa5 added display of IP address for incoming failed connexion attempts
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5532 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-09 20:25:39 +00:00
csoler
60f51c358c - added new certificate format in ConfCertDialog and ConnectFriendWizard, with a button to switch to old format if necessary
- added automatic cleaning of certificates in both formats
- grouped all certificate cleaning/parsing code in rscertificate.cc
- removed unused files cleanupxpgp.h/cc
- added upper/lower case to rsid template.

The new format is to be tested. It is supposed to be much more robust than the previous format,
in particular, allowing any string for location names.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5410 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-08-13 19:37:50 +00:00
csoler
a28786513e improved pgp cleaning function
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5335 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-27 14:08:35 +00:00
drbob
f34f617f00 Changes to get openpgpsdk version working on OSX.
- switch to OSX10.6 for upgraded SSL, with different fn signature.
 - correct library paths in libretroshare.pro



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5331 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-27 12:28:40 +00:00
thunder2
703e5def72 Removed usages of gpg.h and cleaned pro-files for Windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5296 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-14 00:02:40 +00:00
thunder2
7e226558e4 Fixed some memory leaks when config could not be loaded/saved.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5294 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-13 22:10:52 +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
4fc3ce491a updated self-signatures
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5292 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-13 12:20:44 +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
csoler
f5c276c9b5 improved error handling
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-12 19:20:31 +00:00
csoler
c9eb267165 implemented export of identity (to create additional locations easily). Import still to do...
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5285 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-10 21:40:53 +00:00
csoler
54511ad390 fixed bug in certificate signature
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5283 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-09 20:20:36 +00:00
csoler
0a6c60d2df added filtering of private key for login window, and fixed uid at cert creation time
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5282 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-08 21:06:41 +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
csoler
444602e8e6 - added key signatures (not fully debugged yet)
- added locks to prevent concurrent access to PGPHandler
- added output of unverified signatures



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5275 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-05 22:25:46 +00:00
csoler
3b5816e4f8 - added auto-update and sync of keyrings and trustdb between different instances (Not fully tested yet!)
- added checking of compatibility for DSA before calling openssl


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5259 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-29 19:38:19 +00:00
csoler
bde90e16a5 fixed compilation on some ubuntu distribs due to missing include
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5255 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-26 19:30:36 +00:00
csoler
8d070bb030 moved QoS down to pqistreamer pipes. This removes one out queue, and removes lags due to many packets being sent at ones.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5249 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-23 12:10:41 +00:00
drbob
e0af833f47 Added QueueSize information to be exported too.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5245 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-22 01:35:32 +00:00
drbob
48a1c66c60 Added Bandwidth Monitoring service to libretroshare to help debug Lag.
- p3bwctrl.h/.cc & rsbwctrlitems.h/.cc
	- New Interface in pqihandler to extract the data.
	- New Interface in rsconfig to display in GUI.
	- Added extra debugging in pqistreamer for catching big outqueues.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5241 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-21 23:23:46 +00:00
csoler
9357a228a6 added read/write of trust database in private format
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5237 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-20 21:59:04 +00:00
csoler
dba66cdd7a added check for DSA/RSA key algorithm. Disabled make friend, login and cert creation, with unsupported keys
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5221 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-14 20:13:31 +00:00
csoler
043c7a8139 fixed bug in saving accepted pgp ids
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5217 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-12 21:19:38 +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
1885fb66c4 - Enabled compile on Windows (bzip2 library needed).
- Fixed crash after the second call to RsInit::InitRetroShare when keyring does not exist.
The instance of AuthSSL was created twice and AuthGPG was deleted without stopping the thread. Stopped the AuthGPG thread on exit of RetroShare.
- Added the correct path to the keyring for Windows in RsInit::copyGnuPGKeyrings.
- Changed the detection of the portable version on Windows from the file "gpg.exe" to the file "portable".

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5211 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-10 00:29:46 +00:00
csoler
a91e859b66 added dialog box to import existing keyrings when starting the new pgp version for the first time
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5210 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-09 21:01:22 +00:00