ae8fd402f8
xep_0384: Add a way to specify parameters to the plugin
...
Users can now specify replacements for the storage backend, otpk policy,
and the omemo backend.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
a490ca6066
xep_0384: Add check on data_dir before loading plugin
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
15f34aa145
xep_0384: Use variables for filenames in Storage
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
1f6c13fdd1
xep_0384: only clean specified session for a user; use existing storeSession method
...
Thanks Syndace
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
3fdb7cc953
xep_0384: add types to Storage
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
d3c2db0d08
xep_0384: use correct variable name in deleteJID impl
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
011aeaa7a2
xep_0384: Change listJIDs' return value to set
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
77dccdb332
xep_0384: Change behaviour for NoElibibleDevices, add comments
...
Thanks to Syndace for the explanation.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
2880aef846
xep_0384: Use Optional instead of Union[None, T]
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
46a7e414a4
xep_0384: update plugin to work with OMEMO lib updates
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
2c90249462
xep_0384: update storage with new lib updates
...
Add:
- deleteSession
- storeTrust
- loadTrust
- listJIDs
- deleteJID
Fix:
- loadInactiveDevices
- storeInactiveDevices
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
623ca1e2bb
xep_0384: get_device_list now always returns active devices
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
57addc3b39
xep_0384: add _fetch_device_list method for manual fetching
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
09083d0724
xep_0384: handle IqError and IqTimeout in _fetch_bundle
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
71c592d666
xep_0384: Move _fetching_bundle method out of plugin class
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
be6b0efb0f
xep_0384: rework _store_device_ids method
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
8d35f7f80a
xep_0384: Allow Devices in Items as well as EventItems
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
eb3916e92e
xep_0384: handle OMEMO devices ns explicitely
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
b64371e8fe
xep_0384: Move _generate_encrypted_payload out of plugin class
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
2891e92269
xep_0384: move _parse_bundle out of plugin class
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
bc97de440a
xep_0384: don't register the plugin twice
...
We're already calling `register_plugin` in __init__.py
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
b6fb1ec015
xep_0384: rename cache_dir to data_dir. This data should be persisted
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
53d49f838d
xep_0384: add bare_jid and device_id to NoAvailableSession exception
...
We actually had the data all along!
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
a8fb31a4b1
xep_0384: republish our bundle after decryption if necessary
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
4b565c0f7b
xep_0384: document & raise NoAvailableSession
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
f81e6525cd
xep_0384: import omemo.exceptions directly
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
05ef6d75c3
xep_0384: store sessions to file
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
23ac4a5bff
xep_0384: Fix issue when loading session
...
Slixmpp was never able to load the session as ids would mismatch, thus
unable to decrypt incoming messages.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
4b51f117bb
xep_0384: Generate XML from encrypted payload received from the lib
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
c355b14f79
xep_0384: loop again until encryption errors are fixed or until we're stuck
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
112bdddf11
xep_0384: Use set instead of list for no_eligible_devices
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
a12dad7241
xep_0384: Fixup; get check for eligible devices out of the loop
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
bc85bc7efd
xep_0384: raise NoEligibleDevices all at once
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
8465936715
xep_0384: Handle NoEligibleDevicesException
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
c192c180e1
xep_0384: fix type annotation for bundles
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
85e5d44bb8
xep_0384: encryption: handle MissingBundleException
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
4bdea25179
xep_0384: encryption, return empty payload (doesn't encrypt anything)
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
fb13027906
xep_0384: Remove custom encode function; use bundle API
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
02f140614f
xep_0384: use exception instead of log when missing own key when decrypting
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
3227e58d8a
xep_0384: Moar mypy; add types, fix stuff
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
8117248bc7
xep_0384: document encode_public_key fn
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
41919a7a5e
xep_0384: some more mypy checks
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
252b789f85
xep_0384: add some types to storage
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
5e55120317
xep_0384: simplify trust management even more for now
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
f15626c6d1
xep_0384: Fix message decryption. Hello world!
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
11cbbdcda4
xep_0384: Make storage synchronous
...
The OMEMO lib provides a way to do async operations, but slixmpp and
poezio are not entirely ready for this:
- The plugin_init method is not awaited, in slixmpp
- Event handlers are not awaited, in poezio
This would need to be fixed before being able to do what I am trying to
do asynchronously.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
f20a1a8224
xep_0384: b64decode message elements when decrypting
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
3696f3256a
xep_0384: Fix decryptMessage call
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
d6b9bef2e2
xep_0384: Fix publishing device list
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00
889def5a2b
xep_0384: Publish bundle again
...
The backend library is missing the encodePublicKey method for now.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-01-29 18:05:59 +01:00