Daniel Gultsch
5a5f887229
code cleanup in bundle parsing
...
also switch to guavas base64 parser to avoid potential ROM bugs
2020-05-03 11:54:58 +02:00
Licaon_Kter
4f8715a349
Foreground service on by default
2020-05-02 18:05:34 +00:00
Daniel Gultsch
abb33b048a
fixed crash after accepting voice calls on devices that don’t have an earpiece (tablets)
...
fixes #3682
2020-05-02 18:06:56 +02:00
Daniel Gultsch
63ddd97b6b
add button to switch cameras during video call
...
RIP symmetry :-(
fixes #3683
2020-05-02 17:15:50 +02:00
Allan Nordhøy
f739752f76
Spelling: Language reworked ( #3688 )
2020-05-02 14:51:24 +00:00
Daniel Gultsch
e4b906ebeb
fix crash on unknown sasl mechanims
2020-05-02 10:20:18 +02:00
Daniel Gultsch
48163a5604
show proposal as ongoing call
2020-05-02 09:50:17 +02:00
Daniel Gultsch
f7a0d2031a
disable TLS cert validation for stun/turn server
...
turns out libwebrtc doesn’t use the system root CA store but comes with only a few default CAs.
in anyway we will probably only use tcp/443 to bypass firewalls and not to actually secure anything.
2020-05-01 20:17:23 +02:00
Daniel Gultsch
58429c42ee
lower case protocol; we have seen upper case in the wild for some reason
2020-05-01 20:15:09 +02:00
Daniel Gultsch
7ac5e8e828
properly close WebRTCWrapper even when init failed
2020-05-01 13:56:24 +02:00
Daniel Gultsch
eab4ac017f
minor code clean up
2020-05-01 07:58:58 +02:00
Daniel Gultsch
86b2631449
revert commit that attempted to do bare jid matching for LMC
...
That commit never worked because there were other checks in place later down the stream.
Allowing other clients (resources) to correct messages introduces the potential for nasty race conditions.
Furthermore we also have a check in place that would check that the OMEMO fingerprint is the same for security reasons. Removing that check is currently undesirable. Therefor correcting a message from another client would only work for plain text messages (and maybe PGP); this only adds confusion for users for very little benefit.
2020-05-01 07:45:00 +02:00
Licaon_Kter
eea0f8579e
Update repo links ( #3684 )
...
* Update repo link
* Here too
2020-04-30 10:51:26 +00:00
Daniel Gultsch
8374df84aa
do not change intent to retracted if end card had already been reached
2020-04-30 09:06:43 +02:00
Daniel Gultsch
deae2b109f
do not crash UI after ignoring improperly formatted jingle init
2020-04-29 15:54:02 +02:00
Daniel Gultsch
8a586527c4
check if setting local description was succesful
2020-04-29 15:32:27 +02:00
Daniel Gultsch
a49d69c878
parse candidates from session-init and session-accept
2020-04-29 10:36:54 +02:00
Daniel Gultsch
54ca3fb020
release video after end card reached. fixes video call retry
2020-04-29 09:22:49 +02:00
Daniel Gultsch
333f509e53
synchronize public WebRTCWrapper methods so closes don’t race
2020-04-29 09:10:15 +02:00
Daniel Gultsch
0d4b175760
better failure behaviour after direct init from jitsi
2020-04-29 08:51:38 +02:00
Daniel Gultsch
daf234191b
pulled translations from transifex
2020-04-28 20:15:34 +02:00
Daniel Gultsch
f93bac6d73
catch ISE around peerconnection.dispose()
2020-04-28 20:15:23 +02:00
Daniel Gultsch
faf1ff365d
modify call connected tone
2020-04-28 11:22:42 +02:00
Daniel Gultsch
8183c54ba0
use stanza-id for display markers in group chats
2020-04-28 08:25:21 +02:00
Daniel Gultsch
27bf871472
play beep when voice call connects
2020-04-28 07:30:27 +02:00
Daniel Gultsch
418cecad11
remove XEP-0357 support for group chats
2020-04-28 06:50:04 +02:00
Daniel Gultsch
fc4397e5b9
play busy and dial tones
2020-04-27 17:51:38 +02:00
Daniel Gultsch
07911b2094
indicate ongoing call. fixes #3675
2020-04-27 11:53:31 +02:00
Daniel Gultsch
9fbf73d1ea
do not log failed calls that never rang
2020-04-26 10:38:19 +02:00
Daniel Gultsch
006d7447a3
put version code into crash report
2020-04-25 20:13:20 +02:00
Daniel Gultsch
c41033e83c
only take udp candidates from transport-info
2020-04-25 20:13:08 +02:00
Daniel Gultsch
a5beaaed9d
null reference to rtpconnection when end card is reached
...
this will make re-init work if for example retry end card had been reached and we get another call
2020-04-24 21:27:03 +02:00
Daniel Gultsch
32ab7775d7
pulled translations from transifex
2020-04-24 10:42:19 +02:00
Daniel Gultsch
cacd85b4f1
catch ISE when entering PIP
2020-04-24 10:37:46 +02:00
Daniel Gultsch
4f5415ecba
terminated rtp connection do not count as busy
2020-04-24 09:41:54 +02:00
Daniel Gultsch
c0036b4ca6
increase busy timeout to 30s
2020-04-24 09:16:59 +02:00
Daniel Gultsch
96f6ae2b49
additional null check in case to is null
2020-04-23 20:11:45 +02:00
Daniel Gultsch
80cac3bd69
disable tcp candidates
2020-04-23 19:51:58 +02:00
Daniel Gultsch
c88d736cee
pulled translations from transifex
2020-04-23 13:01:00 +02:00
Daniel Gultsch
d7a8519ad6
do not continue to accept call if reinit() caused activity to finish
2020-04-23 12:52:02 +02:00
Daniel Gultsch
cfb9368edb
check if pip feature is available on top of doing version check
2020-04-23 12:14:45 +02:00
Daniel Gultsch
60cea03dce
do not attempt retract if onStop was faster than backend connect
2020-04-23 10:13:10 +02:00
Daniel Gultsch
a008993d06
add 20s busy timeout to incoming calls
2020-04-22 21:59:20 +02:00
Daniel Gultsch
22e93e4169
fix direct share for cases where the application id was changed
2020-04-22 20:23:13 +02:00
Daniel Gultsch
892d913e2c
parsing iq erros also need to finish the connection
2020-04-22 18:42:07 +02:00
Daniel Gultsch
9fa9ca9cbc
catch securityException when parsing rtp description
2020-04-22 16:35:08 +02:00
Daniel Gultsch
fa45422fa8
pulled translations from transifex
2020-04-22 14:59:23 +02:00
Daniel Gultsch
9afac21b0b
don’t throw when user double taps accept button
2020-04-22 14:49:48 +02:00
Daniel Gultsch
04a7b9da1c
pulled translations from transifex
2020-04-22 08:54:20 +02:00
Daniel Gultsch
876b1149d5
avoid double termination after failed connection
2020-04-21 22:59:54 +02:00
Daniel Gultsch
e0cb127005
retract call when pressing home or power button during ringing
2020-04-21 22:46:46 +02:00
Daniel Gultsch
e5282b846f
pulled translations from transifex
2020-04-21 22:01:01 +02:00
Daniel Gultsch
995856ffe0
fixed chinese translation
2020-04-21 18:43:53 +02:00
Daniel Gultsch
62c50d0089
pulled translations from transifex
2020-04-21 18:19:47 +02:00
Daniel Gultsch
3c0b3f4b94
allow dnd overwrite for incoming calls
2020-04-21 18:13:09 +02:00
Daniel Gultsch
442b952700
add jingle message init namespace to features
2020-04-21 14:59:03 +02:00
Daniel Gultsch
5b12e23382
improve logging for throws from native callbacks
2020-04-21 12:00:13 +02:00
Daniel Gultsch
eb911b8196
show 215 status in server info
2020-04-21 11:40:05 +02:00
Daniel Gultsch
d5e3d13158
do not just assume rtcp-mux
2020-04-21 09:11:17 +02:00
Daniel Gultsch
7898ba65cd
extend extended webrtcwrapper logging
2020-04-20 17:05:27 +02:00
Daniel Gultsch
23d1ee5e41
render contact’s avatar during incoming call
2020-04-20 15:57:31 +02:00
Daniel Gultsch
187dff3df9
put contact picture in incoming call notification
2020-04-20 15:57:31 +02:00
Daniel Gultsch
df2ef0eeb0
automatically reject/ignore calls from strangers if the setting is set
2020-04-20 15:57:31 +02:00
Daniel Gultsch
e661d5b7ad
provide deep link from settings into call notification settings
2020-04-20 15:57:31 +02:00
Daniel Gultsch
1cc0dfad84
move sdp logging to different tag
2020-04-20 15:57:31 +02:00
Daniel Gultsch
5a0979b41e
store 'ended call' when ended from proceed
2020-04-20 15:57:31 +02:00
Daniel Gultsch
f7f0dc99a7
launch calls in new task
2020-04-20 15:57:31 +02:00
Daniel Gultsch
c7269bc0aa
check microphone availability on background thread
2020-04-20 15:57:31 +02:00
Daniel Gultsch
31dfb0c704
cache useTor information in activity
2020-04-20 15:57:31 +02:00
Daniel Gultsch
a12760300c
ensure that rtp connection is registered with connection manager
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c20c40a807
ensure webrtc connection gets closed after connection failure
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7dfd47a5c4
better crash than leave WebRTCWrapper unclosed
2020-04-20 15:57:30 +02:00
Daniel Gultsch
934b98d199
add microphone availability check
2020-04-20 15:57:30 +02:00
Daniel Gultsch
48f752366b
paint local mic off button in pip
2020-04-20 15:57:30 +02:00
Daniel Gultsch
644e5aa856
remove video sinks when calling onStop. otherwise going in and out foreground will give us endless sinks
2020-04-20 15:57:30 +02:00
Daniel Gultsch
16d34c2ba0
parse turns and stuns (regression from earlier commit)
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ab2681640a
allow pip during connecting
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2f437ea845
ignore iq errors if session has already been terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
fa3ef07580
be more strict with ice candidate parsing
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0a18ab35c0
fixed 215 credential detection
2020-04-20 15:57:30 +02:00
Daniel Gultsch
8472712b3e
play notification sound pre notification categories
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e545e95d39
getMedia() would throw null pointer when called after going from proposed to some error state
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ea2ed85ed7
support picture in picture for video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
21e412ef6f
only show remote video when connected
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0c4f0c074d
improve busy behaviour with multiple devices
2020-04-20 15:57:30 +02:00
Daniel Gultsch
4558b9a7b0
select proper media for retry
2020-04-20 15:57:30 +02:00
Daniel Gultsch
45d5d1f635
capture in ~1920 resolution when available
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b95d406e61
use more approriate reason when failing because of parse errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ec6bcec849
use different aspect ratio for landscape
2020-04-20 15:57:30 +02:00
Daniel Gultsch
36e117979a
put 'video' in ongoing video call notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d7e93e18e5
add a couple of todos to RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f995965dea
parse 0339 source groups from sdp
2020-04-20 15:57:30 +02:00
Daniel Gultsch
01a9a52990
show enable/disable video in video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
445009c558
request camera permissions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5a20faaf0f
show 'incoming video cal' notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d4788fc1f4
display video call based on availability
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b4df19177f
make seperate menu items for audio and video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
17d9b02f41
properly paint local video over remote
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d057ae3439
transmit media from proposal to actual session
2020-04-20 15:57:30 +02:00
Daniel Gultsch
8c273e7eee
parse media from session proposal
2020-04-20 15:57:30 +02:00
Daniel Gultsch
1489dba44f
release resource. stop caputuring when webrtc ends
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b20b00e77f
use toolbar to display status text in RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
339bdaea06
rudimentary video caputuring
2020-04-20 15:57:30 +02:00
Daniel Gultsch
bfb9a6267a
complete list of reasons
2020-04-20 15:57:30 +02:00
Daniel Gultsch
dd42a6b850
don’t transition when calling endCall and session was already terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
65b43661dd
RtpConnection: synchronize all externally call methods to guard state transitions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
172d2c693f
depulicate 'propose's when doing mam catchup
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e16e0d895e
cancle ongoing jingle sessions on xmpp rebind
2020-04-20 15:57:30 +02:00
Daniel Gultsch
493ca68464
add <rtcp-mux/> in description
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ef22071bd1
turn proximity wake lock and/off depending on speaker configuration
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9bc264bd73
do not use proximity wake lock on speaker phone
2020-04-20 15:57:30 +02:00
Daniel Gultsch
981aeaf264
make mute and speaker button work
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b924a63d01
copy audio manager from AppRTCDemo
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5b98107e9a
put jingle messages in MAM and parse call log during catchup
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9a41d11aed
do not show context menu for call logs
2020-04-20 15:57:30 +02:00
Daniel Gultsch
4be2309202
more conditions under which to print call log
2020-04-20 15:57:30 +02:00
Daniel Gultsch
3439f40411
show call log messages in conversation stream
2020-04-20 15:57:30 +02:00
Daniel Gultsch
1dc88f38ca
avoid terminating twice
2020-04-20 15:57:30 +02:00
Daniel Gultsch
82f9a77777
be more conservative when parsing rtp content
2020-04-20 15:57:30 +02:00
Daniel Gultsch
deaa76b5ca
when using onNewIntent make sure to store intent otherwise onBackground might just overwrite it again
2020-04-20 15:57:30 +02:00
Daniel Gultsch
609120c0d8
only ever create one wake lock in rtpsessionactivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c9f7e174f7
use foreground service for ongoing call notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c6db651322
allow all jingle states to transition into terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5eea961155
improved strategy for ignoring self addressed jingle messages
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7b382d2ba5
include more human readable text in application errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
07e671d7c3
do not offer jingle calls when using Tor
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9d83981f2c
respond with busy if there is anthor rtp session
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d19b5e0634
show notification during ongoing call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2e8b91665b
improvements to RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
14d008d89d
turn screen off during call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0302eacac1
back button rejects or ends call
2020-04-20 15:57:30 +02:00
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
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
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
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
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
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