Commit Graph

21347 Commits

Author SHA1 Message Date
Matthew Chen
bec6d3cd09 Fix accessibility in chat history items. 2021-01-28 19:17:21 -03:00
Matthew Chen
cb358fd98b Fix accessibility in chat history items. 2021-01-28 19:17:21 -03:00
Matthew Chen
adc2757e77 "Bump build to 5.4.0.3." (Internal) 2021-01-28 18:23:43 -03:00
Matthew Chen
b7c3ac2894 Update Cocoapods. 2021-01-28 18:23:28 -03:00
Jordan Rose
999fe44501 Merge branch 'feature/SignalClient-adoption' 2021-01-28 12:41:19 -08:00
Jordan Rose
50f8f2ded4 Cleanup in SignalMetadataKit 2021-01-28 12:03:50 -08:00
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
eca005b2de Update Pods for SignalClient's API improvements 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
4c0f31fab0 Update Pods 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
65da248b06 GitHub: install iOS target for Rust (using the correct toolchain) 2021-01-28 12:03:49 -08:00
Jordan Rose
8d141db975 Update Pods for SignalMetadataKit using SignalClient 2021-01-28 12:03:49 -08:00
Jordan Rose
ad45f22266 Update Pods for SignalClient adoption 2021-01-28 12:03:49 -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
Jordan Rose
124d990659 Add SignalClient to SignalServiceKit's podspec 2021-01-28 12:03:49 -08:00
Jordan Rose
dec438c67f Add SignalClient to the Podfile 2021-01-28 12:03:49 -08:00
Matthew Chen
9ba068057e Merge branch 'release/5.3.2' 2021-01-28 14:29:40 -03:00
Matthew Chen
8cbeba5740 Merge branch 'charlesmchen/joinGroupViaInviteLinkCopy' 2021-01-28 11:34:32 -03: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
392b3fc43c Merge branch 'charlesmchen/attachmentProgressSizes' 2021-01-28 11:33:25 -03:00
Matthew Chen
79c5cf0481 Adjust attachment progress style and layout. 2021-01-28 11:33:02 -03:00
Matthew Chen
f390b779d0 Adjust attachment progress style and layout. 2021-01-28 11:33:02 -03:00
Matthew Chen
8162529938 Merge branch 'charlesmchen/shareStickerUrlToSameConversation' 2021-01-28 11:32:30 -03:00
Matthew Chen
49df8d2515 Fix issue around sharing a sticker pack URL to just the currently open conversation. 2021-01-28 11:32:13 -03:00
Matthew Chen
bce088545f "Bump build to 5.4.0.2." (Internal) 2021-01-27 21:54:44 -03:00
Matthew Chen
132087a221 "Bump build to 5.4.0.1." (Internal) 2021-01-27 21:47:51 -03:00