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
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
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
00361e1e3d
make + in e164 pattern not optional
2019-12-06 11:16:33 +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
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
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
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
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
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
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
Daniel Gultsch
79c3135b4d
properly guard bookmarks2 deletion
2019-10-07 13:49:39 +02:00
Daniel Gultsch
077e695f68
trigger omemo self healing for live msgs on server w/o MAM
2019-10-07 13:38:56 +02:00
Daniel Gultsch
4df8343b05
set autojoin=true after following invite
2019-10-07 09:51:03 +02:00
Daniel Gultsch
b96ef1e591
update ui after bookmark change
2019-10-07 09:37:12 +02:00
Daniel Gultsch
f530e395ca
bookmarks2. introduce #compat namespace
2019-10-07 09:37:12 +02:00
Daniel Gultsch
94c592f213
leave/join on bookmark modifactions
2019-10-07 09:37:12 +02:00
Daniel Gultsch
f26e0720c6
support for purge and delete
2019-10-07 09:37:12 +02:00
Daniel Gultsch
95bf66ca7d
Bookmarks2: support retraction
2019-10-07 09:37:12 +02:00
Daniel Gultsch
f1aa5f2cab
support for delete bookmarks2
2019-10-07 09:37:12 +02:00
Daniel Gultsch
6923b2898c
WIP Bookmarks 2 support
2019-10-07 09:37:12 +02:00
Daniel Gultsch
ea633f3d8f
pulled translations from transifex
2019-10-07 09:36:15 +02:00
ChaosKid42
af898b3bc4
LMC: find replacedMessages based on bare JID ( #3548 )
2019-10-05 20:18:42 +00:00
Daniel Gultsch
6155938623
show reason in error message
2019-10-05 22:14:38 +02:00
Daniel Gultsch
01fc78d2a5
disable context menu on failed jingle files. fixes #3556
2019-10-05 22:05:03 +02:00
Daniel Gultsch
d6835101b9
fixes for previous commit
2019-10-05 21:58:21 +02:00
Daniel Gultsch
7ce7a505a0
mark cancelled jingle ft as such on both sides
...
fixes #3554
2019-10-05 21:30:15 +02:00
Daniel Gultsch
6776603b90
fully read port in socks connection
...
incoming direct connections in receive mode wouldn’t clear the entire
destination from the input stream; thus adding a leading 0x00 to the file
fixes #3557
2019-10-03 20:47:31 +02:00
Daniel Gultsch
3d332f6f35
set shorter timeouts when using direct candidates
2019-10-03 09:37:01 +02:00
Marcin Mielniczuk
c7bbfaf061
Use a more meaningful name for old status ( #3552 )
2019-10-01 19:42:05 +00:00
Daniel Gultsch
322352ccbf
use new jabber.search.network endpoint
2019-10-01 12:42:12 +02:00
Daniel Gultsch
37b87e18ee
fix NPE when using channel search and DOMAIN_LOCK closes #3458
2019-10-01 12:24:57 +02:00
Daniel Gultsch
f8bd4284a5
report not-acceptable on jingle errors
2019-10-01 11:31:15 +02:00
Daniel Gultsch
d2d9bbe3da
improved jingle debugging
2019-09-29 13:32:45 +02:00
Daniel Gultsch
aef394c9f0
ability to open files from media preview. fixes #3521
2019-09-29 02:00:06 +02:00
Daniel Gultsch
618d892ae7
account deletion: only attempt to delete omemo id when connected
2019-09-29 01:40:40 +02:00
Daniel Gultsch
7b160a358e
do not add 'quote' when sharing own msgs
2019-09-28 23:56:29 +02:00
Daniel Gultsch
863ac7f2e5
show resource prompt when sending uncompressed video
2019-09-28 23:56:02 +02:00
Daniel Gultsch
9276eff1db
delete omemo keys when deleting account
2019-09-28 21:52:07 +02:00
Daniel Gultsch
11736ce48c
make list selection manager work with app compat
2019-09-26 23:47:55 +02:00
Daniel Gultsch
6c5b71440f
channel search result long press to show join dialog
2019-09-24 17:29:34 +02:00
Daniel Gultsch
75d35c357e
print emoji only status messages larger
2019-09-22 11:39:34 +02:00
Daniel Gultsch
426090c301
do not parse invites from type=groupchat
2019-09-22 10:00:09 +02:00
Daniel Gultsch
3820950408
show context menu in channel search to share uri
2019-09-21 10:51:05 +02:00
Daniel Gultsch
ed46d12115
close correct socket after faulty jingle socks connection
2019-09-20 10:00:57 +02:00
Daniel Gultsch
abe01f18f2
improved logging for messages waiting for join
2019-09-19 10:00:50 +02:00
Daniel Gultsch
af74c3604c
fixed R8 weirdness
2019-09-18 11:04:36 +02:00
Daniel Gultsch
02351dc0fb
fixed direct invites after adhoc
2019-09-18 09:55:18 +02:00
Daniel Gultsch
4c92d1b755
cancel spinning wheel on muclumbus error
2019-09-18 09:17:47 +02:00
Daniel Gultsch
2ec1d0cc09
warn when using _only_ ambiguous cyrillic
2019-09-16 15:13:53 +02:00
Daniel Gultsch
d963d95e30
fixed some minor NPE
2019-09-16 14:20:15 +02:00
Daniel Gultsch
ab57c59838
clear notifications when deleting account
2019-09-15 12:23:56 +02:00
Daniel Gultsch
4cd652884c
do not finish or repair sessions for untrusted senders
...
finishing (sending a key transport message in response to pre key message) as
well as reparing sessions will leak resource and availability and might in
certain situations in group chat leak the Jabber ID.
Therefor we disable that. Leaking resource might not be considered harmful by
a lot of people however we have always doing similar things with receipts.
2019-09-15 11:49:58 +02:00
Daniel Gultsch
be4953b1e4
parse LMC 1.1
2019-09-13 16:38:15 +02:00
Daniel Gultsch
e395da18bf
when parsing omemo messages ensure we only find one element
2019-09-12 12:43:11 +02:00
Daniel Gultsch
a7c47a33fa
inherit language from parent message when finding localized body
2019-09-12 12:42:42 +02:00
Daniel Gultsch
9bf5fb98ac
show language in message bubble if multiple language variants were received
...
XML and by inheritence XMPP has the feature of transmitting multiple language
variants for the same content. This can be really useful if, for example, you
are talking to an automated system. A chat bot could greet you in your own
language.
On the wire this will usually look like this:
```xml
<message to="you">
<body>Good morning</body>
<body xml:lang="de">Guten Morgen</body>
</message>
```
However receiving such a message in a group chat can be very confusing and
potentially dangerous if the sender puts conflicting information in there and
different people get shown different strings.
Disabeling support for localization entirely isn’t an ideal solution as on
principle it is still a good feature; and other clients might still show a
localization even if Conversations would always show the default language.
So instead Conversations now shows the displayed language in a corner of the
message bubble if more than one translation has been received.
If multiple languages are received Conversations will attempt to find one in
the language the operating system is set to. If no such translation can be
found it will attempt to display the English string.
If English can not be found either (for example a message that only has ru and
fr on a phone that is set to de) it will display what ever language came first.
Furthermore Conversations will discard (not show at all) messages with with
multiple bodies of the same language. (This is considered an invalid message)
The lanuage tag will not be shown if Conversations received a single body in
a language not understood by the user. (For example operating system set to
'de' and message received with one body in 'ru' will just display that body as
usual.)
As a guide line to the user: If you are reading a message where it is important
that this message is not interpreted differently by different people (like a
vote (+1 / -1) in a chat room) make sure it has *no* language tag.
2019-09-12 10:12:51 +02:00
Daniel Gultsch
a39fff5c8e
fixed 2 issues reported by new linter
2019-09-11 15:42:43 +02:00
Daniel Gultsch
8b69f8ae50
include ticker information in notification. fixes #3532
2019-09-08 17:58:15 +02:00
Daniel Gultsch
dd9777a6b7
do not include scope in ipv6 annoucment
2019-09-08 17:44:26 +02:00