session-android/app/src/main/java/org/thoughtcrime/securesms/mms
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
..
AttachmentStreamLocalUriFetcher.java Move files 2021-05-18 09:26:08 +10:00
AttachmentStreamUriLoader.java Move files 2021-05-18 09:26:08 +10:00
AudioSlide.java WIP 2021-06-28 14:51:49 +10:00
DecryptableStreamLocalUriFetcher.java Move files 2021-05-18 09:12:33 +10:00
DecryptableStreamUriLoader.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
DocumentSlide.java Move files 2021-05-18 09:12:33 +10:00
GifSlide.java further cleaning up on stickers 2021-02-23 15:07:31 +11:00
ImageSlide.java further cleaning up on stickers 2021-02-23 15:07:31 +11:00
MediaConstraints.java Move files 2021-05-18 09:12:33 +10:00
MediaStream.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
MmsException.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
MmsSlide.java WIP clean 2021-01-14 10:28:07 +11:00
PartAuthority.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
PartUriParser.java implement interfaces 2021-01-13 17:11:30 +11:00
PushMediaConstraints.java Add Session Id blinding (#862) 2022-08-10 18:17:48 +10:00
QuoteId.java Move files 2021-05-18 16:11:38 +10:00
SignalGlideModule.java Performance improvements and bug fixes (#869) 2022-06-08 17:12:34 +10:00
Slide.java Move files 2021-05-18 09:26:08 +10:00
SlideClickListener.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
SlideDeck.java Move files 2021-05-18 09:26:08 +10:00
SlidesClickedListener.java restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
TextSlide.java further cleaning up on stickers 2021-02-23 15:07:31 +11:00
VideoSlide.java further cleaning up on stickers 2021-02-23 15:07:31 +11:00