session-android/app/src/main/java/org/thoughtcrime/securesms/util
ceokot bee287bb7e
Add Session Id blinding (#862)
* feat: Add Session Id blinding

Including modified version of lazysodium-android to expose missing libsodium functions, we could build from a fork which we still need to setup.

* Add v4 onion request handling

* Update SOGS signature construction

* Fix SOGS signature construction

* Update onion request

* Update signature data

* Keep path prefixes for v4 endpoints

* Update SOGS signature message

* Rename to remove api version suffix

* Update onion response parsing

* Refactor file download paths

* Implement request batching

* Refactor batch response handling

* Handle batch endpoint responses

* Update batch endpoint responses

* Update attachment download handling

* Handle file downloads

* Handle inbox messages

* Fix issue with file downloads

* Preserve image bytearray encoding

* Refactor

* Open group message requests

* Check id blinding in user detail bottom sheet rather

* Message validation refactor

* Cache last inbox/outbox server ids

* Update message encryption/decryption

* Refactor

* Refactor

* Bypass user details bottom sheet in open groups for blinded session ids

* Fix capabilities call auth

* Refactor

* Revert default server details

* Update sodium dependency to forked repo

* Fix attachment upload

* Revert "Update sodium dependency to forked repo"

This reverts commit c7db9529f9.

* Add signed sodium lib

* Update contact id truncation and mention logic

* Open group inbox messaging fix

* Refactor

* Update blinded id check

* Fix open group message sends

* Fix crash on open group direct message send

* Direct message refactor

* Direct message encrypt/decrypt fixes

* Use updated curve25519 version

* Updated lazysodium dependency

* Update encryption/decryption calls

* Handle direct message parse errors

* Minor refactor

* Existing chat refactor

* Update encryption & decryption parameters

* Fix authenticated ciphertext size

* Set direct message sync target

* Update direct message thread lookup

* Add blinded id mapping table

* Add blinded id mapping table

* Update threads after sends

* Update open group message timestamp handling

* Filter unblinded contacts

* Format blinded id mentions

* Add message deleted field

* Hide open group inbox id

* Update message request response handling

* Update message request response sender handling

* Fix mentions of blinded ids

* Handle open group poll failure

* fix: add log for failed open group onion request, add decoding body for blinding required error at destination

* fix: change the error check

* Persist group members

* Reschedule polling after capabilities update

* Retry on other exceptions

* Minor refactor

* Open group profile fix

* Group member db schema update

* Fix ban request key

* Update ban response type

* Ban endpoint updates

* Ban endpoint updates

* Delete messages

Co-authored-by: charles <charles@oxen.io>
Co-authored-by: jubb <hjubb@users.noreply.github.com>
2022-08-10 18:17:48 +10:00
..
dynamiclanguage WIP clean 2021-01-15 16:51:53 +11:00
AbstractCursorLoader.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
ActivityUtilities.kt Merge branch 'dev' into trusted_attachment_download 2021-07-12 09:28:14 +10:00
AnimationCompleteListener.java Clean 2021-07-09 15:45:15 +10:00
AsyncLoader.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
AttachmentUtil.java refactor: use hilt to provide DB instead of our own factory, inject it in some places where possible 2021-10-04 18:51:19 +11:00
AvatarPlaceholderGenerator.kt Add Session Id blinding (#862) 2022-08-10 18:17:48 +10:00
BackupUtil.kt Add a global search (#834) 2022-02-07 17:06:27 +11:00
BitmapDecodingException.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
BitmapUtil.java Move files 2021-05-18 09:12:33 +10:00
Broadcaster.kt Re-organize files 2021-07-09 13:18:48 +10:00
CallNotificationBuilder.kt Add one on one calls over clearnet (#864) 2022-04-19 14:25:40 +10:00
CharacterCalculator.java clean up unused utils 2021-02-23 16:35:36 +11:00
CloseableLiveData.java clean 2021-01-29 16:35:47 +11:00
CommunicationActions.java refactor: use hilt to provide DB instead of our own factory, inject it in some places where possible 2021-10-04 18:51:19 +11:00
ConfigurationMessageUtilities.kt feat: Add conversation filtering for message requests (#830) 2022-03-04 08:46:39 +02:00
ContactUtilities.kt Add Session Id blinding (#862) 2022-08-10 18:17:48 +10:00
ContextProvider.kt restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
DateUtils.java Add a global search (#834) 2022-02-07 17:06:27 +11:00
FileProviderUtil.java clean up unused utils 2021-02-23 16:35:36 +11:00
GeneralUtilities.kt Re-organize files 2021-07-09 13:18:48 +10:00
GlowView.kt Re-organize files 2021-07-09 13:18:48 +10:00
IP2Country.kt Add a global search (#834) 2022-02-07 17:06:27 +11:00
IntentUtils.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
LRUCache.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
LimitedInputStream.java clean 2021-01-29 16:35:47 +11:00
LongClickCopySpan.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
LongClickMovementMethod.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
MediaUtil.java Move files 2021-05-18 09:12:33 +10:00
MemoryFileUtil.java clean up unused utils 2021-02-23 16:35:36 +11:00
MmsCharacterCalculator.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
ParcelUtil.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
PointFUtilities.kt Re-organize files 2021-07-09 13:18:48 +10:00
PushCharacterCalculator.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
QRCodeUtilities.kt Re-organize files 2021-07-09 13:18:48 +10:00
ResUtil.java Move files 2021-05-18 09:12:33 +10:00
Rfc5724Uri.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
SaveAttachmentTask.kt Move files 2021-05-18 09:12:33 +10:00
ScanQRCodeFragment.kt refactor: Use view binding to replace Kotlin synthetics (#824) 2022-01-14 07:56:15 +02:00
ScanQRCodePlaceholderFragment.kt refactor: Use view binding to replace Kotlin synthetics (#824) 2022-01-14 07:56:15 +02:00
ScanQRCodeWrapperFragment.kt Clean & debug 2021-07-09 13:56:38 +10:00
SearchUtil.java Add a global search (#834) 2022-02-07 17:06:27 +11:00
SessionMetaProtocol.kt fix: don't send typing indicator in unapproved conversation 2022-03-17 15:38:39 +11:00
SingleLiveEvent.java Move files 2021-05-18 09:12:33 +10:00
SmsCharacterCalculator.java Move files 2021-05-18 09:12:33 +10:00
SpanUtil.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
StableIdGenerator.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
State.kt Re-organize files 2021-07-09 13:18:48 +10:00
StickyHeaderDecoration.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
Stopwatch.java Move files 2021-05-18 09:12:33 +10:00
StreamUtil.java Move files 2021-05-18 09:12:33 +10:00
Trimmer.java refactor: use hilt to provide DB instead of our own factory, inject it in some places where possible 2021-10-04 18:51:19 +11:00
UiModeUtilities.kt Re-organize files 2021-07-09 13:18:48 +10:00
Util.java Remove unused resources 2021-07-07 14:00:18 +10:00
VersionTracker.kt WIP clean 2021-01-15 16:51:53 +11:00
ViewGroupUtilities.kt Re-organize files 2021-07-09 13:18:48 +10:00
ViewUtilities.kt Re-organize files 2021-07-09 13:18:48 +10:00
WakeLockUtil.java Move files 2021-05-18 09:12:33 +10:00
WorkerThread.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00