Commit Graph

3220 Commits

Author SHA1 Message Date
Daniel Gultsch
00191e2b60 explicitly use BouncyCastle for file crypto 2020-03-09 19:12:30 +01:00
Daniel Gultsch
257de4b51e fixed typo 2020-03-09 15:06:21 +01: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
b2e9a954ab avoid bundled source selection that comes with ImageCropper on Android 10 2020-03-05 13:17:18 +01:00
Daniel Gultsch
7b5d0e034e when setting moderated also set non standard field to not make users participants by default 2020-03-02 11:11:23 +01:00
Daniel Gultsch
08bc3ca0d5 do not merge oob messages 2020-03-02 11:10:38 +01:00
genofire
d353372768
fix typo (#3646)
sorry, this makes me crazy
2020-02-29 15:02:36 +01:00
Daniel Gultsch
0f40e7e73b fixed typo in resolver that cause hostnames not to be marked as authenticated (with DNSSec)
usually this wasn’t a problem as this is only the fallback after no IPs
have been discovered.

this also isn‘t a security issue as worst case is the hostname doesn’t get
accepeted as fallback in cert validation.

thanks @genofire for spotting this
2020-02-29 12:55:54 +01:00
genofire
5dd666257d
[BUGFIX] crash on resolve.toString if hostname is null (#3635) 2020-02-29 10:14:52 +01:00
Daniel Gultsch
d6ae9d8d14 switch to sending 12 byte IVs 2020-02-17 11:13:38 +01:00
Daniel Gultsch
e4685ad47a hide local part of group chat xmpp address 2020-02-17 11:10:41 +01:00
Daniel Gultsch
d37aeef182 prevent sharing of xmpp uri for group chat bookmarks 2020-02-16 17:30:54 +01:00
Daniel Gultsch
9b55d90705 do not warn user if bookmark already exists
fixes #3631
2020-02-16 16:04:45 +01:00
Daniel Gultsch
d64bc1776b show pdf previews in media browser
fixes #3639
2020-02-14 16:02:15 +01:00
Daniel Gultsch
c34d40ebff fix user adapter view recycling bug 2020-02-14 12:04:11 +01:00
Daniel Gultsch
a06eb10ed8 fixed rendering of transparent pdfs; white overlay for very dark pdf 2020-02-12 09:09:34 +01:00
Daniel Gultsch
fc2b27c3b4 create pdf overlay for pdf thumbs 2020-02-11 19:55:31 +01:00
Daniel Gultsch
2aee26c49a display PDF previews 2020-02-11 17:41:54 +01:00
Daniel Gultsch
09dff6310d fix button alignment on Andrid <4.4
fixes #3625
2020-01-24 10:38:54 +01:00
Daniel Gultsch
843d7fe12d evict cached previews when file gets deleted 2020-01-20 10:54:55 +01:00
Daniel Gultsch
66da5ffb6c fixed download of previously deleted omemo files 2020-01-20 10:43:17 +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
c62d5ebcb3 added failure logging to http download 2020-01-19 11:36:26 +01:00
Daniel Gultsch
c502503994 pass omemo decrypt up to higher layers to count as download error. decrypt all encrypted files 2020-01-19 10:01:43 +01:00
Daniel Gultsch
581eb5556f make theme depend on dark/night mode on android 10+
closes #3611
2020-01-18 14:14:43 +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
b56f6fbf4c updated screenshots 2020-01-18 09:12:50 +01:00
Daniel Gultsch
0fe47e5e4f removed logging that accidentally got commited earlier 2020-01-16 20:46:45 +01:00
Daniel Gultsch
c8b5b96af9 support xmpp uris with single 'omemo' parameter for fingerprint (w/o sid) 2020-01-16 18:54:56 +01:00
Daniel Gultsch
724f30bcc5 fixed adding omemo encrypted images to gallery 2020-01-15 14:19:17 +01:00
ChaosKid42
f1d4127ace simplify osm attribution (#3613) 2020-01-11 15:25:58 +01:00
Daniel Gultsch
f57a28ca32 add scan qr button to welcome screen
closes #2920
2020-01-11 14:06:35 +01:00
Daniel Gultsch
9653d68bdd parse install referrer from gplay 2020-01-10 12:51:04 +01:00
Daniel Gultsch
6025e5de28 make registration uris work with fixed usernames 2020-01-09 20:10:19 +01:00
Daniel Gultsch
e57bd477a9 preselect proper account in create contact dialog after following invite 2020-01-09 17:42:02 +01:00
Daniel Gultsch
6205574bcb support ?roster;ibr=y xmpp uris 2020-01-09 17:42:02 +01:00
Daniel Gultsch
d039c4870f support registration via pars tokens 2020-01-09 17:42:02 +01:00
Daniel Gultsch
80e83f77a7 pulled translations from transifex 2020-01-08 19:05:12 +01:00
Daniel Gultsch
4e0f05f0a1 refactored xmpp uri parsing to expose all params 2020-01-08 10:51:18 +01:00
Daniel Gultsch
9ccb5fdb46 show edit display name in all flavors 2020-01-05 15:59:54 +01:00
Daniel Gultsch
83e1d0d0a5 make checkmark icon more material 2020-01-05 13:30:26 +01:00
Anjan Momi
0ddfc51d6c show number of participants in a MUC
fixes #3447
2020-01-05 11:22:39 +01:00
Anjan Momi
0315b3b5c2 added openstreetmap copyright notice to maps
fixes #3588
2020-01-04 20:44:05 +01:00
Daniel Gultsch
42d69fd5e3 don’t crash when long pressing invalid geo-uris 2019-12-30 00:23:44 +01:00
Daniel Gultsch
af3c106dc8 reset file to normal message when attempting re-download after delete
fixes: #3604
2019-12-30 00:14:55 +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
ed4a73e1c7 persist file size across aborts
fixes #3601
2019-12-26 19:01:01 +01:00
Daniel Gultsch
a60e29d4f4 removed c style array 2019-12-26 17:36:16 +01:00
Daniel Gultsch
9bcef7a8e7 display '#' in generated channel avatars 2019-12-22 19:30:58 +01:00