Update to LibSignal v0.94.0

This commit is contained in:
Max Radermacher 2026-05-11 14:11:18 -05:00 committed by GitHub
parent f022ad1de3
commit d73b48b9b4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 79 additions and 114 deletions

View File

@ -11,8 +11,8 @@ source 'https://cdn.cocoapods.org/'
pod 'blurhash', podspec: './ThirdParty/blurhash.podspec'
pod 'SwiftProtobuf', "1.36.1"
ENV['LIBSIGNAL_FFI_PREBUILD_CHECKSUM'] = '546a58e582ccfb02a0d7989d07959bd8dd1cf3b868822888eefe39676d7d8e43'
pod 'LibSignalClient', git: 'https://github.com/signalapp/libsignal.git', tag: 'v0.93.1', testspecs: ["Tests"]
ENV['LIBSIGNAL_FFI_PREBUILD_CHECKSUM'] = '2b781ed29e11848acf7127457e24dedd5f6dce2189ba3c8f6773ee85fc255b3b'
pod 'LibSignalClient', git: 'https://github.com/signalapp/libsignal.git', tag: 'v0.94.0', testspecs: ["Tests"]
# pod 'LibSignalClient', path: '../libsignal', testspecs: ["Tests"]
ENV['RINGRTC_PREBUILD_CHECKSUM'] = '64743212da1c13ab7092ac4ba905c4b629d2ab1935bf3b3b8db7341cc4b5864e'

View File

@ -9,8 +9,8 @@ PODS:
- LibMobileCoin/CoreHTTP (6.0.2):
- SwiftProtobuf (~> 1.5)
- libPhoneNumber-iOS (1.2.0)
- LibSignalClient (0.93.1)
- LibSignalClient/Tests (0.93.1)
- LibSignalClient (0.94.0)
- LibSignalClient/Tests (0.94.0)
- libwebp (1.5.0):
- libwebp/demux (= 1.5.0)
- libwebp/mux (= 1.5.0)
@ -52,8 +52,8 @@ DEPENDENCIES:
- GRDB.swift/SQLCipher
- LibMobileCoin/CoreHTTP (from `https://github.com/signalapp/libmobilecoin-ios-artifacts`, tag `signal/6.0.2`)
- libPhoneNumber-iOS (from `https://github.com/signalapp/libPhoneNumber-iOS`, branch `signal-master`)
- LibSignalClient (from `https://github.com/signalapp/libsignal.git`, tag `v0.93.1`)
- LibSignalClient/Tests (from `https://github.com/signalapp/libsignal.git`, tag `v0.93.1`)
- LibSignalClient (from `https://github.com/signalapp/libsignal.git`, tag `v0.94.0`)
- LibSignalClient/Tests (from `https://github.com/signalapp/libsignal.git`, tag `v0.94.0`)
- libwebp
- lottie-ios
- MobileCoin/CoreHTTP (from `https://github.com/mobilecoinofficial/MobileCoin-Swift`, tag `v6.0.3`)
@ -89,7 +89,7 @@ EXTERNAL SOURCES:
:git: https://github.com/signalapp/libPhoneNumber-iOS
LibSignalClient:
:git: https://github.com/signalapp/libsignal.git
:tag: v0.93.1
:tag: v0.94.0
MobileCoin:
:git: https://github.com/mobilecoinofficial/MobileCoin-Swift
:tag: v6.0.3
@ -113,7 +113,7 @@ CHECKOUT OPTIONS:
:git: https://github.com/signalapp/libPhoneNumber-iOS
LibSignalClient:
:git: https://github.com/signalapp/libsignal.git
:tag: v0.93.1
:tag: v0.94.0
MobileCoin:
:git: https://github.com/mobilecoinofficial/MobileCoin-Swift
:tag: v6.0.3
@ -131,7 +131,7 @@ SPEC CHECKSUMS:
GRDB.swift: 1395cb3556df6b16ed69dfc74c3886abc75d2825
LibMobileCoin: 8503f567fa32184a5be7bc038fbd727747dd9991
libPhoneNumber-iOS: 1a34106b49dc6e12a7f37eb9aee7c64011509547
LibSignalClient: cdfabd6bb62704ee3d217441cf8b5f63dcaf7e12
LibSignalClient: 8023facf81b9909ad817f75e8df296cf2d8846f1
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
Logging: beeb016c9c80cf77042d62e83495816847ef108b
lottie-ios: fcb5e73e17ba4c983140b7d21095c834b3087418
@ -143,6 +143,6 @@ SPEC CHECKSUMS:
SQLCipher: ff2f045b20d675a73a70f7329395ddd4a2580063
SwiftProtobuf: 9e106a71456f4d3f6a3b0c8fd87ef0be085efc38
PODFILE CHECKSUM: 5fea4522a58e77bcab903b5dcf4e37a17e832a57
PODFILE CHECKSUM: 7328d74a7af4adf8f9cbef39102cf1b41d5201a6
COCOAPODS: 1.15.2

2
Pods

@ -1 +1 @@
Subproject commit 952e97e59ff7ac261ac48d250d691a69420f4d2c
Subproject commit cf2c3580a41c5b30e319cf3c2c691e276b437d71

View File

@ -288,7 +288,7 @@ DEALINGS IN THE SOFTWARE.
<key>License</key>
<string>MIT License</string>
<key>Title</key>
<string>adler2 2.0.1, anyhow 1.0.100, anyhow 1.0.102, async-trait 0.1.89, atomic-waker 1.1.2, auto_enums 0.8.7, curve25519-dalek-derive 0.1.1, derive_utils 0.15.0, displaydoc 0.2.5, dyn-clone 1.0.20, fastrand 2.3.0, fastrand 2.4.1, home 0.5.11, home 0.5.12, itoa 1.0.17, itoa 1.0.18, linkme 0.3.35, linkme-impl 0.3.35, linux-raw-sys 0.12.1, linux-raw-sys 0.4.15, minimal-lexical 0.2.1, num_enum 0.7.5, num_enum 0.7.6, num_enum_derive 0.7.5, num_enum_derive 0.7.6, once_cell 1.21.3, once_cell 1.21.4, paste 1.0.15, pin-project 1.1.10, pin-project-internal 1.1.10, pin-project-lite 0.2.16, prettyplease 0.2.37, proc-macro-crate 3.4.0, proc-macro-crate 3.5.0, proc-macro2 1.0.105, proc-macro2 1.0.106, quote 1.0.43, quote 1.0.45, ref-cast 1.0.25, ref-cast-impl 1.0.25, rustix 0.38.44, rustix 1.1.3, rustix 1.1.4, rustversion 1.0.22, semver 1.0.27, semver 1.0.28, send_wrapper 0.6.0, serde 1.0.228, serde_core 1.0.228, serde_derive 1.0.228, serde_json 1.0.149, syn 1.0.109, syn 2.0.114, syn 2.0.117, syn-mid 0.6.0, thiserror 1.0.69, thiserror 2.0.17, thiserror 2.0.18, thiserror-impl 1.0.69, thiserror-impl 2.0.17, thiserror-impl 2.0.18, unicode-ident 1.0.22, unicode-ident 1.0.24, utf-8 0.7.6, zmij 1.0.12, zmij 1.0.21</string>
<string>adler2 2.0.1, anyhow 1.0.100, anyhow 1.0.102, async-trait 0.1.89, atomic-waker 1.1.2, auto_enums 0.8.7, curve25519-dalek-derive 0.1.1, derive_utils 0.15.0, displaydoc 0.2.5, dyn-clone 1.0.20, fastrand 2.3.0, fastrand 2.4.1, home 0.5.11, home 0.5.12, itoa 1.0.17, itoa 1.0.18, linkme 0.3.35, linkme-impl 0.3.35, linux-raw-sys 0.12.1, linux-raw-sys 0.4.15, minimal-lexical 0.2.1, num_enum 0.7.5, num_enum 0.7.6, num_enum_derive 0.7.5, num_enum_derive 0.7.6, once_cell 1.21.3, once_cell 1.21.4, paste 1.0.15, pin-project 1.1.10, pin-project-internal 1.1.10, pin-project-lite 0.2.16, prettyplease 0.2.37, proc-macro-crate 3.4.0, proc-macro-crate 3.5.0, proc-macro2 1.0.105, proc-macro2 1.0.106, quote 1.0.43, quote 1.0.45, ref-cast 1.0.25, ref-cast-impl 1.0.25, rustix 0.38.44, rustix 1.1.3, rustix 1.1.4, rustversion 1.0.22, semver 1.0.27, semver 1.0.28, send_wrapper 0.6.0, serde 1.0.228, serde_core 1.0.228, serde_derive 1.0.228, serde_json 1.0.149, syn 2.0.114, syn 2.0.117, syn-mid 0.6.0, thiserror 1.0.69, thiserror 2.0.17, thiserror 2.0.18, thiserror-impl 1.0.69, thiserror-impl 2.0.17, thiserror-impl 2.0.18, unicode-ident 1.0.22, unicode-ident 1.0.24, utf-8 0.7.6, zmij 1.0.12, zmij 1.0.21</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
@ -950,7 +950,7 @@ DEALINGS IN THE SOFTWARE.
<key>License</key>
<string>MIT License</string>
<key>Title</key>
<string>backtrace 0.3.76, cc 1.2.52, cc 1.2.59, cfg-if 1.0.4, cmake 0.1.57, cmake 0.1.58, find-msvc-tools 0.1.7, find-msvc-tools 0.1.9, pkg-config 0.3.32, rustc-demangle 0.1.26, socket2 0.6.1</string>
<string>backtrace 0.3.76, cc 1.2.52, cc 1.2.59, cfg-if 1.0.4, cmake 0.1.57, cmake 0.1.58, find-msvc-tools 0.1.7, find-msvc-tools 0.1.9, pkg-config 0.3.32, rustc-demangle 0.1.26, socket2 0.6.3</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
@ -2628,42 +2628,6 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2012 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
<key>License</key>
<string>BSD 3-Clause "New" or "Revised" License</string>
<key>Title</key>
<string>curve25519-dalek 4.1.3</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2016-2021 isis agora lovecruft. All rights reserved.
@ -2694,6 +2658,42 @@ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
<key>License</key>
<string>BSD 3-Clause "New" or "Revised" License</string>
<key>Title</key>
<string>curve25519-dalek 4.1.3</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2012 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
<key>License</key>
<string>BSD 3-Clause "New" or "Revised" License</string>
@ -5018,41 +5018,6 @@ DEALINGS IN THE SOFTWARE.
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2014-2020 The Rust Project Developers
Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the
Software without restriction, including without
limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice
shall be included in all copies or substantial portions
of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
</string>
<key>License</key>
<string>MIT License</string>
<key>Title</key>
<string>libc 0.2.180</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) The Rust Project Developers
@ -5084,7 +5049,7 @@ DEALINGS IN THE SOFTWARE.
<key>License</key>
<string>MIT License</string>
<key>Title</key>
<string>libc 0.2.184</string>
<string>libc 0.2.184, libc 0.2.186</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
@ -8458,7 +8423,7 @@ THE SOFTWARE.
<key>License</key>
<string>MIT License</string>
<key>Title</key>
<string>mio 1.1.1</string>
<string>mio 1.2.0</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
@ -11005,6 +10970,29 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright 2015-2025 Brian Smith.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
</string>
<key>License</key>
<string>ISC License</string>
<key>Title</key>
<string>ring 0.17.14</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>
@ -11287,29 +11275,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright 2015-2025 Brian Smith.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
</string>
<key>License</key>
<string>ISC License</string>
<key>Title</key>
<string>ring 0.17.14</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2017, Mozilla
@ -13737,7 +13702,7 @@ SOFTWARE.
<key>License</key>
<string>MIT License</string>
<key>Title</key>
<string>tokio 1.49.0, tokio-stream 0.1.18, tokio-util 0.7.18</string>
<string>tokio 1.52.2, tokio-stream 0.1.18, tokio-util 0.7.18</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
@ -13805,7 +13770,7 @@ SOFTWARE.
<key>License</key>
<string>MIT License</string>
<key>Title</key>
<string>tokio-macros 2.6.0</string>
<string>tokio-macros 2.7.0</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>

View File

@ -33,7 +33,7 @@ public class MessageSender {
guard let session = try sessionStore.loadSession(forServiceId: serviceId, deviceId: deviceId, tx: tx) else {
return nil
}
guard session.hasCurrentState else {
guard session.hasCurrentState(requirePqRatio: 0, now: Date()) else {
return nil
}
return session

View File

@ -64,7 +64,7 @@ class SessionStoreTest2: XCTestCase {
// maxUnacknowledgedSessionAge 90 days ago.
let initial_session = try alice_store.loadSession(for: bob_address, context: NullContext())!
XCTAssertTrue(initial_session.hasCurrentState(now: Date(timeIntervalSinceReferenceDate: PreKeyManagerImpl.Constants.maxUnacknowledgedSessionAge)))
XCTAssertFalse(initial_session.hasCurrentState(now: Date(timeIntervalSinceReferenceDate: PreKeyManagerImpl.Constants.maxUnacknowledgedSessionAge + 1)))
XCTAssertTrue(initial_session.hasCurrentState(requirePqRatio: 0, now: Date(timeIntervalSinceReferenceDate: PreKeyManagerImpl.Constants.maxUnacknowledgedSessionAge)))
XCTAssertFalse(initial_session.hasCurrentState(requirePqRatio: 0, now: Date(timeIntervalSinceReferenceDate: PreKeyManagerImpl.Constants.maxUnacknowledgedSessionAge + 1)))
}
}