Commit graph libervia-backend/sat
Author SHA1 Message Date
Goffi
aa262570a6 plugin XEP-0163: fixed bad PEP filtering 2018-08-11 18:24:55 +02:00
Goffi
e18036d2fb plugin OTR: use new "directed" attribute when registering + use new markAsEncrypted 2018-08-11 18:24:55 +02:00
Goffi
e4bda681b8 core (memore/encryption): new methods and checks:
Following methods are now available though bridge:
    - messageEncryptionStop
    - messageEncryptionGet: retrieve encryption data for a message session
    - encryptionPluginsGet: retrieve all registered encryption plugin

Following methods are available for internal use:
    - getPlugins: retrieve registerd plugins
    - getNSFromName: retrieve namespace from plugin name
    - getBridgeData: serialise session data (to be used with bridge)
    - markAsEncrypted: mark message data as encrypted (to be set by encryption plugin in MessageReceived trigger)

Behaviours improvments:
    - start and stop send messageEncryptionStarted and messageEncryptionStopped signals, and a message feedback
    - new "replace" arguments in start allows to replace a plugin if one is already running (instead of raising a ConflictError)
    - plugins declare themselves as "directed" (i.e. working with only one device at a time) or not.
      This is checked while dealing with jids, an exception is raised when a full jid is received for a non directed encryption.
    - use of new data_format (de)serialise
2018-08-11 18:24:55 +02:00
Goffi
7eab898ef3 plugin otr: use namespace specified in XEP-0378 2018-08-11 18:24:55 +02:00
Goffi
9291d24a99 tools (common/data_format): added serialise and deserialise methods (using json for now) 2018-08-11 18:24:55 +02:00
Goffi
64d502958f core (bridge): new messageEncryptionStarted and messageEncryptionStopped signals (not used yet) 2018-08-11 18:24:55 +02:00
Goffi
583d4b0c2e plugin XEP-0384, install: adapted plugin to omemo module changes + added omemo module to dependencies:
- omemo module logs are now integrated in SàT
- OmemoStorage adapated to changes
- now really delete OTPK each time, behaviour may be modified in future
- fixed bad arguments used during decryption
- adapted to other changes

OMEMO is now working \o/
It still needs some adjustements though: bundles/devices are for the moment requested on each message encryption, and fingerprints management is not implemented yet.
2018-08-11 18:24:55 +02:00
Goffi
cadc29f8c2 plugin OTR: integrated in new encryption handler + fixed use of bare jid where full jid was expected 2018-08-11 18:24:55 +02:00
Goffi
11058bec8a plugin XEP-0334: added a method to add hint directly to elements (i.e. on domish.Element instead of message data) 2018-08-11 18:24:55 +02:00
Goffi
48427e3bdd core (memory/encryption): start improvments, stop and getSession:
- "start" won't do anything if session is already encrypted with requested algorithm, and will raise a ConflictError if it's already encrypted but with an other algorithm
- implemented "stop", with an optional namespace to check we are stopping the expected algorithm
- "getSession" retrieve the current encryption session of a jid, if any
2018-08-11 18:24:55 +02:00
Goffi
c5c46f3558 tools (trigger, async_trigger): added no_cancel argument to point and asyncPoint when a trigger must not be cancellable 2018-08-11 18:24:52 +02:00
Goffi
027909103e core: we are in dev version again 2018-08-04 13:03:44 +02:00
Goffi
14412f7a27 plugin XEP-0384: OMEMO implementation first draft:
this is the initial implementation of OMEMO encryption using python omemo module.
/!\ This implementation is not yet working /!\
2018-07-29 19:24:21 +02:00
Goffi
34f3a2e949 plugin XEP-0060: added singleton ID ("current") 2018-07-29 19:23:01 +02:00
Goffi
32b4db60c9 core: new EncryptionHandler class which manage encrypted session as a core feature:
Plugin handling encryption can now register using host.registerEncryptionPlugin, and an encryption session can now be started using messageEncryptionStart bridge method.

This will make encryption handling more easy, as we now know if a session is clear or e2e encrypted, and which plugin handle it.
2018-07-29 19:22:56 +02:00
Goffi
68014352a0 core: added async TriggerManager
Async trigger manager add an asyncPoint method which can be used with Deferred (or sync method).
This allow a triggers do to some long operations like doing network requests.

MessageReceived and sendMessageData now use asyncPoint.
2018-07-29 19:22:51 +02:00
Goffi
34a6d18475 core (memory/persistent): better default value handling in LazyPersistentBinaryDict (don't jump to debugger in debug mode if value is not found) 2018-07-29 18:44:49 +02:00
Goffi
ff79fa3ce0 core: style improvments (90 chars limit) 2018-07-29 18:44:27 +02:00
Goffi
86c0767a96 0.7.0a2 release 2018-07-08 18:38:29 +02:00
Goffi
ec28adf7b6 0.7.0a1 release 2018-07-04 07:26:20 +02:00
Goffi
653b1f1155 plugin XEP-0077: fixed RegisteringAuthenticator to use TLS if possible 2018-07-04 07:26:20 +02:00
Goffi
f2b1398a9f core, frontends: replaced org\.goffi namespaces by org.salutatoi + fixed generation:
generation of D-Bus bridge has been broken by black formatting tool, this patch fixes this.
2018-07-01 20:37:58 +02:00
Goffi
b9a6cdd785 plugin merge-request/mercurial: fixed missing last line in diff while parsing patch 2018-06-29 15:54:46 +02:00
Goffi
d5c9fa5e31 plugin XEP-0070: use a confirm dialog instead of a form + simplified a bit the code 2018-06-27 21:15:34 +02:00
Goffi
744cb0c503 code style reformatting using black 2018-06-27 20:14:46 +02:00
Goffi
4127bcffd0 plugin merge request (mercurial): clean item_id for import (some chars are not accepted in name) 2018-06-27 07:51:29 +02:00
Goffi
da71887397 core: lines limit 2018-06-27 07:50:35 +02:00
Goffi
e9ca46fba3 plugin merge request (mercurial): escape colons in import name 2018-06-27 07:23:59 +02:00
Goffi
ea9583aea0 core: some more line limiting 2018-06-27 07:23:13 +02:00
Goffi
a365c2b797 plugin events: invitations improvments + personal list
- added invitation by <message> mechanism
- added a personal list in PEP which keep events created by user, or in which she has been invited
- new bridge methods: eventsList, and eventInviteByEmail. eventInvite is now used to invite a entity by jid (not email like before)
- on invite, an invitation message is send to invitee's jid
- when an invitation message is received, event is automatically linked in personal list
- when creating a new event, event is automatically linked in personal list
2018-06-21 01:21:44 +02:00
Goffi
784e99fa49 plugin XEP-0045: fixed crash when muc service is not found 2018-06-21 01:21:44 +02:00
Goffi
0242772939 tools (date_utils): moved date_parse to common.date_utils, because it can be used in frontends 2018-06-21 01:21:44 +02:00
Goffi
5f226a669c core (version): added workaround for Pyjamas, avoiding crash when reading VERSION 2018-06-03 13:54:35 +02:00
Goffi
3c30ecd118 plugin merge-requests: allow to set empty repository when "update" is set in extra parameters:
if "update" is set, former patches data can be used, so it's not mandatory to specify a repository. In this case, empty string may be used as repository.
2018-06-01 12:23:43 +02:00
Goffi
6af707e529 plugins schema, merge-requests, tickets: convert labels from textbox to list only when "labels_as_list" is set in extra parameters. 2018-06-01 12:21:23 +02:00
Goffi
785af76bc0 tools (common): moved date_fmt function from template filters to new date_utils module, so it can be used everywhere. 2018-06-01 12:04:06 +02:00
Goffi
4d4d594c60 core: discoFindByFeatures now return only available resources 2018-05-25 10:52:01 +02:00
Goffi
a7816961dd core (xmpp): fixed "Force server" param on Android 2018-05-25 10:52:01 +02:00
Goffi
b0a63edd9c core: added local_device argument to discoFindByFeatures 2018-05-25 10:52:01 +02:00
Goffi
3d3d50d5b2 core (xmpp): use "phone" type in identities when backend is started from Android 2018-05-25 10:52:01 +02:00
Goffi
4a09638f32 tools (common): new files_utils module:
get_unique_name find a name not conflicting with an existing file
2018-05-25 10:52:01 +02:00
Goffi
37c73105e0 core (constants): new downloads_dir config option (default path where files can be downloaded):
use Android API to find downloads_dir on this platform
2018-05-25 10:51:59 +02:00
Goffi
fd73022ccb plugin XEP-0329: new methods/signals to handle shares:
2 new methods:
- FISLocalSharesGet retrieve paths shared locally
- FISUnsharePath stop sharing a file or directory

2 new signals:
- FISSharedPathNew triggered when a new path is shared
- FISSharedPathRemoved triggered when a path is not shared anymore
2018-05-22 10:06:07 +02:00
Goffi
c0e2a4f84b core (disco): fixed disco capabilities (empty disco was used) 2018-05-22 09:59:58 +02:00
Goffi
da147c5cc7 plugin XEP-0050: filter form received from form-processing entity, to only keep "form" and "result" types 2018-05-11 18:20:39 +02:00
Goffi
8f70b2528f plugin XEP-0045: display a note when no configuration is available on the room 2018-05-11 18:18:06 +02:00
Goffi
cd78b78abf plugin XEP-0045: fixed room configuration cancellation 2018-05-11 17:24:37 +02:00
Goffi
515add5c7e plugin XEP-0045: fixed joining workflow:
- room keep joining workflow state, and display warning when something is received at unexpected moment
- state is change immediatly when subject is received (which must be the last thing before live messages), avoiding timing issue if history storage in database is taking too much time
- user joined/left data are not saved anymore in history as it takes a lot of space for little interest. A future option may allow to re-enable it if needed.
2018-05-11 17:11:47 +02:00
Goffi
2199c99d5b bridge: added generated pb files to repository (needed for Cagou on Android) 2018-04-13 18:45:43 +02:00
Goffi
c43f8e6205 core (constants): updated Android constants for Cagou 2018-04-13 18:44:22 +02:00