aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/crypto/axolotl (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-01-31optimize importsChristian Schneppe1-1/+2
2020-01-24omemo changes: use 12 byte IV, no longer accept auth tag appended to payloadChristian Schneppe3-316/+291
2019-12-08prevent crash when deleting account on servers that don't support omemoChristian Schneppe1-1/+2
2019-09-29delete omemo keys when deleting accountChristian Schneppe1-2/+10
2019-09-20improved logging for messages waiting for joinChristian Schneppe1-1/+1
2019-09-20migrate to AndroidXChristian Schneppe2-4/+4
2019-09-19do not finish or repair sessions for untrusted sendersChristian Schneppe1-12/+32
finishing (sending a key transport message in response to pre key message) as well as reparing sessions will leak resource and availability and might in certain situations in group chat leak the Jabber ID. Therefor we disable that. Leaking resource might not be considered harmful by a lot of people however we have always doing similar things with receipts.
2019-09-12when parsing omemo messages ensure we only find one elementChristian Schneppe1-1/+1
2019-09-12show language in message bubble if multiple language variants were receivedChristian Schneppe1-1/+1
XML and by inheritence XMPP has the feature of transmitting multiple language variants for the same content. This can be really useful if, for example, you are talking to an automated system. A chat bot could greet you in your own language. On the wire this will usually look like this: ```xml <message to="you"> <body>Good morning</body> <body xml:lang="de">Guten Morgen</body> </message> ``` However receiving such a message in a group chat can be very confusing and potentially dangerous if the sender puts conflicting information in there and different people get shown different strings. Disabling support for localization entirely isn’t an ideal solution as on principle it is still a good feature; and other clients might still show a localization even if Conversations would always show the default language. So instead we now show the displayed language in a corner of the message bubble if more than one translation has been received. If multiple languages are received we will attempt to find one in the language the operating system is set to. If no such translation can be found it will attempt to display the English string. If English can not be found either (for example a message that only has ru and fr on a phone that is set to de) it will display what ever language came first. Furthermore we will discard (not show at all) messages with with multiple bodies of the same language. (This is considered an invalid message) The language tag will not be shown if we receive a single body in a language not understood by the user. (For example operating system set to 'de' and message received with one body in 'ru' will just display that body as usual.) As a guide line to the user: If you are reading a message where it is important that this message is not interpreted differently by different people (like a vote (+1 / -1) in a chat room) make sure it has *no* language tag.
2019-09-03fix some crashesChristian Schneppe3-8/+45
2019-05-03introduced type private_file_message to handle attachments in PMsChristian Schneppe1-1/+1
2019-02-08optimize importsChristian Schneppe2-2/+0
2019-02-08hide lock icon in channels; modify muc user contextChristian Schneppe1-34/+0
2019-01-07handle decrypting/encrypting of omemo messages with duplicate device idsChristian Schneppe2-43/+77
2018-12-14postpone prekey removal and republish to after mamChristian Schneppe2-10/+34
2018-12-04implement self healing omemoChristian Schneppe4-14/+105
after receiving a SignalMessage that can’t be decrypted because of broken sessions Conversations will attempt to grab a new pre key bundle and send a new PreKeySignalMessage wrapped in a key transport message.
2018-11-30set access model to open when publishing avatarChristian Schneppe1-10/+9
2018-10-20use bouncycastle provider up to api 27Christian Schneppe1-2/+2
apparently using conscrypt on Android below version 7? throws an exception when using 16 byte IVs. so we now use BC when ever possible (excluding api 28) we don’t know why Conscrypt behaves differently on various android versions
2018-10-20go back to 16 byte IVs for OMEMOChristian Schneppe2-13/+13
clients like Dino can’t handle 12 byte IVs
2018-10-04added a few TODOs in regards to the handling of inactive devicesChristian Schneppe2-2/+4
2018-10-04prevent race condition when fetching device idsChristian Schneppe2-43/+47
2018-10-04use 12 byte IV for omemo and http uploadChristian Schneppe1-1/+1
2018-10-04refresh ui after device list update only if list has changedChristian Schneppe1-2/+11
2018-09-26do not use BC provider on android 22+Christian Schneppe1-2/+3
2018-07-09open trust key screen when download is in progressChristian Schneppe1-1/+1
2018-06-29do not include white listed domains in room listChristian Schneppe1-1/+1
2018-06-01OMEMO: remove omemo device from own list if bundle is brokenChristian Schneppe1-70/+80
2018-05-16make session completion work with untrusted devices as wellChristian Schneppe3-7/+11
2018-05-05improved logging for node configuration changeChristian Schneppe1-4/+9
2018-05-02do not invoke onPushFailed() on timeoutChristian Schneppe1-4/+9
2018-04-30very much unoptimized search functionalityChristian Schneppe1-1/+1
2018-04-24code cleanup in AxolotlService.fetchDeviceIds()Christian Schneppe1-25/+29
2018-04-24load currently open conversation fasterChristian Schneppe1-1/+0
2018-04-23make error message for 'not encrypted for this device'Christian Schneppe1-2/+9
2018-04-23create dedicated exception for not encrypted for this deviceChristian Schneppe2-1/+36
2018-04-12figure out fallbacks with omemo source idChristian Schneppe2-0/+29
2018-04-08offer a more convienient way to disable omemo from trust keys dialogChristian Schneppe1-26/+43
2018-04-02migrate to xmpp-addrChristian Schneppe4-82/+84
2018-01-27encrypt muc PM only to actual recipientChristian Schneppe1-5/+23
2018-01-27improvements for self messagesChristian Schneppe1-2/+7
* fix omemo in group chats w/o participants * don't create two axolotl messages when messaging self * fix read marker for self messages
2018-01-27allow axolotl header to be empty in empty mucsChristian Schneppe1-4/+4
2018-01-27make chat markers opportunistic in private mucsChristian Schneppe1-2/+2
2018-01-21disable offline messages. postpone prekey handling until after mam catchupChristian Schneppe1-3/+33
2018-01-21properly handle key transport messages. use prekeyparsing only when that ↵Christian Schneppe3-36/+38
attribute is set
2017-12-27show pep as available if omemo_all_access has been installed on serverChristian Schneppe1-0/+1
2017-12-27fixed omemo device list not getting annouced on empty listChristian Schneppe1-1/+1
2017-12-16fixup for pep omemo notification dedupChristian Schneppe1-4/+6
2017-12-16fixed workaround that allowed us to expire devicesChristian Schneppe1-7/+8
2017-12-10fixed publish-options migrationChristian Schneppe1-1/+9
2017-11-21excute db read and writes on different threadsChristian Schneppe1-1/+1