Jordan Rose
7fc6b2ef7f
SSK: propagate untrusted identity errors when ensuring sessions
...
Regression introduced in "Use SignalClient for message encryption"
2021-01-28 12:03:50 -08:00
Jordan Rose
e595090046
Rename SSKSessionStore.containsSession() to containsActiveSession()
2021-01-28 12:03:50 -08:00
Jordan Rose
c7b6ba7010
Make OWSAccountIdFinder's methods into class methods
...
OWSAccountIdFinder is no longer used for dependency injection in
SignalMetadataKit, so there's no need to allocate empty NSObjects just
to call the methods.
No functionality change.
2021-01-28 12:03:50 -08:00
Jordan Rose
4a86e60b82
SSKSessionStore: fix containsSession to check for an /active/ session
...
This is how it's being used: not just that you've /ever/ had a session
with a contact/device, but that you /currently/ have a session with
them.
2021-01-28 12:03:50 -08:00
Jordan Rose
f88e8e0838
SSKSessionStore: Only use AxolotlKit types when talking to the db
...
This puts up the facade for the future we'll eventually want: the
database contains serialized protobuf data, not AxolotlKit
SessionRecord objects. This also allows us to transparently handle
fetches when the database can contain *either* SessionRecords or
serialized data---we only need to check which we have.
2021-01-28 12:03:50 -08:00
Jordan Rose
05725078f1
SSK: Migrate SSKSessionStore to Swift
...
This is a no-change migration /except/ that I've dropped entry points
that are unused in the app or tests.
2021-01-28 12:03:50 -08:00
Jordan Rose
77da9dcf16
SSK: Remove -maxSessionSenderChainKeyIndexForAccountId:transaction:
...
This was the last part of SignalServiceKit that poked inside
AxolotlKit's SessionRecord, and SignalClient doesn't currently expose
the same information. However, it was only being used as a heuristic
for merging phone number and UUID contacts when you already had a
session with each, and this just won't happen anymore except in rare
circumstances. (Specifically, all messages will have UUIDs, so a UUID
contact is always more up to date.)
2021-01-28 12:03:50 -08:00
Jordan Rose
e435532474
SSK: Use SignalClient for session archive operations
...
For now, this means some extra translation between AxolotlKit and
SignalClient types, but it helps pave the way for lazily migrating the
database to store protobuf-serialized records instead of
NSCoding-archived ones.
2021-01-28 12:03:50 -08:00
Jordan Rose
d75ac75546
SSK: Account for reset sessions in SignalClient/AxolotlKit migration
2021-01-28 12:03:50 -08:00
Jordan Rose
2a8206b7dd
SSK: Fix session migration for absent pre-key IDs
...
Doing this correctly means going "back" to proto2 for SessionRecords,
because we need to distinguish between "0" and "absent" in the
serialized protobuf data. (Note that we can do this independently of
SignalClient properly making this distinction because the proto3
implementation we're using, prost, will omit scalar proto3 fields
whose values match their defaults.)
2021-01-28 12:03:50 -08:00
Jordan Rose
45e888826a
SSK: Clean up uses of SignalClient now that EC*Key uses SignalClient
2021-01-28 12:03:50 -08:00
Jordan Rose
2b9aeb300e
Transition OWSMessageDecrypter to SignalClient
...
This is the last bit of code that uses AxolotlKit.SessionCipher!
2021-01-28 12:03:50 -08:00
Jordan Rose
645cefcd47
Accomodate differences in UUID formatting checking cert validity
2021-01-28 12:03:50 -08:00
Jordan Rose
ebaf8c2238
Update for SignalClient.StoreContext
2021-01-28 12:03:50 -08:00
Jordan Rose
1ea62f2f50
SSK: Update for 'throws' removal in SignalClient
2021-01-28 12:03:50 -08:00
Jordan Rose
faccd52d93
SSK: Remove workaround from before Curve25519Kit adopted SignalClient
2021-01-28 12:03:50 -08:00
Jordan Rose
aeb78527ea
SSK: Update for removal of SMK{Sender,Server}Certificate
2021-01-28 12:03:50 -08:00
Jordan Rose
4219c597b9
Fix inverted check (== instead of !=)
2021-01-28 12:03:50 -08:00
Jordan Rose
f8c2b764a2
Update for the removal of SMKEnvironment
2021-01-28 12:03:50 -08:00
Jordan Rose
833bff8889
Use SignalClient for message encryption
...
And update for SMKSecretSessionCipher's adoption of SignalClient as
well.
2021-01-28 12:03:50 -08:00
Jordan Rose
07c20a5f6f
Rename the SignalClient test protocol to avoid conflicts
2021-01-28 12:03:50 -08:00
Jordan Rose
77257beacc
Implement AxolotlKit<->SignalClient SessionRecord migration
...
This is accomplished by serializing into and out of the protobuf
format used by SignalClient.
2021-01-28 12:03:50 -08:00
Jordan Rose
1c77cc381c
SSK: Use a named constant for provisioning cipher info data
2021-01-28 12:03:49 -08:00
Jordan Rose
afcfff317f
SSK: Convert OWSProvisioningCipher to Swift for SignalClient HKDF
2021-01-28 12:03:49 -08:00
Jordan Rose
f7198339ab
SSK: Move RemoteAttestation HKDF use to Swift/SignalClient
2021-01-28 12:03:49 -08:00
Jordan Rose
c620707091
SSK: Switch from HKDFKit to SignalClient.hkdf(...) in Swift sources
2021-01-28 12:03:49 -08:00
Jordan Rose
1705f36669
SSK: Add a test for sticker decryption
2021-01-28 12:03:49 -08:00
Matthew Chen
f1b6c93903
Improve "group update info message" copy when joining group via group link.
2021-01-28 11:34:17 -03:00
Matthew Chen
671272d56f
Merge branch 'release/5.3.2'
2021-01-27 16:56:19 -03:00
Matthew Chen
6c5167606e
Feature flags for .qa.
2021-01-27 16:42:43 -03:00
Matthew Chen
caf7ff266c
Feature flags for .production.
2021-01-27 16:42:34 -03:00
Matthew Chen
a727ed9db3
Feature flags for .beta.
2021-01-27 16:42:14 -03:00
Matthew Chen
99034619be
Fix rare crash around downloading quoted thumbnails.
2021-01-27 14:19:21 -03:00
Matthew Chen
90df86ba7a
Protect oversize text messages from auto-download settings.
2021-01-27 11:35:10 -03:00
Matthew Chen
d2e6058ef6
Fix "empty snippet" issue in conversation list view.
2021-01-27 10:08:49 -03:00
Matthew Chen
57b7461848
Fix "empty snippet" issue in conversation list view.
2021-01-27 09:59:04 -03:00
Matthew Chen
5a1d4488ec
Respond to CR.
2021-01-27 09:58:17 -03:00
Matthew Chen
7327002125
Create a new GRDB storage adapter after grdb schema migrations.
2021-01-27 09:45:12 -03:00
Matthew Chen
1be46d20bd
Create a new GRDB storage adapter after grdb schema migrations.
2021-01-27 09:45:12 -03:00
Matthew Chen
d82b6f8250
Create a new GRDB storage adapter after grdb schema migrations.
2021-01-27 09:45:12 -03:00
Matthew Chen
584a638993
Create a new GRDB storage adapter after grdb schema migrations.
2021-01-27 09:45:12 -03:00
Jordan Rose
65cbcca821
Ignore message transcripts for null messages
...
This can happen when your primary device has used a null message to
reset a session and your secondary device gets it via sync.
2021-01-25 17:05:49 -08:00
Nora Trapp
f1f788c05c
Feature flags for .qa.
2021-01-25 16:34:45 -08:00
Nora Trapp
aacaa09faa
Feature flags for .production.
2021-01-25 16:34:32 -08:00
Matthew Chen
9a17bff403
Use nickname in group short names, part 2.
2021-01-25 15:14:43 -08:00
Matthew Chen
4df4700f63
Use nickname in group short names, part 2.
2021-01-25 15:14:43 -08:00
Matthew Chen
77b2ad834f
Use nickname in group short names, part 1.
2021-01-25 15:14:43 -08:00
Matthew Chen
279b5778af
Fix crash in OWSURLSession.
2021-01-25 15:12:23 -08:00
Matthew Chen
1902e7656c
Fix broken test.
2021-01-25 19:39:40 -03:00
Nora Trapp
05efbd07e5
Feature flags for .qa.
2021-01-23 22:13:58 -08:00