Commit graph

152 commits

Author SHA1 Message Date
Daniel Gultsch b40a65652f disable HTTP upload during jingle development
we are going to refactor jingle a lot. in order to better spot potential
bugs in the Jingle File Transfer implementation we are going to disable
HTTP upload during development.
2020-04-20 15:57:29 +02:00
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
Daniel Gultsch 788b0f7f2d momentarily go back to 16 byte IVs
The Crypto provider used from Android P onwards (conscrypt) has a weird bug
that when 12 bytes IVs are used it will decrypt or encrypt the entire file
in RAM instead of streaming it. That will cause OOM for 'larger' files on http
upload. (both downloads and uploads are effected)

It is currently unclear why this is happening and why Conscrypt is put into a
different mode.
We are only observing that Android versions below P are fine and using 16 bytes
is fine on all Android versions.
2020-03-07 18:33:29 +01:00
Daniel Gultsch d6ae9d8d14 switch to sending 12 byte IVs 2020-02-17 11:13:38 +01:00
Daniel Gultsch 9af056bb16 temporarily go back to 16 byte iv for imminent bug fix release 2020-01-19 13:40:48 +01:00
Daniel Gultsch e38a9cd729 omemo changes: use 12 byte IV, no longer accept auth tag appended to payload 2020-01-18 12:08:03 +01:00
Daniel Gultsch 80e83f77a7 pulled translations from transifex 2020-01-08 19:05:12 +01:00
Daniel Gultsch 2b375877eb extend omemo auto expiry to 42 days (6 weeks)
closes #3584
2019-12-29 15:34:06 +01:00
Daniel Gultsch cc79d8f6b3 properly restore LMC edits. switch to LMC v1.1
fixes #3566

closes #3592
2019-12-04 19:20:24 +01:00
Daniel Gultsch a99d7a7400 increase cursor window size on Android P when restoring messages 2019-12-02 13:20:53 +01:00
Daniel Gultsch db3ca3f165 store message bodies up to 1MB 2019-10-23 22:34:43 +02:00
Daniel Gultsch 799fffcb4a Revert "pulled translations from transifex"
This reverts commit ea633f3d8f.
2019-10-07 21:58:57 +02:00
Daniel Gultsch f530e395ca bookmarks2. introduce #compat namespace 2019-10-07 09:37:12 +02:00
Daniel Gultsch ea633f3d8f pulled translations from transifex 2019-10-07 09:36:15 +02:00
Daniel Gultsch 322352ccbf use new jabber.search.network endpoint 2019-10-01 12:42:12 +02:00
Daniel Gultsch be4953b1e4 parse LMC 1.1 2019-09-13 16:38:15 +02:00
Daniel Gultsch 9129c9acde JET uses plain text file size 2019-09-06 13:11:37 +02:00
Daniel Gultsch 7ec1b443ab implemented support for for jingle encrypted transports (XEP-0396) 2019-09-04 16:14:01 +02:00
Daniel Gultsch 10b1365264 also reply with direct connections on response 2019-09-01 20:42:07 +02:00
Daniel Gultsch 6e1394ab40 make config flag for leave before join 2019-08-14 12:04:27 +02:00
Daniel Gultsch 4c3cd89fe7 syntax clean up 2019-06-17 17:37:02 +02:00
Daniel Gultsch c1bdda0a9b reenable http upload that got disabled in last commit 2019-06-17 08:33:19 +02:00
Daniel Gultsch 9fc1ead74f use ibb if other party doesn’t annouce s5b feature 2019-06-16 22:57:10 +02:00
Daniel Gultsch ba327d8512 set own omemo devices to inactive after 14 days of inactivity; was 7 days 2019-05-03 10:48:33 +02:00
Daniel Gultsch 61604dedea jingle: send canditate error before fallback 2019-04-30 11:23:15 +02:00
Daniel Gultsch 2fa687b8ae refactor muc search to use http 2019-04-22 13:00:45 +02:00
Daniel Gultsch a0f88aa9b4 implement channel discovery over jabber.search.network 2019-04-22 10:42:21 +02:00
Daniel Gultsch 0898783309 schedule another ping 30s after connectivity_change 2019-01-27 20:54:45 +01:00
Daniel Gultsch a32bb652f7 always show number of connected accounts in foreground notification. fixes #3352 2019-01-23 17:07:14 +01:00
Daniel Gultsch af49d62086 remove unused import from Config.java 2018-12-13 19:28:26 +01:00
Daniel Gultsch 8f27a177b0 try to guess inital location in ShareLocation based on sim card 2018-12-11 17:25:59 +01:00
Daniel Gultsch 5be43e36e4 always do contact sync in background 2018-11-07 15:44:39 +01:00
Daniel Gultsch 3fab93bdd6 changed api endpoint and quicksy domain 2018-10-31 13:33:55 +01:00
Daniel Gultsch a1a625bb2d added hash for status quo to make sync reply more performant 2018-10-31 13:33:55 +01:00
Daniel Gultsch 1bcbd257c3 refresh contacts when opening StartConversationsActivity 2018-10-31 13:33:55 +01:00
Daniel Gultsch 87cc53b8b5 renamed build flavors 2018-10-31 13:33:55 +01:00
Daniel Gultsch 4df0cc3657 do not offer tor or extended connection settings for quicksy 2018-10-31 13:33:55 +01:00
Daniel Gultsch f7addc5d89 suggest quicksy.im when user enters e164 in enter jid dialog 2018-10-31 13:33:55 +01:00
Daniel Gultsch b2cbd60f94 use Consistent Color Generation (XEP-0392 v0.6) 2018-10-02 20:33:53 +02:00
Daniel Gultsch 268fcd3838 disabled by default variant of XEP-0392 2018-08-19 22:33:20 +02:00
Daniel Gultsch 13f1a23889 introduced config setting to hide error notification 2018-06-14 15:01:25 +02:00
ChaosKid42 1fcd69ce40 ban can be disabled in Config.java (#3016) 2018-05-05 19:40:43 +02:00
Daniel Gultsch e6feb91390 properly cancel pending searchs and scroll to bottom after refresh 2018-04-26 17:02:31 +02:00
Sam Whited b21d948ecb Merge Open Street Map plugin 2018-04-16 17:39:43 -05:00
Daniel Gultsch 06f8d8c5d6 add ruleset to disable omemo-by-default for certain providers 2018-03-26 13:29:01 +02:00
Daniel Gultsch 52135625d8 do not enable encryption for bug reports 2018-03-07 22:30:36 +01:00
Daniel Gultsch 63cd8e5981 added config param to use a random resource at every bind 2018-02-24 20:47:02 +01:00
Daniel Gultsch bb6d5463fe use JPEG as file format for avatar and compress to <9400 chars 2017-12-15 20:49:48 +01:00
Daniel Gultsch fc8a5641db MAM: assume true counterpart is safe to extract when using mam:2 2017-12-02 18:11:03 +01:00
Daniel Gultsch 28e005f926 send and show read markers in private, non-anonymous groups 2017-11-20 11:26:20 +01:00