Commit Graph

130 Commits

Author SHA1 Message Date
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
drbob
c0738eec7f Merging branches/v0.6-initdev into trunk.
These split at 6672 -> 7075, so quite a bit merge.
libretroshare compiles - but untested.
retroshare-gui needs GenCertDialog.ui and IdEditDialog.ui to be properly merged. (compile errors).
some plugins will be broken.
retroshare-nogui is untested.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-01 14:16:15 +00:00
csoler
efd1447a84 removed code for old certificate format.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@7041 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-19 14:42:16 +00:00
drbob
d39c5c028a fixed up hidden addresses and removed whitespace from onion address.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@7036 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-18 23:29:22 +00:00
drbob
39db508ce7 Improvements for V0.6 logins to support hidden nodes.
- Separated Acount stuff from rsinit.cc => rsaccounts.cc
 - Moved Account Directory to HID06_xxxxxxx, or STD06_xxxxx
	This allows us to check for Hidden immediately
	And prevents v0.5 accounts being used with 0.6
 - Added functions to support Proxy, and Hidden stuff.
 - Changed Minimum port to 10 to allow port 80 to be used by those who must.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@7027 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-18 02:32:55 +00:00
csoler
dd22bd24d9 fixed display of correct IP for connected friends. Only the external IP was shown previously. Port is not shown because it is random and could be misleading. Needs full recompilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6918 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-30 13:48:39 +00:00
drbob
90aa57a0f0 Rewrite of the discovery system to be more private, with less traffic.
Split the visState into seperate vs_disc and vs_dht for easier handling.
Split the heartbeat system into a separate service.
Added IPv4 and IPv6 local/ext addresses into discovery & peer config.
Fixed up samenet and samesubnet ipv4 calls.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-28 08:09:59 +00:00
drbob
34ea22d5f6 Implemented sockaddr_storage functions.
Fixed interfaces for UPnP.

Some further tweaks to get TCP connections working again:
 - hiddenNode issue in p3peers.cc
 - fixed socklen_t for bind() and connect() calls.
 - initialise addr to IPv4 for netmgr.
 - change netAssist (Upnp) interfaces.

Still todo: tou address functions, test UDP functionality.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-24 05:30:01 +00:00
drbob
6290d8fed9 Massive commit - changing from sockaddr_in => sockaddr_storage.
In preparation for making RS support IPv6.

NB: This breaks the build of retroshare-gui, as the
sockaddr_storage_xxx fns are only defined as prototypes for now.

All the aux libraries like udp / stun / tcponudp / dht have still to be converted.

These changes will probably break various things and need to be tested thoroughly.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6735 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-13 14:35:19 +00:00
drbob
bfd915864b mods to support hidden node: setup & cert sharing.
Also removed old configuration mode from p3cfgmgr



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6720 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-09 02:10:49 +00:00
drbob
a6cf738371 Removing old services, serialisers and other references for:
- forums
	- channels
	- tunnel
	- blog
	- gamelauncher.
	- distrib.

Note this majorly breaks the GUI, for the moment.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6683 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-03 14:51:23 +00:00
thunder2
5dee253030 Copy name of the location from the cert to RsPeerDetails in p3Peers::loadDetailsFromStringCert.
The name of the location was missing in ConnectFriendWizard, only the id was shown.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6665 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-01 12:11:21 +00:00
drbob
f519ae1a0d * Added libretroshare internal storage of "Denied Connections" in linkMgr.
* Added a couple of missing #defines.
 * Tweaked dht connect state strings for easy parsing.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6589 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-08-22 07:26:13 +00:00
csoler
379aece9b0 suppressed inconsistent warning message
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6547 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-07-29 12:42:45 +00:00
csoler
e11f60150c improved error handling, and ensures that keyring is always kept consistent
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6395 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-05-31 19:16:04 +00:00
csoler
0266329dc8 - Added a drop-down item to allow removing unused keys, in the Network dialog.
- added key removal method in OpenPGP-SDK
- improved FriendSelectionDialog/Widget to enable select all/none keys, and show non friend keys
- added safe key removal method in PGPHandler. Removed keys from other locations will not cause errors.
- added backup system to public keyring, impossibility to remove public parts of owned secret keys, etc.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6382 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-05-29 21:32:02 +00:00
csoler
c2fcd8bc71 patch from Henry Morgan to avoid removing peer permission flags when removing locations
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6309 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-16 20:10:31 +00:00
csoler
86ebfc5d2b calling the right function to get permission flags
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6298 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-08 19:55:21 +00:00
csoler
bc463a0f81 fixed remembering flags for own id, tentatively fixed service perm bug
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6292 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-05 21:11:27 +00:00
csoler
970e83ead3 fixed bug in p3peer.cc not calling the correct method
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6288 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-04 13:10:26 +00:00
csoler
9b01e3658d implemented deferred signature method in notify system to alow signing from a non GUI thread
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6175 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-01 23:00:43 +00:00
csoler
e7536960c3 - fixed inconsistency in parameter naming, causing error_string to be mixed up with gpg id (Not a bug).
- removed unimplemented entry loadCertificateFromFile()


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6075 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-01-19 13:43:35 +00:00
csoler
d893d30883 - made errors of certificate (new formaT) parsing translatable.
- added checksum code for new format certificate. Will be enabled in v0.6, since it is not backward compatible
- fixed very stupid bug in radix64 cleaning function, causing any certificate to be accepted as a radix string
- added list of non backward compatible changes in README.txt, so that we can track them


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6030 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-22 21:22:03 +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
csoler
454daf1981 Iproved file list handling:
- Implemented correct cacheData send to clients usign constant subid value.
- At start, the association between peers and available file list is always recomputed
- overloaded cacheAvailable() and refreshCache() in FileIndexMonitor
- added callback in rsFiles to force re-generating cache items when group layout has changed
- force re-sent file lists when moving peers between groups in the GUI
(Fixes group leaking problem) Needs full recompilation of libretroshare.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5813 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-12 22:51:27 +00:00
csoler
bdc275e15f suppressed unitialized memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5803 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-11 12:57:05 +00:00
csoler
a2f958b956 disabled flag DIR_FLAGS_NETWORK_WIDE_GROUPS for consistency reasons. We might extend it to rsCircles later.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5784 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-06 20:46:56 +00:00
csoler
9a6b675657 fixed bug in gpg_id vs. ssl_id (grrrr)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5775 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-04 15:01:43 +00:00
csoler
e753f22909 fixed flags conflicts
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5758 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-02 13:52:29 +00:00
csoler
dc82cee700 First shot of file sharing permissions. Compiles, but needs some testing/debugging.
- added type-safe flags in retroshare/rsflags.h. This should be used to make new flags types in order to prevent mixing flags up in function prototypes.
- group handling is left to rsPeers. We'll move it to rsCircles later.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5754 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-01 10:06:12 +00:00
csoler
b714d68523 fixed code for certificate link generation.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5420 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-08-14 19:31:47 +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
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
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
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
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
c331098203 Added new message flag for system messages like friend request.
Show "RetroShare" as sender of system messages to myself.
Added new quick view in MessagesDialog to filter system messages.
Changed RetroShare link in friend request message to certificate.
Added new subject image for the system messages (defnax).
Removed not used notify in message service.
Recompile needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5129 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-05-01 09:18:55 +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
0778e8f691 3 patches from AsamK:
* fixed utf8 in dropping links to channels
	* fixed pasting cert links in the friend list
	* added code to allow pasting GPG certificates missing a newline at the end.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5064 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-30 19:43:39 +00:00
thunder2
45ac04e2e7 Count the friends (gpg id's) instead of the locations (ssl id's) in the statusbar.
Moved update of the friends from QTimer to signals.
Combined p3LinkMgr::getFriendCount and p3LinkMgr::getOnlineCount and moved to p3PeerMgr.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4986 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-25 01:48:56 +00:00
drbob
57c7e66a38 Attempted fix for maintaining External Port in Manual Forwarded Mode.
- added check for RS_NET_MODE_EXT instead of RS_NET_MODE_TRY_EXT... as trys aren't used in p3PeerMgr.
 - removed tryMode from external interface - as this data is not available anymore.
 - Removed setting this parameter in p3peers.cc



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4919 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-11 12:18:56 +00:00
drbob
8267739b02 Final core changes required to get relay links working.
* Added LinkType to p3LinkMgr => exposed via rspeers.h
 * Added ConnectionType to p3PeerMgr. This is dummy default to FRIEND at the moment.
 * Flag bandwidth limited Relay links as such.
 * Switched DNS Address connect to in front of historical addresses.
 * Reverted Flags in p3LinkMgr to what they were.
 * Added LinkType Flags to rspeers.h
 * removed getConnectFlags() as it was a bad way to do things.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4769 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-08 22:15:19 +00:00
csoler
8941aa5991 corrected a few bugs in the cert cleaning method. Added feedback to the GUI and error codes for the cert cleaning function of rspeers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4580 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-30 21:49:49 +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
6931a3ba2c Fixed "double-click" chat startup bug.
* the gpgOnly flag was incorrectly set false.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4550 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-10 11:00:34 +00:00
drbob
8688c65f4c * Added "lastcontact = now" when added SSL Peer. This ensures that new certificates will be retained for at least 30 days.
=> Giving new peers a chance to connect.
 * Fixed missing return in p3PeerMgr::removeUnusedLocations()
 * moved RTT defines to top of file, and increased to 150 results.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4546 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-08 11:27:40 +00:00
drbob
8e3e7d5209 Cleaned up rsPeers to remove 10 minute reconnect. The reconnect was caused by
the periodical call of cleanupUsedLocation, which was reloading all the GPG Keys - for each cleanup Key.
This required cleaning up various bits (AuthGPG, rsPeers, p3Disc).

 * moved rsPeer::cleanUnusedLocations => p3PeerMgr::removeUnusedLocations();
 	- made the function light-weight, no loading of GPG Keys.
 * moved getSSLCertsFromGPG() fn from rsPeers => p3PeerMgr
 * added p3PeerMgr::removeAllFriendLocations() to cleanup when removing a GPG Friend.
 * cleaned up rsPeers, made addFriend() / removeFriend() universal functions.
 * remove bool   p3Peers::setAcceptToConnectGPGCertificate(const std::string &gpg_id, bool acceptance)
 * removed all Dummy SSL Ids. - There is no need for this!
 * Major changes to p3disc to correct FLAWED logic.  (needs more testing).
 * removed as many dependancies on retroshare/rspeer.h as possible.
 * changed p3turtle dependancy on rsPeers ==> mLinkMgr.
 * added p3LinkMgr::getPeerName() and p3PeerMgr::getPeerName()
 * added return 1 to pqissllistener::closeConnection().
 * removed unused code from AuthGPG().
 * removed storeAllKeys() calls in AuthGPG::AllowConnection().



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4542 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-07 21:11:00 +00:00
drbob
f6f721a492 Removed p3ConnectMgr. Replaced it with p3LinkMgr, p3NetMgr and p3PeerMgr.
Updated references in other classes.
 * Most classes need p3LinkMgr, and only use two functions: OwnId() and getOnlineList()




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4416 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-09 18:39:34 +00:00
csoler
e9853b655c added a signature add/remove button in connect wizard, only when gpgme-1.3.1 or greater is used, based on the availability of the GPGME_EXPORT_MODE_MINIMAL option.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4372 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-01 20:47:58 +00:00
thunder2
8f0793f071 Removed automatic cleaning of the certificate in p3Peers::loadDetailsFromStringCert.
Added new button in ConnectFriendWizard for cleaning the certificate.
Fixed cleaning:
- added blank line after the armor header
- moved the checksum to a new line
Recompile of the GUI needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4134 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-04-08 18:53:12 +00:00