libervia-backend/src/memory
Repository files (latest commit first)
Filename Latest commit message Latest commit date
souliane 0d28c03d27 core, memory, bridge: added profile password + password encryption:
/!\ This changeset updates the database version to 2 and modify the database content!

Description:
    - new parameter General / Password to store the profile password
    - profile password is initialized with XMPP password value, it is stored hashed
    - bridge methods asyncCreateProfile/asyncConnect takes a new argument "password" (default = "")
    - bridge method asyncConnect returns a boolean (True = connection already established, False = connection initiated)
    - profile password is checked before initializing the XMPP connection

    - new private individual parameter to store the personal encryption key of each profile
    - personal key is randomly generated and encrypted with the profile password
    - personal key is decrypted after profile authentification and stored in a Sessions instance
    - personal key is used to encrypt/decrypt other passwords when they need to be retrieved/modified

    - modifying the profile password re-encrypt the personal key
    - Memory.setParam now returns a Deferred (the bridge method "setParam" is unchanged)
    - Memory.asyncGetParamA eventually decrypts the password, Memory.getParamA would fail on a password parameter

TODO:
    - if profile authentication is OK but XMPP authentication is KO, prompt the user for another XMPP password
    - fix the method "registerNewAccount" (and move it to a plugin)
    - remove bridge method "connect", sole "asyncConnect" should be used
2014-05-07 16:02:23 +02:00
..
__init__.py core: - memory refactoring (moved memory.py and sqlite.py from tools to memory) 2011-11-20 15:34:37 +01:00
crypto.py memory, test: added module crypto to hash passwords and encrypt/decrypt passwords or blocks 2014-05-07 15:46:43 +02:00
disco.py core: use of the new core.log module: 2014-04-19 19:19:19 +02:00
memory.py core, memory, bridge: added profile password + password encryption: 2014-05-07 16:02:23 +02:00
params.py core, memory, bridge: added profile password + password encryption: 2014-05-07 16:02:23 +02:00
persistent.py memory: add class ProfileSessions based on Sessions 2014-05-10 17:37:32 +02:00
sqlite.py core, memory, bridge: added profile password + password encryption: 2014-05-07 16:02:23 +02:00