Commit graph

1,074 commits

Author SHA1 Message Date
souliane
bba25dd62d bridge: DBusException also transports the twisted failure condition 2014-06-15 16:06:02 +02:00
Goffi
8867ac6c60 bridge (D-Bus): frontend side now use a 120 s timeout for async calls 2014-06-15 00:18:28 +02:00
Goffi
b2c2dc5e6a plugin XEP-0050: form returned by completed command are now managed 2014-06-14 17:26:22 +02:00
Goffi
b207fdd6c9 core (XMLUI): management of text-multi in _dataFormField2XMLUIData 2014-06-14 17:25:08 +02:00
Goffi
4bbf1e2be6 core (XMLUI): data form result now manage generic data set 2014-06-14 17:24:16 +02:00
souliane
e18adb373d plugin XEP-0045: room configuration returns a success or failure message 2014-06-12 18:56:08 +02:00
souliane
f08b22ecb2 tools (xml_tools): dataForm2XMLUI handles the default value for "list-single" fields 2014-06-12 18:19:55 +02:00
souliane
7a9392f486 test (memory): fixes crypto encryption/decryption test 2014-06-12 15:57:22 +02:00
souliane
4e2366a3d5 memory (sqlite): fixes upgrade to database v2 2014-06-12 15:56:41 +02:00
souliane
76413b3679 memory, tools (config): move special config retrieval from memory to tools 2014-06-09 20:40:13 +02:00
souliane
a5dd35ce65 frontends: async failures are more detailed (full class name + error message) 2014-06-07 15:39:20 +02:00
souliane
b9106c65d6 bridge: async failures are more detailed (full class name + error message) 2014-06-07 15:20:39 +02:00
souliane
3d9795e578 core (xmpp): onMessage handles an eventual subject (used for announcement / headline message) 2014-06-02 19:25:06 +02:00
souliane
244a33d2c7 core (xmpp), stdui (profile_manager), bridge, frontends: raise an exception if the XMPP connection failed instead of sending a signal 2014-05-23 09:59:35 +02:00
souliane
f719875f0b core, frontends: remove bridge method "connect" (always use asyncConnect) 2014-05-23 10:40:54 +02:00
souliane
f09fb76752 frontends: fixes bug with private message introduced with revision 1000 (6f1e03068b5f) + display messages from contacts not in roster 2014-05-29 14:34:01 +02:00
souliane
2afa53f755 test: fixes the tests for plugin XEP-0033 2014-06-08 17:39:21 +02:00
souliane
6f5de58d6e tools (config): fixConfigOption creates the section if it doesn't exist 2014-06-08 17:27:03 +02:00
Goffi
503b408675 plugin otr: first draft 2014-06-07 16:39:08 +02:00
Goffi
379debaa9e installation: added python OTR dependency 2014-06-07 16:39:08 +02:00
Goffi
d113c2a295 core (XMPP): message received (onMessage) refactoring:
- better separation of actions
    - use of failure.trap and generic exception (CancelError/SkipHistory)
2014-06-07 16:38:53 +02:00
Goffi
87b3e413ee core (XMPP): sendMessage refactoring:
- better separation of message sending actions
    - use of more generic exceptions to hook the behaviour (SkipHistory and CancelError)
    - use of raise instead of return
    - use of failure.trap
2014-06-07 16:35:29 +02:00
souliane
5f2b90e163 memory (params), test: fixes updateParams bug 2014-06-03 17:10:12 +02:00
souliane
900047c921 memory (params), test: fixes bug relative to parameter filtering 2014-06-03 15:10:51 +02:00
souliane
2a04d556a3 plugin XEP-0100: fixes the call to log.debug (line 185) 2014-06-04 12:57:49 +02:00
souliane
a22d4b27dc primitivus: fixes freedesktop notifications when the owner name is changing 2014-05-28 12:14:28 +02:00
souliane
50503332d2 memory: synchronize the upgrade to database v2 to be sure libervia's profile password is read to be written in the config file before its encryption 2014-05-23 13:00:35 +02:00
souliane
90115df6f1 tools: add missing file src/tools/config.py 2014-05-23 10:03:33 +02:00
souliane
c68b147398 memory: auto-update configuration file with libervia's passphrase when migrating the database 2014-05-23 09:59:15 +02:00
souliane
ae45889d50 plugins misc_account, misc_register_account: manually delete the sessions when not needed anymore 2014-05-21 23:17:51 +02:00
souliane
8be7416569 core, stdui (profile manager), quick_app: ask for another XMPP password when profile authentication succeed but XMPP connection fails 2014-05-21 23:15:01 +02:00
souliane
ea05b4e0d6 memory (params): fixes bugs in setParam:
- symbol 'd' was accessed without having been initialized when setting the empty value to a password which is not the profile password
    - the method was actually returning without waiting for the parameter to be set
2014-05-21 21:14:40 +02:00
souliane
cf7c18e56b plugin misc_accout: update relative to the introduction of profile password:
- check for the profile password instead of the xmpp password before a modification can be done
- "Change your password" action changes both passwords (a confirmation is asked)
2014-05-21 12:07:13 +02:00
souliane
d70cbb3b7f plugin misc_account: do not send the password with the confirmation email for account creation 2014-05-20 15:47:08 +02:00
souliane
8eddcc4ec9 memory (params): fix parameters of type "list" to use the default option when no individual value is set 2014-05-20 09:34:02 +02:00
souliane
c6e66eda24 fixes setup with PyCrypto minimal version 2014-05-16 11:26:46 +02:00
souliane
dd597a2ead core, memory, bridge, plugin misc_register_account: move registerNewAccount to a new plugin:
- the bridge method has been removed, now a plugin takes care of it with XMLUI callback system
    - TODO: xmpp.RegisteringAuthenticator still needs to be fixed
2014-05-16 00:58:20 +02:00
souliane
2a74cd0c06 tools (xmlui): to click a button in a "param" form will automatically submit the parameters of the same category 2014-05-16 00:53:09 +02:00
souliane
c3d859a48b wix: update the connection mechanism to ask for non empty profile passwords 2014-05-07 18:16:15 +02:00
souliane
fa430d5105 quick_app, primitivus: update the connection mechanism to ask for non empty profile passwords 2014-05-07 16:11:32 +02:00
souliane
6a7f88858e jp: option '-c' is not longer a flag but a string to define the profile password:
- no '-c': same behavior as before, do not connect the profile
- '-c' with not following value: autoconnect and use the default value '' as profile password
- '-c' with a following value: autoconnect and use that value as profile password

Note that previous scripts may not work. For example, even if the profile password for "test1" is empty:
  jp disco -p test1 -c contact@host.net
must be changed to:
  jp disco -p test1 -c -- contact@host.net
Otherwise, argparse will think that "contact@host.net" is the password and that the target JID is missing.
2014-05-07 16:10:20 +02:00
souliane
67a605c1c8 stdui: add ui_profile_manager to interact with frontends when profile authentication is needed 2014-05-07 16:03:38 +02:00
souliane
f3b0b52014 plugins misc_account, misc_smtp: update the plugins that deal with passwords 2014-05-12 17:51:38 +02:00
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
souliane
c9f4397000 memory: add class ProfileSessions based on Sessions 2014-05-10 17:37:32 +02:00
souliane
7a29fae242 memory, test: added module crypto to hash passwords and encrypt/decrypt passwords or blocks 2014-05-07 15:46:43 +02:00
Goffi
cc010fba59 core: fixed typo 2014-05-15 20:25:52 +02:00
Goffi
e3f0fe289e core: getReady and asyncConnect now wait full initialisation, not only memory 2014-05-15 20:01:56 +02:00
Goffi
a3f460d391 plugin text commands: added /me command to avoid the need to escape the / 2014-05-15 19:51:53 +02:00
Goffi
a2f1522efd bridge (constructor): fixed D-Bus frontend generator for async method without sig_in + fixed --debug option + regenerated bridge to fix bad frontend D-Bus bridge. 2014-05-15 16:35:28 +02:00