Daniel Gultsch
09f6343ced
Security: Introduce backup file format v2
...
This switches the SQL based backup format to something JSON based.
The SQL based format has always been prone to SQL injections that, for example, could delete other messages or preexisting accounts in the app. This hasn’t been a concern this far because why would anyone purposely try to restore a faulty backup? However the argument has been made that a user can be socially engineered to restore an exploited backup file.
Before version 2.12.8 a third party app could even trigger the restore process, leaving the backup password entry dialog the only hurdle.
On top of that it has been demonstrated that a backup file can be crafted in a way that puts preexisting credentials into a 'pending' message to an attacker ultimately leading to that information being leaked.
While destorying information has always been deemed an acceptable risk, leaking information is one step too far.
Starting with Conversations 2.12.9 Conversations will no longer be able to read v1 backup files. This means if you are restoring on a new device and you have a v1 backup file you must first install Conversations <= 2.12.8, restore the backup, and then upgrade to Conversations >= 2.12.9.
ceb2txt¹ has support for v2 backup files. Conceivably ceb2txt could be extended to convert between v1 and v2 file formats. (ceb2txt already recreates the database from v1 files; It is relatively straight forward to create v2 files from that database. Pull requests welcome.)
¹: https://github.com/iNPUTmice/ceb2txt/
2023-08-17 12:07:51 +02:00
Daniel Gultsch
b4a07d0093
remove channel discovery from Google Play build flavor
2023-08-08 10:39:36 +02:00
Stephen Paul Weber
4c38c480fa
Use libidn for stringprep
...
Which actually validates according to spec instead of just being lazy.
2023-06-27 16:31:01 +02:00
Daniel Gultsch
e3a121121b
UP: add custom extensions for app<->distributor interaction
...
On registration the app can pass in a 'Messenger' to get a direct response
instead of having to somehow wait for the broadcast receiver to fire.
The app name can be passed as a pending intent which allows the distributor
to validate the sender.
2023-06-26 16:09:01 +02:00
Daniel Gultsch
1fff1a0649
add ability to remove account from server
2023-04-08 09:31:17 +02:00
Daniel Gultsch
41cd96e37b
UP: null check transport verification
2023-01-10 17:22:48 +01:00
Daniel Gultsch
b7c7c40b94
send directed presence to transport if endpoints are configured
2023-01-06 17:04:15 +01:00
Daniel Gultsch
0e10ae387a
periodically renew endpoints
2023-01-06 15:44:39 +01:00
Daniel Gultsch
4ee5c167be
do not attempt endpoint renewal when account is disabled. renew on bind
2023-01-04 20:59:08 +01:00
Daniel Gultsch
b1f95d2e39
integrate UnifiedPush distributor
2023-01-04 10:23:20 +01:00
Daniel Gultsch
97d9cb7dd5
remove work arounds for slack
2023-01-01 12:05:49 +01:00
Daniel Gultsch
2093aa76ad
code clean up in ContactChooserTargetService
2022-12-11 20:13:09 +01:00
Daniel Gultsch
4e8ceadfbf
prepare JingleRtpConnection for content-adds
2022-11-28 08:59:23 +01:00
Daniel Gultsch
8fb2c11771
use plurals for missed call strings
2022-11-19 08:14:50 +01:00
Daniel Gultsch
ab0ea7096e
make it easier to disable muclumbus in Config
2022-10-12 14:47:02 +02:00
Daniel Gultsch
716c804353
only run account options through int conversion. fixes #4390
2022-10-12 11:53:57 +02:00
Daniel Gultsch
cb775ece99
wait for DB restore before bind
2022-09-26 09:47:53 +02:00
Daniel Gultsch
c1abca35da
copy bookmarks before passing them to other parts of the app for read
...
closes #4381
2022-09-14 12:49:18 +02:00
Daniel Gultsch
a210568a9c
refactor SASL choice into factory; remove unused TagWriter
2022-09-06 09:25:23 +02:00
Daniel Gultsch
eb49a7f5e5
fix crash in buggy connection manager. fixes #4368
2022-09-03 12:33:27 +02:00
Daniel Gultsch
cb1d7c69a1
remove comment
2022-09-03 11:05:27 +02:00
Daniel Gultsch
b792563fad
use non-custom missed called
2022-08-29 14:04:33 +02:00
Daniel Gultsch
f8b9e15634
fixups for missed call notifications
2022-08-29 13:01:20 +02:00
Dmitry Markin
a6b88ba9e9
Add missed call notifications
...
Co-authored-by: Daniel Gultsch <daniel@gultsch.de>
2022-08-29 12:41:35 +02:00
Daniel Gultsch
e439c223ee
add overflow menu action to delete own avatar
2022-08-25 19:22:40 +02:00
Daniel Gultsch
41d98da17d
set immutable flags for backup notifications
2022-08-12 11:02:22 +02:00
Daniel Gultsch
150f8313a0
make launch conversation and launch tor pending intents immutable
2022-08-11 14:31:27 +02:00
Daniel Gultsch
508e1ac1bd
add immutable flag to pending alarm intents
2022-08-09 19:43:10 +02:00
Daniel Gultsch
b3a3f2b930
try to detect if a container contains video or audio
...
fixes #4321
2022-08-09 09:40:04 +02:00
Daniel Gultsch
52ff6f446c
add permission checks to appRTCBluetoothManager
2022-08-05 10:56:19 +02:00
Daniel Gultsch
50ba165746
bump targetSdk to 32
2022-08-05 10:52:00 +02:00
Daniel Gultsch
67f021426b
remove null bytes from strings before creating sql statements in backup
2022-08-04 11:31:58 +02:00
Daniel Gultsch
73c7d76bd6
add local only flag to foreground service
2022-07-01 15:54:55 +02:00
Daniel Gultsch
85f06f1cd6
do not merge failed decryptions
...
fixes #4314
2022-05-02 08:29:54 +02:00
Daniel Gultsch
d7637192e2
fix NPE during bookmark creation
...
closes #4312
fixes #4211
thank you @singpolyma
2022-04-21 17:03:26 +02:00
Daniel Gultsch
09cf5feefa
limit posh files to 10k
2022-03-30 09:25:05 +02:00
Daniel Gultsch
36756fbd41
catch two rare exceptions to fix crash
2022-03-26 08:25:45 +01:00
Daniel Gultsch
d6be6ddd18
use full file name for all new files
2022-02-22 16:05:02 +01:00
Daniel Gultsch
8abacd23e8
use new storage location for backup and recordings
2022-02-22 15:14:00 +01:00
Daniel Gultsch
db834a1f07
indicate call reconnect in notification
2021-11-19 12:26:11 +01:00
Daniel Gultsch
d4cbf2e11e
take intent type into account when sharing with conversations
2021-11-07 11:35:00 +01:00
Daniel Gultsch
f182fe6697
use PM on direct reply if last message in notifacation stack is PM
2021-10-03 16:38:30 +02:00
Daniel Gultsch
3075833ab3
swap out transcoder library
...
the transcoder library we used hasn’t been updated in years
this commit switches to a maintained fork https://natario1.github.io/Transcoder/
2021-09-15 11:38:06 +02:00
Daniel Gultsch
c195e8b3d2
run file observer on its own thread. fixes #4164
2021-09-10 19:07:57 +02:00
Daniel Gultsch
8b817b3bd8
add database migration for new fts scheme
2021-09-07 16:47:40 +02:00
Daniel Gultsch
6c88a4b4fa
reset affiliation when inviting someone not currently in group. fixes #4146
2021-08-24 14:42:50 +02:00
Daniel Gultsch
87f99d3570
Transferables interface needs to differentiate between 0 and null file size
2021-05-17 15:51:21 +02:00
Daniel Gultsch
89012b0f8b
synchronize startRinging() to not create multiple vibrate futures
2021-05-08 11:49:24 +02:00
Daniel Gultsch
ac7855a332
show domains in manual cert accept dialog
2021-05-03 08:28:03 +02:00
Daniel Gultsch
c5e90199c3
trigger registration dialog on roster;ibr=y only if no accounts are configured
...
fixes #4065
2021-04-30 11:32:42 +02:00