mirror of
https://github.com/signalapp/libsignal.git
synced 2024-09-20 03:52:17 +02:00
Upgrade rustc to latest nightly
This commit is contained in:
parent
49f9fa5498
commit
b064ec78c5
17
Cargo.lock
generated
17
Cargo.lock
generated
@ -1047,9 +1047,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "displaydoc"
|
name = "displaydoc"
|
||||||
version = "0.2.4"
|
version = "0.2.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
|
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@ -1505,6 +1505,12 @@ version = "0.4.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "heck"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hermit-abi"
|
name = "hermit-abi"
|
||||||
version = "0.3.9"
|
version = "0.3.9"
|
||||||
@ -2131,6 +2137,7 @@ dependencies = [
|
|||||||
"signal-crypto",
|
"signal-crypto",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"strum",
|
"strum",
|
||||||
|
"strum_macros",
|
||||||
"subtle",
|
"subtle",
|
||||||
"test-case",
|
"test-case",
|
||||||
"test-log",
|
"test-log",
|
||||||
@ -3867,11 +3874,11 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "strum_macros"
|
name = "strum_macros"
|
||||||
version = "0.26.2"
|
version = "0.26.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
|
checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"heck 0.4.1",
|
"heck 0.5.0",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"rustversion",
|
"rustversion",
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
<h2>Overview of licenses:</h2>
|
<h2>Overview of licenses:</h2>
|
||||||
<ul class="licenses-overview">
|
<ul class="licenses-overview">
|
||||||
<li><a href="#MIT">MIT License</a> (314)</li>
|
<li><a href="#MIT">MIT License</a> (315)</li>
|
||||||
<li><a href="#AGPL-3.0">GNU Affero General Public License v3.0</a> (25)</li>
|
<li><a href="#AGPL-3.0">GNU Affero General Public License v3.0</a> (25)</li>
|
||||||
<li><a href="#Apache-2.0">Apache License 2.0</a> (12)</li>
|
<li><a href="#Apache-2.0">Apache License 2.0</a> (12)</li>
|
||||||
<li><a href="#BSD-3-Clause">BSD 3-Clause "New" or "Revised" License</a> (8)</li>
|
<li><a href="#BSD-3-Clause">BSD 3-Clause "New" or "Revised" License</a> (8)</li>
|
||||||
@ -3422,6 +3422,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
<li><a href="https://github.com/gimli-rs/gimli">gimli 0.28.1</a></li>
|
<li><a href="https://github.com/gimli-rs/gimli">gimli 0.28.1</a></li>
|
||||||
<li><a href="https://github.com/withoutboats/heck">heck 0.3.3</a></li>
|
<li><a href="https://github.com/withoutboats/heck">heck 0.3.3</a></li>
|
||||||
<li><a href="https://github.com/withoutboats/heck">heck 0.4.1</a></li>
|
<li><a href="https://github.com/withoutboats/heck">heck 0.4.1</a></li>
|
||||||
|
<li><a href="https://github.com/withoutboats/heck">heck 0.5.0</a></li>
|
||||||
<li><a href="https://github.com/fitzgen/peeking_take_while">peeking_take_while 0.1.2</a></li>
|
<li><a href="https://github.com/fitzgen/peeking_take_while">peeking_take_while 0.1.2</a></li>
|
||||||
<li><a href="https://github.com/servo/unicode-bidi">unicode-bidi 0.3.15</a></li>
|
<li><a href="https://github.com/servo/unicode-bidi">unicode-bidi 0.3.15</a></li>
|
||||||
<li><a href="https://github.com/unicode-rs/unicode-normalization">unicode-normalization 0.1.23</a></li>
|
<li><a href="https://github.com/unicode-rs/unicode-normalization">unicode-normalization 0.1.23</a></li>
|
||||||
@ -6347,7 +6348,7 @@ SOFTWARE.
|
|||||||
<h4>Used by:</h4>
|
<h4>Used by:</h4>
|
||||||
<ul class="license-used-by">
|
<ul class="license-used-by">
|
||||||
<li><a href="https://github.com/Peternator7/strum">strum 0.26.2</a></li>
|
<li><a href="https://github.com/Peternator7/strum">strum 0.26.2</a></li>
|
||||||
<li><a href="https://github.com/Peternator7/strum">strum_macros 0.26.2</a></li>
|
<li><a href="https://github.com/Peternator7/strum">strum_macros 0.26.4</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<pre class="license-text">MIT License
|
<pre class="license-text">MIT License
|
||||||
|
|
||||||
@ -6743,6 +6744,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
<li><a href="https://github.com/dtolnay/anyhow">anyhow 1.0.86</a></li>
|
<li><a href="https://github.com/dtolnay/anyhow">anyhow 1.0.86</a></li>
|
||||||
<li><a href="https://github.com/dtolnay/async-trait">async-trait 0.1.80</a></li>
|
<li><a href="https://github.com/dtolnay/async-trait">async-trait 0.1.80</a></li>
|
||||||
<li><a href="https://github.com/smol-rs/atomic-waker">atomic-waker 1.1.2</a></li>
|
<li><a href="https://github.com/smol-rs/atomic-waker">atomic-waker 1.1.2</a></li>
|
||||||
|
<li><a href="https://github.com/yaahc/displaydoc">displaydoc 0.2.5</a></li>
|
||||||
<li><a href="https://github.com/dtolnay/dyn-clone">dyn-clone 1.0.17</a></li>
|
<li><a href="https://github.com/dtolnay/dyn-clone">dyn-clone 1.0.17</a></li>
|
||||||
<li><a href="https://github.com/smol-rs/fastrand">fastrand 2.1.0</a></li>
|
<li><a href="https://github.com/smol-rs/fastrand">fastrand 2.1.0</a></li>
|
||||||
<li><a href="https://github.com/rust-lang/cargo">home 0.5.9</a></li>
|
<li><a href="https://github.com/rust-lang/cargo">home 0.5.9</a></li>
|
||||||
@ -6800,37 +6802,6 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
||||||
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
DEALINGS IN THE SOFTWARE.
|
DEALINGS IN THE SOFTWARE.
|
||||||
</pre>
|
|
||||||
</li>
|
|
||||||
<li class="license">
|
|
||||||
<h3 id="MIT">MIT License</h3>
|
|
||||||
<h4>Used by:</h4>
|
|
||||||
<ul class="license-used-by">
|
|
||||||
<li><a href="https://github.com/yaahc/displaydoc">displaydoc 0.2.4</a></li>
|
|
||||||
</ul>
|
|
||||||
<pre class="license-text">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.
|
|
||||||
</pre>
|
</pre>
|
||||||
</li>
|
</li>
|
||||||
<li class="license">
|
<li class="license">
|
||||||
|
@ -3192,7 +3192,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## gimli 0.28.1, heck 0.3.3, heck 0.4.1, peeking_take_while 0.1.2, unicode-bidi 0.3.15, unicode-normalization 0.1.23, unicode-segmentation 1.11.0
|
## gimli 0.28.1, heck 0.3.3, heck 0.4.1, heck 0.5.0, peeking_take_while 0.1.2, unicode-bidi 0.3.15, unicode-normalization 0.1.23, unicode-segmentation 1.11.0
|
||||||
|
|
||||||
```
|
```
|
||||||
Copyright (c) 2015 The Rust Project Developers
|
Copyright (c) 2015 The Rust Project Developers
|
||||||
@ -5879,7 +5879,7 @@ SOFTWARE.
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## strum 0.26.2, strum_macros 0.26.2
|
## strum 0.26.2, strum_macros 0.26.4
|
||||||
|
|
||||||
```
|
```
|
||||||
MIT License
|
MIT License
|
||||||
@ -6235,7 +6235,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## curve25519-dalek-derive 0.1.1, adler 1.0.2, anyhow 1.0.86, async-trait 0.1.80, atomic-waker 1.1.2, dyn-clone 1.0.17, fastrand 2.1.0, home 0.5.9, is-terminal 0.4.12, itoa 1.0.11, linkme-impl 0.3.26, linkme 0.3.26, linux-raw-sys 0.4.14, minimal-lexical 0.2.1, num_enum 0.6.1, num_enum_derive 0.6.1, once_cell 1.19.0, paste 1.0.15, pin-project-lite 0.2.14, prettyplease 0.2.20, proc-macro-crate 1.3.1, proc-macro2 1.0.83, quote 1.0.36, rustc-hash 1.1.0, rustix 0.38.34, rustversion 1.0.17, semver 1.0.23, send_wrapper 0.6.0, serde 1.0.202, serde_derive 1.0.202, serde_json 1.0.117, syn-mid 0.6.0, syn 1.0.109, syn 2.0.66, thiserror-impl 1.0.61, thiserror 1.0.61, unicode-ident 1.0.12, utf-8 0.7.6
|
## curve25519-dalek-derive 0.1.1, adler 1.0.2, anyhow 1.0.86, async-trait 0.1.80, atomic-waker 1.1.2, displaydoc 0.2.5, dyn-clone 1.0.17, fastrand 2.1.0, home 0.5.9, is-terminal 0.4.12, itoa 1.0.11, linkme-impl 0.3.26, linkme 0.3.26, linux-raw-sys 0.4.14, minimal-lexical 0.2.1, num_enum 0.6.1, num_enum_derive 0.6.1, once_cell 1.19.0, paste 1.0.15, pin-project-lite 0.2.14, prettyplease 0.2.20, proc-macro-crate 1.3.1, proc-macro2 1.0.83, quote 1.0.36, rustc-hash 1.1.0, rustix 0.38.34, rustversion 1.0.17, semver 1.0.23, send_wrapper 0.6.0, serde 1.0.202, serde_derive 1.0.202, serde_json 1.0.117, syn-mid 0.6.0, syn 1.0.109, syn 2.0.66, thiserror-impl 1.0.61, thiserror 1.0.61, unicode-ident 1.0.12, utf-8 0.7.6
|
||||||
|
|
||||||
```
|
```
|
||||||
Permission is hereby granted, free of charge, to any
|
Permission is hereby granted, free of charge, to any
|
||||||
@ -6264,35 +6264,6 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## displaydoc 0.2.4
|
|
||||||
|
|
||||||
```
|
|
||||||
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.
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## winnow 0.5.40
|
## winnow 0.5.40
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -3425,7 +3425,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
<key>License</key>
|
<key>License</key>
|
||||||
<string>MIT License</string>
|
<string>MIT License</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>gimli 0.28.1, heck 0.3.3, heck 0.4.1, peeking_take_while 0.1.2, unicode-bidi 0.3.15, unicode-normalization 0.1.23, unicode-segmentation 1.11.0</string>
|
<string>gimli 0.28.1, heck 0.3.3, heck 0.4.1, heck 0.5.0, peeking_take_while 0.1.2, unicode-bidi 0.3.15, unicode-normalization 0.1.23, unicode-segmentation 1.11.0</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>PSGroupSpecifier</string>
|
<string>PSGroupSpecifier</string>
|
||||||
</dict>
|
</dict>
|
||||||
@ -6480,7 +6480,7 @@ SOFTWARE.
|
|||||||
<key>License</key>
|
<key>License</key>
|
||||||
<string>MIT License</string>
|
<string>MIT License</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>strum 0.26.2, strum_macros 0.26.2</string>
|
<string>strum 0.26.2, strum_macros 0.26.4</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>PSGroupSpecifier</string>
|
<string>PSGroupSpecifier</string>
|
||||||
</dict>
|
</dict>
|
||||||
@ -6894,40 +6894,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
<key>License</key>
|
<key>License</key>
|
||||||
<string>MIT License</string>
|
<string>MIT License</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>curve25519-dalek-derive 0.1.1, adler 1.0.2, anyhow 1.0.86, async-trait 0.1.80, atomic-waker 1.1.2, dyn-clone 1.0.17, fastrand 2.1.0, home 0.5.9, is-terminal 0.4.12, itoa 1.0.11, linkme-impl 0.3.26, linkme 0.3.26, linux-raw-sys 0.4.14, minimal-lexical 0.2.1, num_enum 0.6.1, num_enum_derive 0.6.1, once_cell 1.19.0, paste 1.0.15, pin-project-lite 0.2.14, prettyplease 0.2.20, proc-macro-crate 1.3.1, proc-macro2 1.0.83, quote 1.0.36, rustc-hash 1.1.0, rustix 0.38.34, rustversion 1.0.17, semver 1.0.23, send_wrapper 0.6.0, serde 1.0.202, serde_derive 1.0.202, serde_json 1.0.117, syn-mid 0.6.0, syn 1.0.109, syn 2.0.66, thiserror-impl 1.0.61, thiserror 1.0.61, unicode-ident 1.0.12, utf-8 0.7.6</string>
|
<string>curve25519-dalek-derive 0.1.1, adler 1.0.2, anyhow 1.0.86, async-trait 0.1.80, atomic-waker 1.1.2, displaydoc 0.2.5, dyn-clone 1.0.17, fastrand 2.1.0, home 0.5.9, is-terminal 0.4.12, itoa 1.0.11, linkme-impl 0.3.26, linkme 0.3.26, linux-raw-sys 0.4.14, minimal-lexical 0.2.1, num_enum 0.6.1, num_enum_derive 0.6.1, once_cell 1.19.0, paste 1.0.15, pin-project-lite 0.2.14, prettyplease 0.2.20, proc-macro-crate 1.3.1, proc-macro2 1.0.83, quote 1.0.36, rustc-hash 1.1.0, rustix 0.38.34, rustversion 1.0.17, semver 1.0.23, send_wrapper 0.6.0, serde 1.0.202, serde_derive 1.0.202, serde_json 1.0.117, syn-mid 0.6.0, syn 1.0.109, syn 2.0.66, thiserror-impl 1.0.61, thiserror 1.0.61, unicode-ident 1.0.12, utf-8 0.7.6</string>
|
||||||
<key>Type</key>
|
|
||||||
<string>PSGroupSpecifier</string>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>FooterText</key>
|
|
||||||
<string>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>displaydoc 0.2.4</string>
|
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>PSGroupSpecifier</string>
|
<string>PSGroupSpecifier</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -109,6 +109,7 @@ def main(args=None):
|
|||||||
if 'npm_package_version' in cargo_env:
|
if 'npm_package_version' in cargo_env:
|
||||||
cargo_env['RUSTFLAGS'] += ' -Clink-arg=-Wl,-current_version,%s' % cargo_env['npm_package_version']
|
cargo_env['RUSTFLAGS'] += ' -Clink-arg=-Wl,-current_version,%s' % cargo_env['npm_package_version']
|
||||||
|
|
||||||
|
print("with environment: %s" % (' '.join("%s=%s" % (k, v) for (k, v) in cargo_env.items())))
|
||||||
cmd = subprocess.Popen(cmdline, env=cargo_env)
|
cmd = subprocess.Popen(cmdline, env=cargo_env)
|
||||||
cmd.wait()
|
cmd.wait()
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
nightly-2024-02-14
|
nightly-2024-06-21
|
||||||
|
@ -45,3 +45,6 @@ test-case = "3.3"
|
|||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
prost-build = "0.12"
|
prost-build = "0.12"
|
||||||
|
|
||||||
|
[lints.rust]
|
||||||
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
|
||||||
|
@ -292,7 +292,12 @@ impl TryFrom<[u8; std::mem::size_of::<EndorsementsHeader>()]> for EndorsementsHe
|
|||||||
type Error = super::Error;
|
type Error = super::Error;
|
||||||
|
|
||||||
fn try_from(src: [u8; std::mem::size_of::<EndorsementsHeader>()]) -> super::Result<Self> {
|
fn try_from(src: [u8; std::mem::size_of::<EndorsementsHeader>()]) -> super::Result<Self> {
|
||||||
unsafe { Ok(transmute(src)) }
|
unsafe {
|
||||||
|
Ok(transmute::<
|
||||||
|
[u8; std::mem::size_of::<EndorsementsHeader>()],
|
||||||
|
Self,
|
||||||
|
>(src))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,7 +154,8 @@ impl TryFrom<[u8; std::mem::size_of::<SgxQuoteBody>()]> for SgxQuoteBody {
|
|||||||
type Error = super::Error;
|
type Error = super::Error;
|
||||||
|
|
||||||
fn try_from(bytes: [u8; std::mem::size_of::<SgxQuoteBody>()]) -> super::Result<Self> {
|
fn try_from(bytes: [u8; std::mem::size_of::<SgxQuoteBody>()]) -> super::Result<Self> {
|
||||||
let quote_body: SgxQuoteBody = unsafe { transmute(bytes) };
|
let quote_body =
|
||||||
|
unsafe { transmute::<[u8; std::mem::size_of::<SgxQuoteBody>()], SgxQuoteBody>(bytes) };
|
||||||
if quote_body.version.value() != QUOTE_V3 {
|
if quote_body.version.value() != QUOTE_V3 {
|
||||||
return Err(Error::new(format!(
|
return Err(Error::new(format!(
|
||||||
"unsupported SGX quote version: {}",
|
"unsupported SGX quote version: {}",
|
||||||
@ -350,7 +351,9 @@ impl TryFrom<[u8; std::mem::size_of::<SgxEcdsaSignatureHeader>()]> for SgxEcdsaS
|
|||||||
fn try_from(
|
fn try_from(
|
||||||
bytes: [u8; std::mem::size_of::<SgxEcdsaSignatureHeader>()],
|
bytes: [u8; std::mem::size_of::<SgxEcdsaSignatureHeader>()],
|
||||||
) -> super::Result<Self> {
|
) -> super::Result<Self> {
|
||||||
Ok(unsafe { transmute(bytes) })
|
Ok(unsafe {
|
||||||
|
transmute::<[u8; std::mem::size_of::<SgxEcdsaSignatureHeader>()], Self>(bytes)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,6 +121,6 @@ impl TryFrom<[u8; std::mem::size_of::<SgxReportBody>()]> for SgxReportBody {
|
|||||||
type Error = super::Error;
|
type Error = super::Error;
|
||||||
|
|
||||||
fn try_from(src: [u8; std::mem::size_of::<SgxReportBody>()]) -> super::Result<Self> {
|
fn try_from(src: [u8; std::mem::size_of::<SgxReportBody>()]) -> super::Result<Self> {
|
||||||
unsafe { Ok(transmute(src)) }
|
unsafe { Ok(transmute::<[u8; std::mem::size_of::<SgxReportBody>()], Self>(src)) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,9 +45,13 @@ pub struct Signature<'a>(&'a [u8]);
|
|||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct Clock {
|
pub struct Clock {
|
||||||
|
#[allow(unused)]
|
||||||
pub millis_since_clear: u64,
|
pub millis_since_clear: u64,
|
||||||
|
#[allow(unused)]
|
||||||
pub resets: u32,
|
pub resets: u32,
|
||||||
|
#[allow(unused)]
|
||||||
pub restarts: u32,
|
pub restarts: u32,
|
||||||
|
#[allow(unused)]
|
||||||
pub is_safe: bool,
|
pub is_safe: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
17
rust/bridge/node/build.rs
Normal file
17
rust/bridge/node/build.rs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// Copyright 2024 Signal Messenger, LLC.
|
||||||
|
// SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
//
|
||||||
|
|
||||||
|
use std::env;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
if env::var("TARGET").expect("set by Cargo") == "x86_64-unknown-linux-gnu" {
|
||||||
|
// The nightly compiler uses a new linker, rust-lld, by default on
|
||||||
|
// x86_64-unknown-linux-gnu, which causes issues with the `linkme` crate.
|
||||||
|
// We could disable rust-lld instead but then we'd lose out on the faster
|
||||||
|
// link times, so pass additional flags to the linker instead. See
|
||||||
|
// https://github.com/dtolnay/linkme/issues/94
|
||||||
|
println!("cargo::rustc-link-arg=-znostart-stop-gc");
|
||||||
|
}
|
||||||
|
}
|
@ -87,7 +87,7 @@ impl<T> OwnedBufferOf<T> {
|
|||||||
/// Callers of this function must ensure that
|
/// Callers of this function must ensure that
|
||||||
/// - the `OwnedBufferOf` was originally created from `Box`
|
/// - the `OwnedBufferOf` was originally created from `Box`
|
||||||
/// - any C code operating on the buffer left all its elements in a valid
|
/// - any C code operating on the buffer left all its elements in a valid
|
||||||
/// state.
|
/// state.
|
||||||
pub unsafe fn into_box(self) -> Box<[T]> {
|
pub unsafe fn into_box(self) -> Box<[T]> {
|
||||||
let Self { base, length } = self;
|
let Self { base, length } = self;
|
||||||
if base.is_null() {
|
if base.is_null() {
|
||||||
|
@ -231,7 +231,7 @@ impl SignalNodeError for SignalProtocolError {
|
|||||||
Some(error) => cx.throw(error),
|
Some(error) => cx.throw(error),
|
||||||
None => {
|
None => {
|
||||||
// Make sure we still throw something.
|
// Make sure we still throw something.
|
||||||
cx.throw_error(&self.to_string())
|
cx.throw_error(self.to_string())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -695,7 +695,7 @@ impl ProtocolAddress {
|
|||||||
/// Create a new address.
|
/// Create a new address.
|
||||||
///
|
///
|
||||||
/// - `name` defines a user's public identity, and therefore must be globally unique to that
|
/// - `name` defines a user's public identity, and therefore must be globally unique to that
|
||||||
/// user.
|
/// user.
|
||||||
/// - Each Signal client instance then has its own `device_id`, which must be unique among
|
/// - Each Signal client instance then has its own `device_id`, which must be unique among
|
||||||
/// all clients for that user.
|
/// all clients for that user.
|
||||||
///
|
///
|
||||||
|
@ -10,7 +10,7 @@ futures-util = "0.3.7"
|
|||||||
mediasan-common = "0.5.0"
|
mediasan-common = "0.5.0"
|
||||||
mp4san = { version = "0.5.0", optional = true }
|
mp4san = { version = "0.5.0", optional = true }
|
||||||
thiserror = "1.0.38"
|
thiserror = "1.0.38"
|
||||||
webpsan = { version = "0.5.0", optional = true, default_features = false }
|
webpsan = { version = "0.5.0", optional = true, default-features = false }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["mp4san", "webpsan"]
|
default = ["mp4san", "webpsan"]
|
||||||
|
@ -37,7 +37,7 @@ cbc = "0.1.2"
|
|||||||
clap = { version = "4.2.1", features = ["derive"] }
|
clap = { version = "4.2.1", features = ["derive"] }
|
||||||
clap-stdin = "0.3.0"
|
clap-stdin = "0.3.0"
|
||||||
derive-where = "1.2.5"
|
derive-where = "1.2.5"
|
||||||
displaydoc = "0.2.4"
|
displaydoc = "0.2.5"
|
||||||
env_logger = "0.10.0"
|
env_logger = "0.10.0"
|
||||||
futures = "0.3.29"
|
futures = "0.3.29"
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
@ -54,6 +54,10 @@ serde_json = { version = "1.0", optional = true }
|
|||||||
sha2 = "0.10"
|
sha2 = "0.10"
|
||||||
smallvec = "1.13.2"
|
smallvec = "1.13.2"
|
||||||
strum = { version = "0.26", features = ["derive"] }
|
strum = { version = "0.26", features = ["derive"] }
|
||||||
|
# This isn't strictly necessary but we need at least this version to avoid
|
||||||
|
# warnings from the latest nightly rustc. Remove this when the referenced strum
|
||||||
|
# version has at least this version as a dependency.
|
||||||
|
strum_macros = { version = "0.26.4" }
|
||||||
subtle = "2.5.0"
|
subtle = "2.5.0"
|
||||||
thiserror = "1.0.50"
|
thiserror = "1.0.50"
|
||||||
uuid = "1.1.2"
|
uuid = "1.1.2"
|
||||||
|
@ -10,7 +10,7 @@ authors = ["Signal Messenger LLC"]
|
|||||||
license = "AGPL-3.0-only"
|
license = "AGPL-3.0-only"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
proc_macro = true
|
proc-macro = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
heck = "0.3.1"
|
heck = "0.3.1"
|
||||||
|
@ -34,7 +34,6 @@ tokens_alias!(
|
|||||||
VisitContainerUnknownFields,
|
VisitContainerUnknownFields,
|
||||||
crate::unknown::visit_static::VisitContainerUnknownFields
|
crate::unknown::visit_static::VisitContainerUnknownFields
|
||||||
);
|
);
|
||||||
tokens_alias!(UnknownFieldVisitor, crate::unknown::UnknownFieldVisitor);
|
|
||||||
tokens_alias!(Visitor, crate::unknown::visit_static::Visitor);
|
tokens_alias!(Visitor, crate::unknown::visit_static::Visitor);
|
||||||
tokens_alias!(PathType, crate::unknown::Path<'_>);
|
tokens_alias!(PathType, crate::unknown::Path<'_>);
|
||||||
tokens_alias!(Path, crate::unknown::Path);
|
tokens_alias!(Path, crate::unknown::Path);
|
||||||
|
@ -51,10 +51,10 @@ pub struct CompletedBackup<M: Method> {
|
|||||||
|
|
||||||
#[derive_where(Default)]
|
#[derive_where(Default)]
|
||||||
struct ChatsData<M: Method> {
|
struct ChatsData<M: Method> {
|
||||||
items: HashMap<ChatId, ChatData<M>>,
|
pub items: HashMap<ChatId, ChatData<M>>,
|
||||||
pinned: Vec<(PinOrder, RecipientId)>,
|
pub pinned: Vec<(PinOrder, RecipientId)>,
|
||||||
/// Count of the total number of chat items held across all values in `items`.
|
/// Count of the total number of chat items held across all values in `items`.
|
||||||
chat_items_count: usize,
|
pub chat_items_count: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
@ -140,7 +140,7 @@ pub struct InvalidExpiration {
|
|||||||
#[cfg_attr(test, derive_where(PartialEq; M::List<ChatItemData<M>>: PartialEq))]
|
#[cfg_attr(test, derive_where(PartialEq; M::List<ChatItemData<M>>: PartialEq))]
|
||||||
pub struct ChatData<M: Method> {
|
pub struct ChatData<M: Method> {
|
||||||
pub recipient: RecipientId,
|
pub recipient: RecipientId,
|
||||||
pub(super) items: M::List<ChatItemData<M>>,
|
pub items: M::List<ChatItemData<M>>,
|
||||||
pub expiration_timer: Option<Duration>,
|
pub expiration_timer: Option<Duration>,
|
||||||
pub mute_until: Option<Timestamp>,
|
pub mute_until: Option<Timestamp>,
|
||||||
pub style: Option<ChatStyle>,
|
pub style: Option<ChatStyle>,
|
||||||
|
@ -52,9 +52,6 @@ impl TryFrom<Vec<u8>> for Key {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
|
|
||||||
pub struct StickerId(u32);
|
|
||||||
|
|
||||||
#[derive(Debug, thiserror::Error, displaydoc::Display)]
|
#[derive(Debug, thiserror::Error, displaydoc::Display)]
|
||||||
#[cfg_attr(test, derive(PartialEq))]
|
#[cfg_attr(test, derive(PartialEq))]
|
||||||
pub enum StickerPackError {
|
pub enum StickerPackError {
|
||||||
@ -147,13 +144,13 @@ mod test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl proto::Sticker {
|
impl proto::Sticker {
|
||||||
pub(crate) const TEST_ID: StickerId = StickerId(9988);
|
pub(crate) const TEST_ID: u32 = 9988;
|
||||||
|
|
||||||
pub(crate) fn test_data() -> Self {
|
pub(crate) fn test_data() -> Self {
|
||||||
Self {
|
Self {
|
||||||
packId: proto::StickerPack::TEST_ID_BYTES.into(),
|
packId: proto::StickerPack::TEST_ID_BYTES.into(),
|
||||||
packKey: proto::StickerPack::TEST_KEY.into(),
|
packKey: proto::StickerPack::TEST_KEY.into(),
|
||||||
stickerId: Self::TEST_ID.0,
|
stickerId: Self::TEST_ID,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,10 +27,7 @@ pub mod key;
|
|||||||
pub mod parse;
|
pub mod parse;
|
||||||
pub mod unknown;
|
pub mod unknown;
|
||||||
|
|
||||||
#[cfg(not(feature = "expose-proto-types"))]
|
|
||||||
pub(crate) mod proto;
|
pub(crate) mod proto;
|
||||||
#[cfg(feature = "expose-proto-types")]
|
|
||||||
pub mod proto;
|
|
||||||
|
|
||||||
pub struct BackupReader<R> {
|
pub struct BackupReader<R> {
|
||||||
purpose: Purpose,
|
purpose: Purpose,
|
||||||
|
@ -19,9 +19,6 @@ macro_rules! impl_from_oneof {
|
|||||||
|
|
||||||
use self::backup::*;
|
use self::backup::*;
|
||||||
|
|
||||||
#[cfg(feature = "expose-proto-types")]
|
|
||||||
pub use self::backup::*;
|
|
||||||
|
|
||||||
impl_from_oneof!(
|
impl_from_oneof!(
|
||||||
chat_item::DirectionalDetails,
|
chat_item::DirectionalDetails,
|
||||||
chat_item::IncomingMessageDetails,
|
chat_item::IncomingMessageDetails,
|
||||||
|
@ -426,22 +426,22 @@ impl<S: AsyncDuplexStream> ClientResponseCollector<S> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Numeric code set by the server on the websocket close frame.
|
||||||
|
#[repr(u16)]
|
||||||
|
#[derive(Copy, Clone, num_enum::TryFromPrimitive, strum::IntoStaticStr)]
|
||||||
|
enum CdsiCloseCode {
|
||||||
|
InvalidArgument = 4003,
|
||||||
|
RateLimitExceeded = 4008,
|
||||||
|
ServerInternalError = 4013,
|
||||||
|
ServerUnavailable = 4014,
|
||||||
|
InvalidToken = 4101,
|
||||||
|
}
|
||||||
|
|
||||||
/// Produces a [`LookupError`] for the provided [`CloseFrame`].
|
/// Produces a [`LookupError`] for the provided [`CloseFrame`].
|
||||||
///
|
///
|
||||||
/// Returns `Some(err)` if there is a relevant `LookupError` value for the
|
/// Returns `Some(err)` if there is a relevant `LookupError` value for the
|
||||||
/// provided close frame. Otherwise returns `None`.
|
/// provided close frame. Otherwise returns `None`.
|
||||||
fn err_for_close(CloseFrame { code, reason }: CloseFrame<'_>) -> Option<LookupError> {
|
fn err_for_close(CloseFrame { code, reason }: CloseFrame<'_>) -> Option<LookupError> {
|
||||||
/// Numeric code set by the server on the websocket close frame.
|
|
||||||
#[repr(u16)]
|
|
||||||
#[derive(Copy, Clone, num_enum::TryFromPrimitive, strum::IntoStaticStr)]
|
|
||||||
enum CdsiCloseCode {
|
|
||||||
InvalidArgument = 4003,
|
|
||||||
RateLimitExceeded = 4008,
|
|
||||||
ServerInternalError = 4013,
|
|
||||||
ServerUnavailable = 4014,
|
|
||||||
InvalidToken = 4101,
|
|
||||||
}
|
|
||||||
|
|
||||||
let Ok(code) = CdsiCloseCode::try_from(u16::from(code)) else {
|
let Ok(code) = CdsiCloseCode::try_from(u16::from(code)) else {
|
||||||
log::warn!("got unexpected websocket error code: {code}",);
|
log::warn!("got unexpected websocket error code: {code}",);
|
||||||
return None;
|
return None;
|
||||||
|
@ -118,10 +118,10 @@ impl OpaqueMaskedShareSet {
|
|||||||
///
|
///
|
||||||
/// In its essence it is simply a union of three other error types:
|
/// In its essence it is simply a union of three other error types:
|
||||||
/// - libsignal_svr3::Error for the errors originating in the PPSS implementation. Most of them are
|
/// - libsignal_svr3::Error for the errors originating in the PPSS implementation. Most of them are
|
||||||
/// unlikely due to the way higher level APIs invoke the lower-level primitives from
|
/// unlikely due to the way higher level APIs invoke the lower-level primitives from
|
||||||
/// libsignal_svr3.
|
/// libsignal_svr3.
|
||||||
/// - DeserializeError for the errors deserializing the OpaqueMaskedShareSet that is stored as a
|
/// - DeserializeError for the errors deserializing the OpaqueMaskedShareSet that is stored as a
|
||||||
/// simple blob by the clients and may be corrupted.
|
/// simple blob by the clients and may be corrupted.
|
||||||
/// - libsignal_net::svr::Error for network related errors.
|
/// - libsignal_net::svr::Error for network related errors.
|
||||||
#[derive(Debug, Error, displaydoc::Display)]
|
#[derive(Debug, Error, displaydoc::Display)]
|
||||||
#[ignore_extra_doc_attributes]
|
#[ignore_extra_doc_attributes]
|
||||||
|
@ -75,9 +75,9 @@ fn main() {
|
|||||||
public_path,
|
public_path,
|
||||||
} => {
|
} => {
|
||||||
let key_pair = KeyPair::generate(key_ty.into());
|
let key_pair = KeyPair::generate(key_ty.into());
|
||||||
std::fs::write(secret_path, &key_pair.secret_key.serialize())
|
std::fs::write(secret_path, key_pair.secret_key.serialize())
|
||||||
.expect("can write to file");
|
.expect("can write to file");
|
||||||
std::fs::write(public_path, &key_pair.public_key.serialize())
|
std::fs::write(public_path, key_pair.public_key.serialize())
|
||||||
.expect("can write to file");
|
.expect("can write to file");
|
||||||
}
|
}
|
||||||
Command::Encapsulate { public_path } => {
|
Command::Encapsulate { public_path } => {
|
||||||
|
Loading…
Reference in New Issue
Block a user