aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/crypto (follow)
Commit message (Collapse)AuthorAgeFilesLines
* optimize importsChristian Schneppe2020-01-312-2/+4
|
* omemo changes: use 12 byte IV, no longer accept auth tag appended to payloadChristian Schneppe2020-01-244-317/+292
|
* prevent crash when deleting account on servers that don't support omemoChristian Schneppe2019-12-081-1/+2
|
* introduce setting to completely disable (OMEMO) encryptionChristian Schneppe2019-11-021-0/+13
|
* don’t mark pgp encrypted files received from dino as deletedChristian Schneppe2019-10-261-0/+3
|
* delete omemo keys when deleting accountChristian Schneppe2019-09-291-2/+10
|
* improved logging for messages waiting for joinChristian Schneppe2019-09-201-1/+1
|
* migrate to AndroidXChristian Schneppe2019-09-203-5/+5
|
* do not finish or repair sessions for untrusted sendersChristian Schneppe2019-09-191-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.
* when parsing omemo messages ensure we only find one elementChristian Schneppe2019-09-121-1/+1
|
* show language in message bubble if multiple language variants were receivedChristian Schneppe2019-09-121-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.
* fix some crashesChristian Schneppe2019-09-035-10/+51
|
* made domain verifier case insensitive.Christian Schneppe2019-08-311-9/+10
|
* attempt to unregister when receiving push for channel no longer joinedChristian Schneppe2019-07-011-5/+5
| | | | when receiving a FCM push message for a channel the user is no longer in (this can happen when the disable command failed) an attempt will be made to explicitly unregister from the app server (which in turn will then send item-not-found on next push)
* introduced type private_file_message to handle attachments in PMsChristian Schneppe2019-05-031-1/+1
|
* be sure that default omemo encryption is set offChristian Schneppe2019-02-211-3/+3
|
* optimize importsChristian Schneppe2019-02-082-2/+0
|
* hide lock icon in channels; modify muc user contextChristian Schneppe2019-02-081-34/+0
|
* explicitly set type=images for all media with an image mime type this is in ↵Christian Schneppe2019-01-251-1/+1
| | | | preperation to be able to query the database for all images
* check if encrypted pgp file get deletedChristian Schneppe2019-01-251-1/+1
|
* mark deleted files in database and not query them when querying for mediaChristian Schneppe2019-01-251-1/+3
|
* put images into MessageStyle notificationsChristian Schneppe2019-01-241-2/+6
|
* handle decrypting/encrypting of omemo messages with duplicate device idsChristian Schneppe2019-01-072-43/+77
|
* fixed dead lock when sending pgp messages from quick replyChristian Schneppe2018-12-141-1/+1
|
* postpone prekey removal and republish to after mamChristian Schneppe2018-12-142-10/+34
|
* implement self healing omemoChristian Schneppe2018-12-044-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.
* set access model to open when publishing avatarChristian Schneppe2018-11-301-10/+9
|
* do not show up navigation in start conversation screen if called with view ↵Christian Schneppe2018-11-151-3/+7
| | | | intent
* improve openkeychain error reportingChristian Schneppe2018-11-081-4/+14
|
* use bouncycastle provider up to api 27Christian Schneppe2018-10-201-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
* go back to 16 byte IVs for OMEMOChristian Schneppe2018-10-202-13/+13
| | | | clients like Dino can’t handle 12 byte IVs
* added a few TODOs in regards to the handling of inactive devicesChristian Schneppe2018-10-042-2/+4
|
* prevent race condition when fetching device idsChristian Schneppe2018-10-042-43/+47
|
* use 12 byte IV for omemo and http uploadChristian Schneppe2018-10-041-1/+1
|
* refresh ui after device list update only if list has changedChristian Schneppe2018-10-041-2/+11
|
* made xmpp domain verifier verify wildcard domains where domain is a sub.sub ↵Christian Schneppe2018-10-021-58/+65
| | | | domain
* fixed authChristian Schneppe2018-10-011-8/+8
|
* Fix auth when upgrading from SCRAM-SHA-1 to -256Christian Schneppe2018-10-011-52/+52
|
* do not use BC provider on android 22+Christian Schneppe2018-09-261-2/+3
|
* open trust key screen when download is in progressChristian Schneppe2018-07-091-1/+1
|
* do not include white listed domains in room listChristian Schneppe2018-06-291-1/+1
|
* OMEMO: remove omemo device from own list if bundle is brokenChristian Schneppe2018-06-011-70/+80
|
* do not include body in simple status updates to not trigger fts updateChristian Schneppe2018-05-171-1/+1
|
* make session completion work with untrusted devices as wellChristian Schneppe2018-05-163-7/+11
|
* improved logging for node configuration changeChristian Schneppe2018-05-051-4/+9
|
* do not invoke onPushFailed() on timeoutChristian Schneppe2018-05-021-4/+9
|
* very much unoptimized search functionalityChristian Schneppe2018-04-302-2/+2
|
* code cleanup in AxolotlService.fetchDeviceIds()Christian Schneppe2018-04-241-25/+29
|
* load currently open conversation fasterChristian Schneppe2018-04-241-1/+0
|
* make error message for 'not encrypted for this device'Christian Schneppe2018-04-231-2/+9
|