Commit Graph

4792 Commits

Author SHA1 Message Date
Daniel Gultsch
f264ef9f8b create sdp string and set on peer connection 2020-04-20 15:57:30 +02:00
Daniel Gultsch
b1c0e93b34 rudimentary rtpmap to session converter 2020-04-20 15:57:30 +02:00
Daniel Gultsch
2591a96945 sdp candidate to transport-info 2020-04-20 15:57:30 +02:00
Daniel Gultsch
4d70855b4c sdp to ice transport conversion 2020-04-20 15:57:30 +02:00
Daniel Gultsch
b44a3aeac6 parse sdp to jingle (yet w/o transport) 2020-04-20 15:57:30 +02:00
Daniel Gultsch
ef51ec2c1d create objects for ssma (xep-0339) 2020-04-20 15:57:30 +02:00
Daniel Gultsch
28ead10ca4 sdp media to description parsing 2020-04-20 15:57:30 +02:00
Daniel Gultsch
18059345c8 payload-type and rtp-hdrext sdp parsing 2020-04-20 15:57:30 +02:00
Daniel Gultsch
5b1d86d67e dummy code to get sdp out of (non-working) libwebrtc 2020-04-20 15:57:30 +02:00
Daniel Gultsch
3b857e6894 create temporary RtpSessionPropsoal as placeholder before we can create actual session 2020-04-20 15:57:30 +02:00
Daniel Gultsch
e2e4390d51 untested sdp parser 2020-04-20 15:57:30 +02:00
Daniel Gultsch
766d1d603e show preliminary call button if contact supports it 2020-04-20 15:57:30 +02:00
Daniel Gultsch
4e13893662 create stub objects for most of what’s in description and transport 2020-04-20 15:57:30 +02:00
Daniel Gultsch
43cf1783a4 support multiple jingle contents 2020-04-20 15:57:30 +02:00
Daniel Gultsch
b2aa0e3352 use final varible to mark initiator once connection object has been created 2020-04-20 15:57:30 +02:00
Daniel Gultsch
5b15348f13 process message inits 2020-04-20 15:57:30 +02:00
Daniel Gultsch
385692ea28 route jingle message inits 2020-04-20 15:57:30 +02:00
Daniel Gultsch
a4acfb2a19 clean iq callback code in XmppConnection 2020-04-20 15:57:30 +02:00
Daniel Gultsch
f9650b95d8 create stub JingleRTPConnection 2020-04-20 15:57:30 +02:00
Daniel Gultsch
963ddd11c2 refactor jingle code to use objects for TransportInfo 2020-04-20 15:57:29 +02:00
Daniel Gultsch
eb22bd0499 create 'Description' object 2020-04-20 15:57:29 +02:00
Daniel Gultsch
7538e387ec fixed bug in ibb delivery introduced in earlier refactoring 2020-04-20 15:57:29 +02:00
Daniel Gultsch
34f42c73bc cleaned JinglePacket and Content element 2020-04-20 15:57:29 +02:00
Daniel Gultsch
23ebb6ae80 rename JingleConnection to JingleFileTransferConnection; use ID tuple to identify sessions 2020-04-20 15:57:29 +02:00
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
1d62cb0024 pdf renderer might throw security exception on password protected pdf 2020-04-20 15:57:06 +02:00
Daniel Gultsch
c5da699afe dont crash when fields names in caps are null 2020-04-20 15:53:52 +02:00
Daniel Gultsch
62934e6487 change wording of previous commit 2020-03-31 19:49:08 +02:00
Daniel Gultsch
ff18ea452d display toast when trying to join channel with no enabled accounts 2020-03-31 19:46:05 +02:00
Daniel Gultsch
3d0138506d fixed typo. closes #3667 2020-03-31 11:18:16 +02:00
Daniel Gultsch
972e537ea1 conversations’ own backup makes system backup obsolete
closes #3666
2020-03-29 22:37:59 +02:00
Daniel Gultsch
7c13c8a4e5 pulled translations from transifex 2020-03-28 10:13:27 +01:00
Daniel Gultsch
4e33ebb308 close FileInputStream in MTM. fixes #1150 2020-03-26 08:25:22 +01:00
Daniel Gultsch
e49ad3d573 pulled translations from transifex 2020-03-20 12:59:14 +01:00
Daniel Gultsch
41ada3480c add jfif and jif as jpeg mime types 2020-03-12 21:28:54 +01:00
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
3be7c3bca2 pulled translations from transifex 2020-03-07 23:15:43 +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
d781bc9cb9 pulled translations from transifex 2020-02-19 19:49:38 +01:00
Daniel Gultsch
d6ae9d8d14 switch to sending 12 byte IVs 2020-02-17 11:13:38 +01:00
Daniel Gultsch
27ca031f93 pulled translations from transifex 2020-02-17 11:13:18 +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
Hugo Trentesaux
62021aae59
corrected typo (#3640) 2020-02-14 09:49:18 +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
6acb15dd15 pulled translations from transifex 2020-02-11 17:41:24 +01:00
Daniel Gultsch
69680134c9 pulled translations from transifex 2020-01-28 10:24:46 +01:00
Daniel Gultsch
18a90fde8c fix country selector on older androids 2020-01-24 10:39:50 +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
99a98fe6c0 pulled translations from transifex 2020-01-19 10:42:04 +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
91ca25d89c pulled translations from transifex 2020-01-15 14:20:58 +01:00
Daniel Gultsch
724f30bcc5 fixed adding omemo encrypted images to gallery 2020-01-15 14:19:17 +01:00
Daniel Gultsch
f3fb108144 pulled translations from transifex 2020-01-11 15:37:50 +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
8e0c02f3cc use installreferrer libray instead of broadcast listener 2020-01-11 11:08:09 +01:00
Daniel Gultsch
388c656bb9 fixed Quicksy flavor by implementing stubs for easy-xmpp utils 2020-01-10 17:54:17 +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
387e32cf8e pulled translations from transifex 2020-01-09 17:41:37 +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
ac2b3150f4 pulled translations from transifex 2020-01-05 16:17:20 +01:00
Daniel Gultsch
aef1b30f27 increase size of checkmark 2020-01-05 16:00:11 +01:00
Daniel Gultsch
9ccb5fdb46 show edit display name in all flavors 2020-01-05 15:59:54 +01:00
Daniel Gultsch
31ba7fab25 make omemo setting default to 'always' on Quicksy 2020-01-05 13:53:04 +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
Daniel Gultsch
c898486534 add request package install permission
starting with api 26 an app needs to hold that permission to even show the app install screen
2019-12-22 18:19:05 +01:00
Marc Schink
5117956648 Add missing space in debug output 2019-12-21 13:16:22 +01:00
Marc Schink
92cf221a2b Implement download resumption for OMEMO encrypted files 2019-12-21 13:16:18 +01:00
Marc Schink
cae124d93f createOutputStream(): allow to disable decryption 2019-12-20 19:17:55 +01:00
Daniel Gultsch
ef98a24bf6 add .heic to list of known mime types
fixes #3598
2019-12-12 18:54:46 +01:00
Daniel Gultsch
8d245fc754 don’t use secure delete when migrating edit column 2019-12-08 11:33:09 +01:00
Daniel Gultsch
1dad17ada4 pulled translations from transifex 2019-12-08 11:32:09 +01:00
Daniel Gultsch
00361e1e3d make + in e164 pattern not optional 2019-12-06 11:16:33 +01:00
Daniel Gultsch
4e66b25c11 pulled translations from transifex 2019-12-06 10:51:15 +01:00
Daniel Gultsch
a3d639747a fixups for last commit 2019-12-05 14:03:54 +01:00
Daniel Gultsch
8263fb73e9 jingle ibb: wait to receive ibb
previously we signalled succesfull file reception after receiving enough bytes on ibb;
however that causes us to race with the session-info file hash. now the recipient will wait for
<close/> and the sender will make sure to send the session-info before sending close.

closes #3500
2019-12-05 13:28:14 +01:00
Daniel Gultsch
1cf7a2b832 pulled translations from transifex 2019-12-04 20:58:22 +01:00
Daniel Gultsch
8a5d658b2a reduce cursor size back to 4m; now that the cause is fixed 2019-12-04 20:46:22 +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
b3c00d7163 use Base64.NO_WRAP instead of trim() 2019-12-04 17:35:06 +01:00
Daniel Gultsch
83520ad8e7 show jabber accounts from local address in Quicksy flavor 2019-12-02 13:50:58 +01:00
Daniel Gultsch
b135486bb4 prevent crash when deleting account on servers that don't support omemo 2019-12-02 13:21:18 +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
10c5d151d3 delete cached posh file after not being able to verify 2019-11-18 19:12:04 +01:00
Daniel Gultsch
eb943619af do not crash when audio file reports zero length 2019-11-10 11:30:58 +01:00
Daniel Gultsch
97745bdfbe prevent crash when counterpart in message was null 2019-11-10 11:30:31 +01:00
Daniel Gultsch
77a46063e2 pulled translations from transifex 2019-11-09 22:59:29 +01:00
Daniel Gultsch
79e174743e check if sender is in contact list before accepting jingle file 2019-11-09 22:58:02 +01:00
Daniel Gultsch
8d6fdfbde7 disable local server disco on Quicksy flavor 2019-11-09 10:20:58 +01:00
Daniel Gultsch
f6724e405e allow jingle state transition for fallback after proxy failure 2019-11-09 09:31:35 +01:00
Daniel Gultsch
79f8b3dad2 pulled translations from transifex 2019-11-08 22:37:09 +01:00
Daniel Gultsch
8e42d0d39c make jingle state transitions less error prone 2019-11-08 22:27:14 +01:00
Daniel Gultsch
aa50f8da9d move foreground setting and backup setting to main settings screen 2019-11-08 14:14:28 +01:00
Daniel Gultsch
7cc2478f5c remove 'send indicate' setting and default to true 2019-11-08 12:23:06 +01:00
Daniel Gultsch
b320dea4d9 fixed spinning wheel when switching between local and jabber.network discovery 2019-11-08 12:18:39 +01:00
Daniel Gultsch
abc1cb5a89 remove 'indicate received' setting and default to true 2019-11-08 12:06:38 +01:00
Daniel Gultsch
333f629b32 clarify image compression setting 2019-11-08 11:54:03 +01:00
Daniel Gultsch
7f25d91d33 do not validate port if hostname is empty. closes #3578 2019-11-03 22:03:46 +01:00
Daniel Gultsch
f7b7464a65 fixed links in privacy warning in channel discovery. fixes #3577 2019-11-02 17:00:23 +01:00
Daniel Gultsch
07786d4576 optionally search local muc rooms instead of jabber.network 2019-11-02 09:43:37 +01:00
Daniel Gultsch
adfbe59e57 mark silent notifications as local only
this will prevent silent notifications (for example those supressed by grace
period) showing up on my smart watch
2019-11-01 11:03:58 +01:00
Daniel Gultsch
ecad9cbe3c catch security exception when passing on share intent that didn’t give us permission 2019-11-01 10:40:17 +01:00
Daniel Gultsch
c83caad3f5 changed explanation for grace period 2019-10-26 14:11:14 +02:00
Daniel Gultsch
2bed0dad12 attempt to fix some rare crashes 2019-10-26 13:23:27 +02:00
Daniel Gultsch
db3ca3f165 store message bodies up to 1MB 2019-10-23 22:34:43 +02:00
Daniel Gultsch
ab516299e7 catch all exceptions when closing closable 2019-10-23 22:34:25 +02:00
Daniel Gultsch
2f59d66fd1 catch dead system exception when creating error notification 2019-10-23 22:33:51 +02:00
Daniel Gultsch
9bea8074ab fixed loading channel results from cache 2019-10-11 19:39:45 +02:00
Daniel Gultsch
e0b5010f24 don’t mark pgp encrypted files received from dino as deleted 2019-10-11 15:37:41 +02:00
Daniel Gultsch
ddffe198c6 change background if no results found in channel search. fixes #3559 2019-10-10 12:54:43 +02:00
Daniel Gultsch
2ab65609e4 always show 'contact details' on avatar long press in non-anon 2019-10-09 20:40:56 +02:00
Daniel Gultsch
c21e9c22a7 pulled translations from transifex 2019-10-07 22:08:13 +02:00
Daniel Gultsch
8578af2b2b flush on socks connection 2019-10-07 22:02:36 +02:00
Daniel Gultsch
799fffcb4a Revert "pulled translations from transifex"
This reverts commit ea633f3d8f.
2019-10-07 21:58:57 +02:00