aecb771ab5
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 |
||
---|---|---|
.. | ||
AbstractEntity.java | ||
Account.java | ||
Blockable.java | ||
Bookmark.java | ||
Contact.java | ||
Conversation.java | ||
Conversational.java | ||
DownloadableFile.java | ||
Edit.java | ||
IndividualMessage.java | ||
ListItem.java | ||
Message.java | ||
MTMDecision.java | ||
MucOptions.java | ||
Presence.java | ||
Presences.java | ||
PresenceTemplate.java | ||
RawBlockable.java | ||
ReadByMarker.java | ||
ReceiptRequest.java | ||
Room.java | ||
Roster.java | ||
ServiceDiscoveryResult.java | ||
StubConversation.java | ||
Transferable.java | ||
TransferablePlaceholder.java |