Daniel Gultsch
f5c4de8770
make retry work
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2ba84bd32e
no need to be careful about Int parsing in session description; just fail
2020-04-20 15:57:30 +02:00
Daniel Gultsch
6884e427ef
require dtls and ensure procceds get tracked
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0661c1bd37
add state transitions for iq service-unavailable errors and timeouts
2020-04-20 15:57:30 +02:00
Daniel Gultsch
39e3791345
incude human readable text in some session-terminates
2020-04-20 15:57:30 +02:00
Daniel Gultsch
6a1df0538e
request recording permission when making or accepting audio calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7749a7ce22
fixed rotation issues in RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
268eedad89
proper iq tracing (handling of errors); responding to all iqs
2020-04-20 15:57:30 +02:00
Daniel Gultsch
15a2491d7b
correctly parse turn server
2020-04-20 15:57:30 +02:00
Daniel Gultsch
845b3d8a0e
properly parse transport info and apply ice candidates after direct init
2020-04-20 15:57:30 +02:00
Daniel Gultsch
3e5e4e813b
reject call from proceed state; and deal with direct inits
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0bf991d95c
make jingle->sdp parsing fail on some obvious errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ca9b95fc9c
discover stun server
2020-04-20 15:57:30 +02:00
Daniel Gultsch
859bc0bef3
send and receive session terminates
2020-04-20 15:57:30 +02:00
Daniel Gultsch
00f273b0c0
show retry button after failed call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f7d1e02d4b
parse 'accept' messages
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9edadc9835
process retract jingle messages
2020-04-20 15:57:30 +02:00
Daniel Gultsch
a11d506bf0
support reject
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7909a72d43
make retract jingle messages work
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e2f1cec2e5
prepare more state transitions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ccfc55e9b6
show proper notification on incoming call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
4c6ee9693a
use appbarlayout in RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0e88b56eb4
display status information in ui
2020-04-20 15:57:30 +02:00
Daniel Gultsch
a9a35fb74b
show status in RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f8c0328416
dummy Jingle activity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
22c755c5ce
implement session accept
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9dfa9df790
implement sending of session-accept
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ac9a1a773e
receive candidates/transport-info
2020-04-20 15:57:30 +02:00
Daniel Gultsch
885ec0febe
a couple of bug fixes for SessionDescription.toString()
2020-04-20 15:57:30 +02:00
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
4e33ebb308
close FileInputStream in MTM. fixes #1150
2020-03-26 08:25:22 +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
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