summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-01-12Prevent Traceback when receiving MUC-PM carbons under some conditionsMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-01-11Merge branch 'e2ee-muc' into 'master'Maxime Buquet
Prevent plugin_e2ee from sending empty JID as recipient See merge request poezio/poezio!56
2020-01-11plugin_e2ee: Remove debug logging of encrypted messagesMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-01-11plugin_e2ee: prevent empty JID from being passed to pluginMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-01-02Merge branch 'rm-foo-logging' into 'master'mathieui
BasePlugin: Remove debug logging See merge request poezio/poezio!55
2020-01-01BasePlugin: Remove debug loggingMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-01-01Merge branch 'e2ee-muc' into 'master'Maxime Buquet
E2ee muc See merge request poezio/poezio!53
2020-01-01E2EE MUC supportMaxime “pep” Buquet
This change transmits the original JID of the sender (in decrypt) or receiver(s) (in encrypt). Handling of MUC is not complete. It is possible that some participants have access to realjids while others don't (e.g., moderators in semi-anon MUCs). The code currently doesn't handle this and this will cause at least two issues: - Sending an encrypted message in a semi-anon MUC would reveal the sender's identity (public key) - Recipients wouldn't be able to decrypt this message as they don't have access to the sender's realjid. Unless they already have the bundle available and then they could associate the public key with a jid (another privacy issue/defeating the point of semi-anon rooms). TODO: Fix this ^ Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-31Allow encryption in normal messagesMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-31E2EEPlugin: Mute some lint warnings because of metaclassMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-31Tabs: add by_jid search method for tabs who have a jid attrMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-30Add TODO in plugin_e2ee _decryptMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-28Merge branch 'plugin-omemo' into 'master'Maxime Buquet
E2EE plugins support See merge request poezio/poezio!18
2019-12-28Disable a pylint error on a line (due to __getattr__ override)mathieui
2019-12-27omemo: omemo_plugin moved to its own repository for licensing purposesMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: Add TODO for unverified stateMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: remove unnecessary newline in docstringMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: prevent traceback when no JID is specified in non-supported tabMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: use dedicated method to check if encryption is enabledMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: use jid property instead of name on chat tabMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: Update decrypt_message with slixmpp-omemo changesMaxime “pep” Buquet
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-27omemo: Update get_fingerprints with slixmpp-omemo changesMaxime “pep” Buquet
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-27omemo: fix show_fingerprints (JID instead of str)mathieui
2019-12-27omemo: implement get_fingerprints methodMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: add an api in plugin_e2ee to get the fingerprint(s) of a jidmathieui
2019-12-27omemo: fix an indent error and make mypy happymathieui
2019-12-27omemo: fix some errors / feedback in trust settingmathieui
2019-12-27omemo: fix the type of the supported tab tyoesmathieui
2019-12-27omemo: handle MissingBundleException when it comes from ↵Maxime “pep” Buquet
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-27Remove exception catchall in omemo plugin as it's now handled in plugin_e2eeMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: Remove unused variable in encrypt methodMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: add supported_tab_types and trust_states into the omemo pluginmathieui
2019-12-27omemo: add supported_tab_types and trust_states plugin attributesmathieui
- 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-27omemo: session_start is now asyncMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: add a wrapper around _encrypt() to handle user feedbackmathieui
(yes, another one)
2019-12-27omemo: fix indentation of one linemathieui
2019-12-27omemo: add missing typing importmathieui
2019-12-27Fix potential race condition when encryptingmathieui
(do not try to rely on the current tab)
2019-12-27omemo: Edit and move TODO comment for NoEligibleDevicesExceptionMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27Add a "passthrough" parameter for calls through the safetymetaclassmathieui
So errors don’t get caught
2019-12-27omemo: Catch IqError and IqTimeout and display generic message for nowMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: Skip devices on MissingBundleException. Encrypt to the restMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: ensure whitelist includes encryption tag in the correct formatMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: use @to instead of @from for message recipientsMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: decode decrypted bodyMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: handle async encryption methodsMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: handle StaticConversationTab as wellMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: Ensure session_start is publishedMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: put OMEMO data into a folder specific to the accountMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27omemo: the container tag for OMEMO is 'encrypted' not 'payload'Maxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>