- the user is asked at start wether to load or deny unregistered plugins, but can make it mind later in config->plugins
- added API and SVN numbers into required external plugin symbols
- user-defined plugin rules are dropped when a plugin changes (hash changes) or when the main executable changes.
- added new status flags (Plugin denied, missing API/SVN numbers)
- modified saveList()/loadList() to allow saving a list of rejected plugins as well.
- added methods in notifyBase and inherited classes to ask for plugin confirmation.
- adapted VOIP plugin to follow these new rules (API+SVN numbers). Other plugins should be adapted as well by addign the
missing symbols (RETROSHARE_PLUGIN_api and RETROSHARE_PLUGIN_revision).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5529 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added svn revision number checking to plugin system. If svn revision is > 0 and matches the compiled revision number, the plugin is always accepted.
- improved version number scripts to add the missing revision number as a int
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5512 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 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
new pure radix format, which is easier to parse and much more robust.
- added test program to load/parse certificates in both formats.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5403 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* private key was not correctly added to private keyring
* self signature validation was reported unsuccessful when unknown signatures where found
- enabled key import when no key is present
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5389 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 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
- 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
started implementing gen exchange client calls
finished implementing msgrelated info dataAccess routine
more refinements to various interface - need to think about how meta is passed about the various
layers of gxs and kept consistent with sqldb
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5321 b45a01b8-16f6-495d-af2f-9b41ad6348cc
a transfer not finish if the original surce for a crc is not here anymore.
If you have a unfinished transfer do a force-check after restart to get back chunks that
where still on verificaiton stage.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5315 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
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
- 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
- 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
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
* 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