Commit Graph

4636 Commits

Author SHA1 Message Date
chrisparker126
d3e5ec2836 added cleanup function to test hub
refined group retrieval for RsDataService
also added fix for RsNxsTrasac flag masks
added group data send transaction generation, and fix for request generation

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5298 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-14 17:59:54 +00:00
thunder2
7e6ad94f82 Removed usage of gpg from the pro-file of the plugins.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5297 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-14 08:49:49 +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
b59f8e664a Renamed the pro-file of OpenPGP-SDK from "src.pro" to "openpgpsdk.pro".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5295 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-13 22:19:32 +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
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
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
thunder2
540f04bed5 Enabled word wrap of the description in ChanNewItem.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5288 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-12 10:38:22 +00:00
csoler
749dd01d77 implemented keypair import
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5287 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-11 16:17:49 +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
2ca0bf71d0 fixed bad call to isKeySupported()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5284 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-10 18:30:37 +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
drbob
51d6396c9f Changed the Ranking list to the new retrival methods.
Modified data display to show real info,



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5281 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-08 01:31:23 +00:00
drbob
2d31efd69b Bugfixes and testing stuff.
- Modified dummy data so new comments / votes get added in (testing background processing).
	- exposed fns for GUI rankings & testing.	
	- corrected order of extraction from ranking Map.
	- fixed up debug output.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5280 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-08 01:26:55 +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
93f08ae730 fixed signature code
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5278 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-07 13:40:40 +00:00
drbob
388bd5da9f Tweaks to the GUI stuff to make it conform to the new interface. The major changes were:
* New Async/Token Group/Msg Creation (required for Key generation/group Id determination). 
   This means that creating a group, and posting messages are two steps... (see PhotoAddDialog).
 * Moved some MACROS from ForumV2 to libretroshare/rsidentity for generic MsgStatus stuff (e.g. MSG_READ)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5277 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-06 23:19:10 +00:00
drbob
8387c538f1 * Refinement of new Cache Interface:
- Defined expected parameters for GxsGroups (see comments in rsidentity.h)
	- Added Various #defines for Groups / Msgs (again in rsidentity.h)
	- Converted new Group / new Msg into async "token" calls, returing MetaData.
	- Refined Grp/Msg Status Flags... similarly to how Forums used them...
		Expect UNREAD & UNPROCESSED flags to be set for a new msg, 
		and UPDATED flag to be set for the corresponding group. 
		There is flexibility for services to add their own flags too.
	- removed groupsChanged(). This can alternatively be implemented using.
		getGroupList(opts.Status == UPDATED)...
	- refined SubscribeFlags in a similar manner.
	- Added "ServiceString" to Group/Msg MetaData. This is freeform cache
	  storage for service to use... currently p3Posted uses it to count Votes.
	- Added MsgStatus & SubscribeFlag filtering to Cache Requests.
	- Implemented these filters in GxsDataProxy (no efficient yet!)

 * Cleaned up all 6 new Cache Services to conform to new interface.
 * Removed old interface code that was #ifdef'd out.

 * Implemented Basic Ranking algorithms for p3posted:
	- Background process to process new votes/comments.
	- getRanking(token) interface call.
	- Intercept StatusRequests, etc to hide internal data requests.
	- While the basic code is complete, it needs much testing / tweaking.
		- Should shift work to a seperate thread.
		- Comment Ranking has still to be done.
		- Interfacing with GUI not yet attempted.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5276 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-06 23:14:18 +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
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
139ab68a4a fixed key armoured output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5273 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-03 07:00:49 +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
csoler
53416b85c3 fixed adding self signature at certificate generation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5271 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-02 20:46:14 +00:00
csoler
b3b7fc3475 added test to read and display key from file
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5270 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-02 19:19:21 +00:00
drbob
f05d2f9b09 Improvements for New Services.
* Forums now loads example data...
 * new Posted Service, only the basics for now.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5269 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 23:05:03 +00:00
drbob
d83e1ea6ec More improvements to new Cache Services.
* Added p3Posted service. This is a *better* Links Cloud, based on the new Cache system.
 * Fixed p3GxsService retrival of Thread / Children messages.  (for Forum support).
 * Added Dummy Data for testing Forum integration.
 * switched on both these services in libretroshare



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5268 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 23:00:54 +00:00
csoler
d5675a0d59 fixed bug with key exchange
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5267 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 22:24:37 +00:00
csoler
419c8eafb5 added lock when generating new cert
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5266 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 21:50:48 +00:00
csoler
9a07328ac2 fixed output/syncing of secret keyring
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5265 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 21:40:44 +00:00
thunder2
eac2c010c3 Fixed compile on Windows.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5264 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 20:08:28 +00:00
csoler
e723c8739d fixed bug in keypair generation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5263 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 14:34:11 +00:00
csoler
efa5460a52 fixed compilation of retroshare-nogui
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5262 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 13:21:05 +00:00
csoler
f68cc45461 updated .pro files for compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5261 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 13:15:36 +00:00
csoler
ba0cca637b moved files to comply with rest of directory structure of RS
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5260 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-07-01 13:05:48 +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
thunder2
f000a05c09 Fixed crash in RsLoginHandler::checkAndStoreSSLPasswdIntoGPGFile.
fclose with invalid file handle.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5258 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-29 14:04:09 +00:00
chrisparker126
0b0549f437 added test for gxs data test
updated tests, still need 
fixed vtable error for rsgds
added more test utils to gxs

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5257 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-28 21:22:55 +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
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
00554d82b5 updated ubuntu changelog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5254 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-25 19:11:00 +00:00
csoler
e9018f80b8 fixed test programs for openpgp
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5253 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-24 13:16:33 +00:00
drbob
bc7b42d81f Rework of tcponudp/tcpstream should make UDP connections much more stable.
- Fixed retransmit algorithm. Much more closely matched to TCP standard: http://tools.ietf.org/html/rfc2988
	- This increases retransmit timeouts, and reduces the number of packets resent.
	- Added better debugging for retrans/close as separate #defines.
	- Further testing is required ;)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5252 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-24 02:06:24 +00:00
csoler
6e536ae67e fixed typo
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5251 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-23 13:31:28 +00:00
csoler
bad047d7fe fixed stupid bug in friendlyUnits()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5250 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-23 13:28:04 +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
fd34bbfdaf Improved display of bandwidth data.
- Coloured items.
	- Put N/A for peers that aren't running BwCtrl yet.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5248 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-22 13:03:18 +00:00