Commit Graph

75 Commits

Author SHA1 Message Date
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
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
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
csoler
2e05d0ef01 moved tests to test directory
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5209 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-06-09 18:45:35 +00:00
csoler
456177ef11 fixed bug responsible for sending wrong checksums on windows systems
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5029 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-17 14:08:27 +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
csoler
2edb61758b Improvements to file transfer:
- corrected 2 potential flaws of swarming causing request of unavailable data (This should normally be taken care of on the server side!)
- improved swarming test code with fault simulation
- only ask CRC32 maps to peers that have a complete file.
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4947 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-16 21:10:46 +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
csoler
e9d6940b09 Improvements to chat lobbies:
- added generic methods and items for bouncing generic objects through lobbies
	- added handling of peer typing status
	- proper handling of peer join/leave lobby
	- added sub item ids to lobby messages to allow proper message splitting
	- made 2 different message splitting methods for normal chat vs. lobbies. In v0.6, we'll have to handle all messages the same way.
	- added parent id to RsChatLobbyMsgItem, to allow threaded chat.
	- added possibility to make a lobby public/private (not yet fully working)
	- added items for requesting/exchanging list of public lobbies at friends' (not yet fully working)
	- major cleaning of p3chatservice.cc

Next move:
	- gui for listing friend public lobbies, joining them, etc.
	- load/save of persistent lobbies.
	- autoremove of inactive lobbies

Warning: lobby message items of this version are incompatible with previous versions. It won't crash, but
messages will not pass through.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-06 22:17:08 +00:00
csoler
723a8ca7f0 added serialisation code for lobby msgs, and test code for the new RsItems
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-ChatLobby@4692 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-26 15:58:52 +00:00
csoler
3c2a5e8f42 Added a filemapper class to store downloaded files sequentially on the HD. The mapper automatically
re-organises (e.g. defragments) data such that
- when the DL is finished, the file is in the correct order (no need to re-order it)
- during the DL, only the n*_chunk_size first bytes of the partial file are written, where n is the total number of downloaded chunks.
- the total amount of copy operations does not exceed the total size of the file. In practice, it's much lower.

That suppresses the lag when downloading large files due to writing isolated chunks in the middle of the file.

Next:
- integration into ftFileCreator
- load/save in ft_transfers
- retrocompatibility with existing transfers.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4658 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-01 14:20:51 +00:00
csoler
9761c4c980 fixed compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4657 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-01 14:14:20 +00:00
csoler
51bd5e7d96 fixed compilation of fimontest.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4656 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-31 13:19:35 +00:00
csoler
5ae506c317 - Changed default random number generator to use RAND_bytes from openssl.
- Updated random testing code and fixed compilation



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4621 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-28 19:34:27 +00:00
csoler
0ed60eaf86 merge of QoS branch into trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4588 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-04 20:01:30 +00:00
drbob
b56ddfeb5b * Switched on Dht "Attach" Mode if RS is firewalled. (and not nice firewall).
* Added interfaces to enable AttachMode switch.
 * Added further tcponudp tests.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4484 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-21 11:28:19 +00:00
drbob
fcd51a8439 Added some more serious tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4479 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-20 01:35:57 +00:00
drbob
c3c6fb87be updated pair_tou test - its not vary good at the moment, more work to do.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4478 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 22:53:13 +00:00
drbob
6722fa24c5 repaired regression tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4477 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 22:23:33 +00:00
drbob
d656e0912f added scripts to run tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4476 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-19 21:30:35 +00:00
csoler
7d4b8288ca fixed compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4456 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-16 13:11:26 +00:00
drbob
4e56166e3f Updated tests for tcponudp. Only some of these tests are still valid.
the TOU interface no longer supports multiple sockets.. 
all the connections are attached to the same UdpStack.

Multiple sockets will be re-introduced in the next TOU iteration.
At that point the remaining tests will be fixed up.
 * tweaked regress.mk
 * added scripts to launch tests.
 * replaced UdpLayer with UdpStacks.
 * only two proper tests: udp_server (passes), test_tou (fails)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4341 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-26 15:41:08 +00:00
chrisparker126
3455067373 moved authgpgtest.cc/.h back to src/pqi from test/pqi
removed test directory in src/pqi

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4323 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-22 23:33:43 +00:00
chrisparker126
f12d2c46bc moved authgpg fake module to tests folder
fixed ficachetest and fimontest 

makefile update for serialiser for previous revision


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4321 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-22 21:44:40 +00:00
chrisparker126
f3fbac7d77 updating tests:
serialiser:

added tests for rsconfigitems
added regression reporting for tlvrandom_test
fixed rstatusitem_tests
fixed tlvbase_test2 tests, any fix rstlvipaddrv4 from this revision should not break regression

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4320 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-22 21:38:26 +00:00
chrisparker126
6e633e419a Added flag for coverage profiling to tests
updated services tests
- added chat and forum test skeletons

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4286 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-06-17 20:57:58 +00:00
drbob
d208fa3c37 re-worked printcache to analyse a large batch of cache files.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4209 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-17 18:03:05 +00:00
csoler
7e77c01624 added print-cache code to the tests suite
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4163 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-20 20:54:44 +00:00
csoler
827dbd8cf3 added a memory management class for small objects.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4046 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-02-20 21:36:21 +00:00
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
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
thunder2
3c65283f8f - Change methods of RsMsgs from "std::string" to "const std::string&"
- Fixed sent messages doesn't get the flag RS_MSG_FLAGS_NEW
- Rework reply and forward message, now the replied or forwarded message gets the state and not the answer itself
- Added RsMsgParentId (with test) to save the parent of the message in draft
- Change methods of MessageComposer from "std::string" to "QString"
- Show image in the message row in MessagesDialog again
- Fixed umlauts in recommended files in MessageComposer
- Renamed tab "Live Chat" in "Group Chat"
- Fixed german translation

recompile of the GUI needed

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3741 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-02 21:11:11 +00:00
chrisparker126
c7348017b5 suppressing redundant file forum_test (content transferred to distrib_test)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3711 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-28 19:24:26 +00:00
chrisparker126
fc593ccf50 service testing framework and initial work on distrib testing
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3710 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-28 19:22:13 +00:00
csoler
8369d42600 corrected a bug in chunkmaps that affected file creators being providers at the same time, which could corrupt data. Added some debug info to chunk maps.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3673 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-15 22:12:29 +00:00
csoler
eb21343685 added a torture test for file creators that also are used as providers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3672 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-14 21:45:53 +00:00
thunder2
fc0ff38206 Added read/unread state to channel service (copied from forum service).
Added new and missing tests of the RsItems.
Added new notifier on channel changes.
Reworked fill of channels in ChannelFeed. Now the channel tree is updated and not refilled.
Show unread message count in channels tree.
Fixed memory leak in context menu.
Show a new tray icon and action icon in MainWindow, when new channel messages are available.

Recompile of the GUI needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3626 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-07 00:17:42 +00:00
csoler
f21cc0d746 partial resurrectin of ft tests
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3595 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-03 13:14:28 +00:00
chrisparker126
9bdf222418 new msg items to store srcid/from address for rs messages
also updated tests for new rsitems

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3594 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-03 11:56:53 +00:00
csoler
dd93311bad had compilation fixed for these tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3584 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-01 20:46:50 +00:00
csoler
861dec8e0b added scrupt for brute force callof valgrind over serialiser tests
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3576 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-30 21:48:16 +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
52183a0c75 Moved the tag feature in messages from the gui to the libretroshare.
Changed rsmsg interface and item classes so need full recompile.
Created new notifier for tag changes - NOTIFY_LIST_MESSAGE_TAGS.
Changed serialiser tests for message items.

After that all tags are reset to standard and all assigned tags to messages are lost.
Please delete the file msg_locale.cfg in your profile directory.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3381 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-22 22:12:26 +00:00
chrisparker126
331ed93720 added new msg tag feature for retroshare messages.
update rsmsg iface so need full recompile for gui
added serialiser test for new tag rsitems



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3379 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-19 21:47:26 +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
chrisparker126
cf75bee791 temporary changes (lrand48 - rand(), s/random - s/rand() to turtle tunnel, and tlv random tests to allow windows
compatability.
added some explicit headers to distrib items test 
again for compatability.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3349 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-07 19:05: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
chrisparker126
7318fdf9c8 added new tests for msgitem and refactored support functions. testnotes added to keep track of whats left to be done
pls make notes in file when you add tests

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3333 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-02 20:33:53 +00:00
drbob
fcdd7ee113 Changes to integrate bitdht into libretroshare.
Mainly re-organising tcponudp... 
	tests->test area
	network->trash (uses libbitdht classes).
	new udp interfaces (udppeer + udpstunner)

Changes include:
	* p3bitdht: added "addReceiver() call, and more debugging. 
	* p3bitdht: added DO_IDLE flag so searches are continous.
	* p3bitdht/pqiassist: matched up Assist interface.
	* fixed pqiNetListener interface.
	* rsinit/p3connmgr: setup udp init
	* tcpstream: switched to new udp receiver.
	* added "blogs" switch in libretroshare.pro (was stopping compiling ;)
	* added "bitdht" switch in libretroshare.pro 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3323 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-31 18:14:10 +00:00