0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-19 19:42:19 +02:00

Upgrade rustc to latest nightly

This commit is contained in:
Alex Konradi 2024-06-25 11:31:59 -04:00 committed by GitHub
parent 49f9fa5498
commit b064ec78c5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
27 changed files with 92 additions and 149 deletions

17
Cargo.lock generated
View File

@ -1047,9 +1047,9 @@ dependencies = [
[[package]]
name = "displaydoc"
version = "0.2.4"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
@ -1505,6 +1505,12 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "hermit-abi"
version = "0.3.9"
@ -2131,6 +2137,7 @@ dependencies = [
"signal-crypto",
"smallvec",
"strum",
"strum_macros",
"subtle",
"test-case",
"test-log",
@ -3867,11 +3874,11 @@ dependencies = [
[[package]]
name = "strum_macros"
version = "0.26.2"
version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
dependencies = [
"heck 0.4.1",
"heck 0.5.0",
"proc-macro2",
"quote",
"rustversion",

View File

@ -46,7 +46,7 @@
<h2>Overview of licenses:</h2>
<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="#Apache-2.0">Apache License 2.0</a> (12)</li>
<li><a href="#BSD-3-Clause">BSD 3-Clause &quot;New&quot; or &quot;Revised&quot; 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/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.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/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>
@ -6347,7 +6348,7 @@ SOFTWARE.
<h4>Used by:</h4>
<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_macros 0.26.2</a></li>
<li><a href="https://github.com/Peternator7/strum">strum_macros 0.26.4</a></li>
</ul>
<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/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/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/smol-rs/fastrand">fastrand 2.1.0</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
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
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 &quot;Software&quot;), 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 &quot;AS IS&quot;, 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>
</li>
<li class="license">

View File

@ -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
@ -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
@ -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
@ -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
```

View File

@ -3425,7 +3425,7 @@ DEALINGS IN THE SOFTWARE.
<key>License</key>
<string>MIT License</string>
<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>
<string>PSGroupSpecifier</string>
</dict>
@ -6480,7 +6480,7 @@ SOFTWARE.
<key>License</key>
<string>MIT License</string>
<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>
<string>PSGroupSpecifier</string>
</dict>
@ -6894,40 +6894,7 @@ DEALINGS IN THE SOFTWARE.
<key>License</key>
<string>MIT License</string>
<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>
<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 &quot;Software&quot;), 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 &quot;AS IS&quot;, 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>
<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>

View File

@ -109,6 +109,7 @@ def main(args=None):
if 'npm_package_version' in cargo_env:
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.wait()

View File

@ -1 +1 @@
nightly-2024-02-14
nightly-2024-06-21

View File

@ -45,3 +45,6 @@ test-case = "3.3"
[build-dependencies]
prost-build = "0.12"
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }

View File

@ -292,7 +292,12 @@ impl TryFrom<[u8; std::mem::size_of::<EndorsementsHeader>()]> for EndorsementsHe
type Error = super::Error;
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))
}
}
}

View File

@ -154,7 +154,8 @@ impl TryFrom<[u8; std::mem::size_of::<SgxQuoteBody>()]> for SgxQuoteBody {
type Error = super::Error;
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 {
return Err(Error::new(format!(
"unsupported SGX quote version: {}",
@ -350,7 +351,9 @@ impl TryFrom<[u8; std::mem::size_of::<SgxEcdsaSignatureHeader>()]> for SgxEcdsaS
fn try_from(
bytes: [u8; std::mem::size_of::<SgxEcdsaSignatureHeader>()],
) -> super::Result<Self> {
Ok(unsafe { transmute(bytes) })
Ok(unsafe {
transmute::<[u8; std::mem::size_of::<SgxEcdsaSignatureHeader>()], Self>(bytes)
})
}
}

View File

@ -121,6 +121,6 @@ impl TryFrom<[u8; std::mem::size_of::<SgxReportBody>()]> for SgxReportBody {
type Error = super::Error;
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)) }
}
}

View File

@ -45,9 +45,13 @@ pub struct Signature<'a>(&'a [u8]);
#[derive(Debug)]
pub struct Clock {
#[allow(unused)]
pub millis_since_clear: u64,
#[allow(unused)]
pub resets: u32,
#[allow(unused)]
pub restarts: u32,
#[allow(unused)]
pub is_safe: bool,
}

17
rust/bridge/node/build.rs Normal file
View 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");
}
}

View File

@ -87,7 +87,7 @@ impl<T> OwnedBufferOf<T> {
/// Callers of this function must ensure that
/// - the `OwnedBufferOf` was originally created from `Box`
/// - any C code operating on the buffer left all its elements in a valid
/// state.
/// state.
pub unsafe fn into_box(self) -> Box<[T]> {
let Self { base, length } = self;
if base.is_null() {

View File

@ -231,7 +231,7 @@ impl SignalNodeError for SignalProtocolError {
Some(error) => cx.throw(error),
None => {
// Make sure we still throw something.
cx.throw_error(&self.to_string())
cx.throw_error(self.to_string())
}
}
}

View File

@ -695,7 +695,7 @@ impl ProtocolAddress {
/// Create a new address.
///
/// - `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
/// all clients for that user.
///

View File

@ -10,7 +10,7 @@ futures-util = "0.3.7"
mediasan-common = "0.5.0"
mp4san = { version = "0.5.0", optional = true }
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]
default = ["mp4san", "webpsan"]

View File

@ -37,7 +37,7 @@ cbc = "0.1.2"
clap = { version = "4.2.1", features = ["derive"] }
clap-stdin = "0.3.0"
derive-where = "1.2.5"
displaydoc = "0.2.4"
displaydoc = "0.2.5"
env_logger = "0.10.0"
futures = "0.3.29"
hex = "0.4.3"
@ -54,6 +54,10 @@ serde_json = { version = "1.0", optional = true }
sha2 = "0.10"
smallvec = "1.13.2"
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"
thiserror = "1.0.50"
uuid = "1.1.2"

View File

@ -10,7 +10,7 @@ authors = ["Signal Messenger LLC"]
license = "AGPL-3.0-only"
[lib]
proc_macro = true
proc-macro = true
[dependencies]
heck = "0.3.1"

View File

@ -34,7 +34,6 @@ tokens_alias!(
VisitContainerUnknownFields,
crate::unknown::visit_static::VisitContainerUnknownFields
);
tokens_alias!(UnknownFieldVisitor, crate::unknown::UnknownFieldVisitor);
tokens_alias!(Visitor, crate::unknown::visit_static::Visitor);
tokens_alias!(PathType, crate::unknown::Path<'_>);
tokens_alias!(Path, crate::unknown::Path);

View File

@ -51,10 +51,10 @@ pub struct CompletedBackup<M: Method> {
#[derive_where(Default)]
struct ChatsData<M: Method> {
items: HashMap<ChatId, ChatData<M>>,
pinned: Vec<(PinOrder, RecipientId)>,
pub items: HashMap<ChatId, ChatData<M>>,
pub pinned: Vec<(PinOrder, RecipientId)>,
/// 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)]

View File

@ -140,7 +140,7 @@ pub struct InvalidExpiration {
#[cfg_attr(test, derive_where(PartialEq; M::List<ChatItemData<M>>: PartialEq))]
pub struct ChatData<M: Method> {
pub recipient: RecipientId,
pub(super) items: M::List<ChatItemData<M>>,
pub items: M::List<ChatItemData<M>>,
pub expiration_timer: Option<Duration>,
pub mute_until: Option<Timestamp>,
pub style: Option<ChatStyle>,

View File

@ -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)]
#[cfg_attr(test, derive(PartialEq))]
pub enum StickerPackError {
@ -147,13 +144,13 @@ mod test {
}
impl proto::Sticker {
pub(crate) const TEST_ID: StickerId = StickerId(9988);
pub(crate) const TEST_ID: u32 = 9988;
pub(crate) fn test_data() -> Self {
Self {
packId: proto::StickerPack::TEST_ID_BYTES.into(),
packKey: proto::StickerPack::TEST_KEY.into(),
stickerId: Self::TEST_ID.0,
stickerId: Self::TEST_ID,
..Default::default()
}
}

View File

@ -27,10 +27,7 @@ pub mod key;
pub mod parse;
pub mod unknown;
#[cfg(not(feature = "expose-proto-types"))]
pub(crate) mod proto;
#[cfg(feature = "expose-proto-types")]
pub mod proto;
pub struct BackupReader<R> {
purpose: Purpose,

View File

@ -19,9 +19,6 @@ macro_rules! impl_from_oneof {
use self::backup::*;
#[cfg(feature = "expose-proto-types")]
pub use self::backup::*;
impl_from_oneof!(
chat_item::DirectionalDetails,
chat_item::IncomingMessageDetails,

View File

@ -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`].
///
/// Returns `Some(err)` if there is a relevant `LookupError` value for the
/// provided close frame. Otherwise returns `None`.
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 {
log::warn!("got unexpected websocket error code: {code}",);
return None;

View File

@ -118,10 +118,10 @@ impl OpaqueMaskedShareSet {
///
/// 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
/// unlikely due to the way higher level APIs invoke the lower-level primitives from
/// libsignal_svr3.
/// unlikely due to the way higher level APIs invoke the lower-level primitives from
/// libsignal_svr3.
/// - 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.
#[derive(Debug, Error, displaydoc::Display)]
#[ignore_extra_doc_attributes]

View File

@ -75,9 +75,9 @@ fn main() {
public_path,
} => {
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");
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");
}
Command::Encapsulate { public_path } => {