28be8ab0cd
Add TODO in plugin_e2ee _decrypt
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-30 05:39:08 +01:00
fa063ddd57
Merge branch 'plugin-omemo' into 'master'
...
E2EE plugins support
See merge request poezio/poezio!18
2019-12-28 22:36:27 +01:00
mathieui
abbb6a714e
Disable a pylint error on a line (due to __getattr__ override)
2019-12-28 16:47:18 +01:00
9e390085a1
omemo: omemo_plugin moved to its own repository for licensing purposes
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 19:02:09 +01:00
39e756cb35
omemo: Add TODO for unverified state
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
96acbaa13d
omemo: remove unnecessary newline in docstring
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
fb637a597b
omemo: prevent traceback when no JID is specified in non-supported tab
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
c610a76fd9
omemo: use dedicated method to check if encryption is enabled
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
3697e308c2
omemo: use jid property instead of name on chat tab
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
931fc58199
omemo: Update decrypt_message with slixmpp-omemo changes
...
decrypt_message now takes an Encrypted container and a sender (JID)
instead of a Message object.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
ecdd036237
omemo: Update get_fingerprints with slixmpp-omemo changes
...
slixmpp-omemo's get_trust_for_jid doesn't provide fingerprints directly
anymore, it simply wraps the omemo lib method.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
mathieui
e8dd6f0a91
omemo: fix show_fingerprints (JID instead of str)
2019-12-27 18:58:48 +01:00
04efd8ee07
omemo: implement get_fingerprints method
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
mathieui
518ba47e2a
omemo: add an api in plugin_e2ee to get the fingerprint(s) of a jid
2019-12-27 18:58:48 +01:00
mathieui
5c4571751e
omemo: fix an indent error and make mypy happy
2019-12-27 18:58:48 +01:00
mathieui
b40de0bcbe
omemo: fix some errors / feedback in trust setting
2019-12-27 18:58:48 +01:00
mathieui
07447a465a
omemo: fix the type of the supported tab tyoes
2019-12-27 18:58:48 +01:00
03499a2d2c
omemo: handle MissingBundleException when it comes from EncryptionPrepareException
...
We're not supposed to see MissingBundleException directly as it's
handled by slixmpp-omemo. Slixmpp-omemo will give us all the remaining
exceptions via EncryptionPrepareException when it doesn't know what to
do anymore.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
0e27485c36
Remove exception catchall in omemo plugin as it's now handled in plugin_e2ee
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
cd3f2a197b
omemo: Remove unused variable in encrypt method
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
mathieui
c85c8f6c77
omemo: add supported_tab_types and trust_states into the omemo plugin
2019-12-27 18:58:48 +01:00
mathieui
25dae11eb3
omemo: add supported_tab_types and trust_states plugin attributes
...
- supported tab types is a list of tabs this plugin should be active in
(only chattabs)
- trust_states is a dict[str → set] containing only two keys: accepted
and rejected, whose values are the internal plugin states that should
allow encryption and the ones that should not
2019-12-27 18:58:48 +01:00
4586765793
omemo: session_start is now async
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:58:48 +01:00
mathieui
1dd713b857
omemo: add a wrapper around _encrypt() to handle user feedback
...
(yes, another one)
2019-12-27 18:58:48 +01:00
mathieui
b1e913d772
omemo: fix indentation of one line
2019-12-27 18:58:48 +01:00
mathieui
e94ee52c10
omemo: add missing typing import
2019-12-27 18:58:47 +01:00
mathieui
97d29bc1cd
Fix potential race condition when encrypting
...
(do not try to rely on the current tab)
2019-12-27 18:57:33 +01:00
0c86e9a52f
omemo: Edit and move TODO comment for NoEligibleDevicesException
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:57:33 +01:00
mathieui
5a1a2e6c18
Add a "passthrough" parameter for calls through the safetymetaclass
...
So errors don’t get caught
2019-12-27 18:57:33 +01:00
33a1519a39
omemo: Catch IqError and IqTimeout and display generic message for now
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:57:33 +01:00
cbe96a6f77
omemo: Skip devices on MissingBundleException. Encrypt to the rest
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:57:33 +01:00
687f360797
omemo: ensure whitelist includes encryption tag in the correct format
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:57:33 +01:00
83e8305554
omemo: use @to instead of @from for message recipients
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:57:33 +01:00
ec846f222e
omemo: decode decrypted body
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:57:33 +01:00
50833050c7
omemo: handle async encryption methods
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:57:33 +01:00
7609a56e48
omemo: handle StaticConversationTab as well
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:57:31 +01:00
fa3c96a602
omemo: Ensure session_start is published
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
1be00f5e20
omemo: put OMEMO data into a folder specific to the account
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
95a9858717
omemo: the container tag for OMEMO is 'encrypted' not 'payload'
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
c8f88658b4
omemo: adapt to new E2EE API
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
42fa792aa5
omemo: Add omemo_enable and omemo_disable commands
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
d30c39c6a9
omemo: add docstring on the plugin
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
f13587a386
omemo: remove unused imports and reorder them
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
4ab6e64437
omemo: Add omemo status in the tab infobar
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
2c720c9d9b
omemo: remove unused commands
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
43a97d6430
omemo: change /omemo description
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
c9091dfac8
omemo: consistent returns
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
87c0ff6364
omemo: remove useless log
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
5fb819d1ed
omemo: Use DATA_HOME instead of CACHE_HOME
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00
e8450bcf51
omemo: Add dummy sending command for testing purposes
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27 18:56:27 +01:00