anotherim/src/main/java/eu/siacs/conversations/entities
Daniel Gultsch aecb771ab5 use 16 byte IVs for http upload files larger than 768KiB
Ever since Android 9+ switched to Conscrypt we can no longer efficiently
encrypt (and decrypt) large files with AES-GCM. We did’t notice this before
because when using 16 byte IVs even modern Androids will fall back to bouncy
castle. However the 'bug'/'feature' in Conscrypt surfaced when we switched over
to 12 byte IVs (which uses Conscrypt on Android 9+)
Switching back entirely to 16 byte IVs is undesirable as this would break
compatibility with Monal. So we end up with a weird compromise where we use
12 byte for normale plain text OMEMO messages and 'small' files where the
inefficiencies aren’t a problem.

The result of this commit is that Monal won’t be able to receive our files
larger than 768KiB. However the alternative is that Conversations would always
OOM when attempting to send larger files (where large depends on the available
RAM.)

fixes #3653
2020-03-08 13:13:19 +01:00
..
AbstractEntity.java added max history age (default 1w). automatically sort newly added mam messages 2014-12-10 14:08:06 +01:00
Account.java do not warn user if bookmark already exists 2020-02-16 16:04:45 +01:00
Blockable.java migrate to xmpp-addr 2018-03-07 22:30:36 +01:00
Bookmark.java bookmarks2. introduce #compat namespace 2019-10-07 09:37:12 +02:00
Contact.java show jabber accounts from local address in Quicksy flavor 2019-12-02 13:50:58 +01:00
Conversation.java omemo changes: use 12 byte IV, no longer accept auth tag appended to payload 2020-01-18 12:08:03 +01:00
Conversational.java very much unoptimized search functionality 2018-04-26 13:22:31 +02:00
DownloadableFile.java use 16 byte IVs for http upload files larger than 768KiB 2020-03-08 13:13:19 +01:00
Edit.java properly restore LMC edits. switch to LMC v1.1 2019-12-04 19:20:24 +01:00
IndividualMessage.java show language in message bubble if multiple language variants were received 2019-09-12 10:12:51 +02:00
ListItem.java refactored avatar workers into single class 2019-01-25 10:07:02 +01:00
Message.java do not merge oob messages 2020-03-02 11:10:38 +01:00
MTMDecision.java integrate trust manager into conversations 2018-03-07 22:30:33 +01:00
MucOptions.java omemo changes: use 12 byte IV, no longer accept auth tag appended to payload 2020-01-18 12:08:03 +01:00
Presence.java fixed caps hash generation for empty form values 2018-04-22 11:07:00 +02:00
Presences.java cleanup nameWithoutVersion() code 2017-06-24 16:13:55 +02:00
PresenceTemplate.java wip: new status message dialog 2018-03-07 22:30:36 +01:00
RawBlockable.java handle blocking and unblocking of full jids 2019-07-10 17:58:48 +02:00
ReadByMarker.java shorten read markers to 'everyone has read up to this point' when > 4 user 2018-06-30 12:14:42 +02:00
ReceiptRequest.java migrate to xmpp-addr 2018-03-07 22:30:36 +01:00
Room.java optionally search local muc rooms instead of jabber.network 2019-11-02 09:43:37 +01:00
Roster.java use inContactList() instead inRoster() in the proper places 2018-11-03 16:32:08 +01:00
ServiceDiscoveryResult.java use Base64.NO_WRAP instead of trim() 2019-12-04 17:35:06 +01:00
StubConversation.java very much unoptimized search functionality 2018-04-26 13:22:31 +02:00
Transferable.java fixes for previous commit 2019-10-05 21:58:21 +02:00
TransferablePlaceholder.java renamed downloadable to transferable 2015-07-10 15:11:03 +02:00