csoler 6edb9eb4f8 Merged branch that provide group-based file permissions.
Now users can sort peers into groups in the friend list, and attribute flags and parent groups to the
directories in the share manager.

Flags are B-B-N, meaning in order:
- browsable for peers in the parent groups
- browsable for everyone
- network wide for everyone
Backward compatibility makes previously BN flags been interpreted as -BN, meaning browsable/network wide for everyone.

Be careful with this new feature. It has been tested, but it's a bit early to rely on it for highly sensitive data.

The merge also includes a significant improvement of the naming of flags with incompatible types
which should sort out some existing bugs as well, since inconsistencies in flag usage have been
found during the process.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5787 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-07 20:03:16 +00:00
2012-11-01 12:12:24 +00:00
2012-07-31 11:36:00 +00:00

To use this branch:

   chekcout the last version of openpgp SDK:
      # svn co svn://openpgp.nominet.org.uk/openpgpsdk/tags/openpgpsdk-0.9 openpgpsdk
      # cd openpgpsdk
      # ./configure --without-idea
      # make

   For the moment, the compilation is not workign on ubuntu 

Work to do
==========
Put a 'x' when done. 1,2,3 means started/ongoing/almost finished.

Compilation
  00   [1] make sure the library compiles on linux
  01   [ ] make sure the library compiles on windows

Project
  02   [1] determine what's missing in OpenPGP-SDK
  03   [3] make a separate layer in RS to handle PGP. AuthPGP is too close to libretroshare.
  04   [1] write the new AuthGPG class
  05   [ ] consider removing thread behaviour of AuthGPG
  06   [ ] remove callback system and services from AuthGPG, since it's not useful anymore
  07   [ ] make all RS use GPGIdType isntead of std::string.

Notes
=====
   Questions to answer:
     - do we rely on updates from openPGP-sdk ? Probably not. This code seems frozen.
     - do we need an abstract layer for PGP handling in RS ?
     - what new functionalities do we need in RS ?
          * pgp keyring sharing/import/export
          * identity import/export

   Code struture
     - replace current AuthGPG (virtual class) by a class named GPGHandler,
        that is responsible for signing, checking signatures, encrypting etc.
     - add a specific 8-bytes type for GPG Ids. Could be a uint64_t, or a
        uchar[8]


Description
RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Readme 199 MiB
Languages
C++ 85.6%
C 7%
QMake 1.7%
HTML 1.4%
NSIS 1%
Other 3.1%