Your message dated Sat, 15 Mar 2025 15:43:58 +0000
with message-id <e1tttg6-006o1p...@fasolo.debian.org>
and subject line Bug#1098278: fixed in rust-rustls-0.21 0.21.12-14
has caused the Debian Bug report #1098278,
regarding rust-rustls-0.21 - upcoming rustls-pemfile and rustls-native-certs 
updates.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1098278: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098278
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: rust-rustls-0.21

I hope to update rustls-pemfile to version 2 and rustls-native-certs to
version 0.8 in unstable after the new rust-rustls migrates to testing.
The new versions have been in experimental
for some time.

rustls-0.21 uses these crates for it's examples and tests,

I looked into backporting the upstream changes for rustls-pemfile
but it was mixed up with other changes, so I just fixed the
tests/examples myself.

rustls-native-certs is only used because of a debian patch, so there
was nothing to backport and again I fixed it myself.

diff -Nru rust-rustls-0.21-0.21.12/debian/changelog 
rust-rustls-0.21-0.21.12/debian/changelog
--- rust-rustls-0.21-0.21.12/debian/changelog   2025-02-16 20:06:41.000000000 
+0000
+++ rust-rustls-0.21-0.21.12/debian/changelog   2025-02-18 04:46:26.000000000 
+0000
@@ -1,3 +1,11 @@
+rust-rustls-0.21 (0.21.12-13.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add patch for rustls-pemfile 2.
+  * Add patch for rustls-native-certs 0.8
+
+ -- Peter Michael Green <plugw...@debian.org>  Tue, 18 Feb 2025 04:46:26 +0000
+
 rust-rustls-0.21 (0.21.12-13) unstable; urgency=medium
 
   * install tests to versioned directory;
diff -Nru rust-rustls-0.21-0.21.12/debian/control 
rust-rustls-0.21-0.21.12/debian/control
--- rust-rustls-0.21-0.21.12/debian/control     2025-02-16 20:04:20.000000000 
+0000
+++ rust-rustls-0.21-0.21.12/debian/control     2025-02-18 04:46:26.000000000 
+0000
@@ -13,8 +13,8 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-ring-0.17+default-dev,
- librust-rustls-native-certs-0.6+default-dev,
- librust-rustls-pemfile-1+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
+ librust-rustls-pemfile-2+default-dev,
  librust-rustls-webpki-0.101+alloc-dev,
  librust-rustls-webpki-0.101+default-dev (>= 0.101.7),
  librust-rustls-webpki-0.101+std-dev,
diff -Nru rust-rustls-0.21-0.21.12/debian/patches/2005_rustls_pemfile_2.patch 
rust-rustls-0.21-0.21.12/debian/patches/2005_rustls_pemfile_2.patch
--- rust-rustls-0.21-0.21.12/debian/patches/2005_rustls_pemfile_2.patch 
1970-01-01 00:00:00.000000000 +0000
+++ rust-rustls-0.21-0.21.12/debian/patches/2005_rustls_pemfile_2.patch 
2025-02-18 04:46:26.000000000 +0000
@@ -0,0 +1,291 @@
+Description: Support rustls-pemfile 2.
+ I looked through the upstream commits, but the switch to rustls-pemfile
+ 2 was done as part of a larger change, so I just fixed the compatibility
+ issues with rustls-pemfile 2 myself.
+Author: Peter Michael Green <plugw...@debian.org>
+Last-Update: 2025-02-18
+
+Index: rust-rustls-0.21-0.21.12/examples/Cargo.toml
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/examples/Cargo.toml
++++ rust-rustls-0.21-0.21.12/examples/Cargo.toml
+@@ -16,7 +16,7 @@ env_logger = ">= 0.10, <= 0.11"
+ log = { version = "0.4.4" }
+ mio = { version = ">= 0.8, <= 1", features = ["net", "os-poll"] }
+ rustls = { path = "../rustls", features = [ "logging" ]}
+-rustls-pemfile = "1.0.3"
++rustls-pemfile = "2"
+ sct = "0.7"
+ serde = "1.0"
+ serde_derive = "1.0"
+Index: rust-rustls-0.21-0.21.12/examples/src/bin/tlsclient-mio.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/examples/src/bin/tlsclient-mio.rs
++++ rust-rustls-0.21-0.21.12/examples/src/bin/tlsclient-mio.rs
+@@ -307,9 +307,7 @@ fn load_certs(filename: &str) -> Vec<rus
+     let certfile = fs::File::open(filename).expect("cannot open certificate 
file");
+     let mut reader = BufReader::new(certfile);
+     rustls_pemfile::certs(&mut reader)
+-        .unwrap()
+-        .iter()
+-        .map(|v| rustls::Certificate(v.clone()))
++        .map(|v| rustls::Certificate(v.unwrap().to_vec()))
+         .collect()
+ }
+ 
+@@ -319,9 +317,9 @@ fn load_private_key(filename: &str) -> r
+ 
+     loop {
+         match rustls_pemfile::read_one(&mut reader).expect("cannot parse 
private key .pem file") {
+-            Some(rustls_pemfile::Item::RSAKey(key)) => return 
rustls::PrivateKey(key),
+-            Some(rustls_pemfile::Item::PKCS8Key(key)) => return 
rustls::PrivateKey(key),
+-            Some(rustls_pemfile::Item::ECKey(key)) => return 
rustls::PrivateKey(key),
++            Some(rustls_pemfile::Item::Pkcs1Key(key)) => return 
rustls::PrivateKey(key.secret_pkcs1_der().to_vec()),
++            Some(rustls_pemfile::Item::Pkcs8Key(key)) => return 
rustls::PrivateKey(key.secret_pkcs8_der().to_vec()),
++            Some(rustls_pemfile::Item::Sec1Key(key)) => return 
rustls::PrivateKey(key.secret_sec1_der().to_vec()),
+             None => break,
+             _ => {}
+         }
+@@ -376,7 +374,7 @@ fn make_config(args: &Args) -> Arc<rustl
+ 
+         let certfile = fs::File::open(cafile).expect("Cannot open CA file");
+         let mut reader = BufReader::new(certfile);
+-        root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut 
reader).unwrap());
++        root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut 
reader).map(|x| x.unwrap().to_vec()).collect::<Vec<_>>());
+     } else {
+         for cert in rustls_native_certs::load_native_certs().expect("could 
not load platform certs") {
+             root_store
+Index: rust-rustls-0.21-0.21.12/examples/src/bin/tlsserver-mio.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/examples/src/bin/tlsserver-mio.rs
++++ rust-rustls-0.21-0.21.12/examples/src/bin/tlsserver-mio.rs
+@@ -515,9 +515,7 @@ fn load_certs(filename: &str) -> Vec<rus
+     let certfile = fs::File::open(filename).expect("cannot open certificate 
file");
+     let mut reader = BufReader::new(certfile);
+     rustls_pemfile::certs(&mut reader)
+-        .unwrap()
+-        .iter()
+-        .map(|v| rustls::Certificate(v.clone()))
++        .map(|v| rustls::Certificate(v.unwrap().to_vec()))
+         .collect()
+ }
+ 
+@@ -527,9 +525,9 @@ fn load_private_key(filename: &str) -> r
+ 
+     loop {
+         match rustls_pemfile::read_one(&mut reader).expect("cannot parse 
private key .pem file") {
+-            Some(rustls_pemfile::Item::RSAKey(key)) => return 
rustls::PrivateKey(key),
+-            Some(rustls_pemfile::Item::PKCS8Key(key)) => return 
rustls::PrivateKey(key),
+-            Some(rustls_pemfile::Item::ECKey(key)) => return 
rustls::PrivateKey(key),
++            Some(rustls_pemfile::Item::Pkcs1Key(key)) => return 
rustls::PrivateKey(key.secret_pkcs1_der().to_vec()),
++            Some(rustls_pemfile::Item::Pkcs8Key(key)) => return 
rustls::PrivateKey(key.secret_pkcs8_der().to_vec()),
++            Some(rustls_pemfile::Item::Sec1Key(key)) => return 
rustls::PrivateKey(key.secret_sec1_der().to_vec()),
+             None => break,
+             _ => {}
+         }
+Index: rust-rustls-0.21-0.21.12/rustls/Cargo.toml
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/rustls/Cargo.toml
++++ rust-rustls-0.21-0.21.12/rustls/Cargo.toml
+@@ -33,1 +33,1 @@
+-rustls-pemfile = "1.0.3"
++rustls-pemfile = "2"
+Index: rust-rustls-0.21-0.21.12/rustls/examples/internal/bench.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/rustls/examples/internal/bench.rs
++++ rust-rustls-0.21-0.21.12/rustls/examples/internal/bench.rs
+@@ -254,9 +254,7 @@ impl KeyType {
+         rustls_pemfile::certs(&mut io::BufReader::new(
+             fs::File::open(self.path_for("end.fullchain")).unwrap(),
+         ))
+-        .unwrap()
+-        .iter()
+-        .map(|v| rustls::Certificate(v.clone()))
++        .map(|v| rustls::Certificate(v.unwrap().to_vec()))
+         .collect()
+     }
+ 
+@@ -265,8 +263,8 @@ impl KeyType {
+             rustls_pemfile::pkcs8_private_keys(&mut io::BufReader::new(
+                 fs::File::open(self.path_for("end.key")).unwrap(),
+             ))
+-            .unwrap()[0]
+-                .clone(),
++            .next().unwrap().unwrap()
++                .secret_pkcs8_der().to_vec(),
+         )
+     }
+ 
+@@ -274,9 +272,7 @@ impl KeyType {
+         rustls_pemfile::certs(&mut io::BufReader::new(
+             fs::File::open(self.path_for("client.fullchain")).unwrap(),
+         ))
+-        .unwrap()
+-        .iter()
+-        .map(|v| rustls::Certificate(v.clone()))
++        .map(|v| rustls::Certificate(v.unwrap().to_vec()))
+         .collect()
+     }
+ 
+@@ -285,8 +281,8 @@ impl KeyType {
+             rustls_pemfile::pkcs8_private_keys(&mut io::BufReader::new(
+                 fs::File::open(self.path_for("client.key")).unwrap(),
+             ))
+-            .unwrap()[0]
+-                .clone(),
++            .next().unwrap().unwrap()
++                .secret_pkcs8_der().to_vec(),
+         )
+     }
+ }
+@@ -338,7 +334,7 @@ fn make_client_config(
+     let mut root_store = RootCertStore::empty();
+     let mut rootbuf =
+         
io::BufReader::new(fs::File::open(params.key_type.path_for("ca.cert")).unwrap());
+-    root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut 
rootbuf).unwrap());
++    root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut 
rootbuf).map(|x| x.unwrap()).collect::<Vec<_>>());
+ 
+     let cfg = ClientConfig::builder()
+         .with_cipher_suites(&[params.ciphersuite])
+Index: rust-rustls-0.21-0.21.12/rustls/examples/internal/bogo_shim.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/rustls/examples/internal/bogo_shim.rs
++++ rust-rustls-0.21-0.21.12/rustls/examples/internal/bogo_shim.rs
+@@ -159,18 +159,17 @@ fn load_cert(filename: &str) -> Vec<Cert
+     let certfile = fs::File::open(filename).expect("cannot open certificate 
file");
+     let mut reader = BufReader::new(certfile);
+     rustls_pemfile::certs(&mut reader)
+-        .unwrap()
+-        .iter()
+-        .map(|v| Certificate(v.clone()))
++        .map(|v| Certificate(v.unwrap().to_vec()))
+         .collect()
+ }
+ 
+ fn load_key(filename: &str) -> PrivateKey {
+     let keyfile = fs::File::open(filename).expect("cannot open private key 
file");
+     let mut reader = BufReader::new(keyfile);
+-    let keys = rustls_pemfile::pkcs8_private_keys(&mut reader).unwrap();
+-    assert!(keys.len() == 1);
+-    PrivateKey(keys[0].clone())
++    let mut keys = rustls_pemfile::pkcs8_private_keys(&mut reader);
++    let first = keys.next().unwrap();
++    assert!(keys.next().is_none());
++    PrivateKey(first.unwrap().secret_pkcs8_der().to_vec())
+ }
+ 
+ fn split_protocols(protos: &str) -> Vec<String> {
+Index: rust-rustls-0.21-0.21.12/rustls/tests/common/mod.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/rustls/tests/common/mod.rs
++++ rust-rustls-0.21-0.21.12/rustls/tests/common/mod.rs
+@@ -210,25 +210,21 @@ impl KeyType {
+ 
+     pub fn get_chain(&self) -> Vec<Certificate> {
+         rustls_pemfile::certs(&mut 
io::BufReader::new(self.bytes_for("end.fullchain")))
+-            .unwrap()
+-            .iter()
+-            .map(|v| Certificate(v.clone()))
++            .map(|v| Certificate(v.unwrap().to_vec()))
+             .collect()
+     }
+ 
+     pub fn get_key(&self) -> PrivateKey {
+         PrivateKey(
+             rustls_pemfile::pkcs8_private_keys(&mut 
io::BufReader::new(self.bytes_for("end.key")))
+-                .unwrap()[0]
+-                .clone(),
++                .next().unwrap().unwrap()
++                .secret_pkcs8_der().to_vec(),
+         )
+     }
+ 
+     pub fn get_client_chain(&self) -> Vec<Certificate> {
+         rustls_pemfile::certs(&mut 
io::BufReader::new(self.bytes_for("client.fullchain")))
+-            .unwrap()
+-            .iter()
+-            .map(|v| Certificate(v.clone()))
++            .map(|v| Certificate(v.unwrap().to_vec()))
+             .collect()
+     }
+ 
+@@ -237,10 +233,11 @@ impl KeyType {
+             rustls_pemfile::crls(&mut io::BufReader::new(
+                 self.bytes_for("client.revoked.crl.pem"),
+             ))
+-            .unwrap()
+             .into_iter()
+             .next() // We only expect one CRL.
+-            .unwrap(),
++            .unwrap()
++            .unwrap()
++            .to_vec(),
+         )
+     }
+ 
+@@ -249,8 +246,8 @@ impl KeyType {
+             rustls_pemfile::pkcs8_private_keys(&mut io::BufReader::new(
+                 self.bytes_for("client.key"),
+             ))
+-            .unwrap()[0]
+-                .clone(),
++            .next().unwrap().unwrap()
++                .secret_pkcs8_der().to_vec(),
+         )
+     }
+ }
+@@ -351,7 +348,7 @@ pub fn finish_client_config(
+ ) -> ClientConfig {
+     let mut root_store = RootCertStore::empty();
+     let mut rootbuf = io::BufReader::new(kt.bytes_for("ca.cert"));
+-    root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut 
rootbuf).unwrap());
++    root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut 
rootbuf).map(|x| x.unwrap()).collect::<Vec<_>>());
+ 
+     config
+         .with_root_certificates(root_store)
+@@ -364,7 +361,7 @@ pub fn finish_client_config_with_creds(
+ ) -> ClientConfig {
+     let mut root_store = RootCertStore::empty();
+     let mut rootbuf = io::BufReader::new(kt.bytes_for("ca.cert"));
+-    root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut 
rootbuf).unwrap());
++    root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut 
rootbuf).map(|x| x.unwrap()).collect::<Vec<_>>());
+ 
+     config
+         .with_root_certificates(root_store)
+Index: rust-rustls-0.21-0.21.12/rustls/src/key.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/rustls/src/key.rs
++++ rust-rustls-0.21-0.21.12/rustls/src/key.rs
+@@ -33,13 +33,15 @@ use crate::Error;
+ /// fn load_private_key_from_file(path: &str) -> Result<PrivateKey, Box<dyn 
std::error::Error>> {
+ ///     let file = File::open(&path)?;
+ ///     let mut reader = BufReader::new(file);
+-///     let mut keys = rustls_pemfile::pkcs8_private_keys(&mut reader)?;
++///     let mut keys = rustls_pemfile::pkcs8_private_keys(&mut reader);
+ ///
+-///     match keys.len() {
+-///         0 => Err(format!("No PKCS8-encoded private key found in 
{path}").into()),
+-///         1 => Ok(PrivateKey(keys.remove(0))),
+-///         _ => Err(format!("More than one PKCS8-encoded private key found 
in {path}").into()),
++///     let Some(key) = keys.next() else {
++///         return Err(format!("No PKCS8-encoded private key found in 
{path}").into());
++///     };
++///     if keys.next().is_some() {
++///         return Err(format!("More than one PKCS8-encoded private key found 
in {path}").into());
+ ///     }
++///     Ok(PrivateKey(key?.secret_pkcs8_der().to_vec()))
+ /// }
+ /// ```
+ #[derive(Debug, Clone, Eq, PartialEq)]
+@@ -76,9 +78,9 @@ pub struct PrivateKey(pub Vec<u8>);
+ /// fn load_certificates_from_pem(path: &str) -> 
std::io::Result<Vec<Certificate>> {
+ ///     let file = File::open(path)?;
+ ///     let mut reader = BufReader::new(file);
+-///     let certs = rustls_pemfile::certs(&mut reader)?;
++///     let certs = rustls_pemfile::certs(&mut reader);
+ ///
+-///     Ok(certs.into_iter().map(Certificate).collect())
++///     Ok(certs.map(|x| Certificate(x.unwrap().to_vec())).collect())
+ /// }
+ /// ```
+ #[derive(Clone, Eq, Hash, Ord, PartialEq, PartialOrd)]
diff -Nru 
rust-rustls-0.21-0.21.12/debian/patches/2006_rustls_native_certs_0.8.patch 
rust-rustls-0.21-0.21.12/debian/patches/2006_rustls_native_certs_0.8.patch
--- rust-rustls-0.21-0.21.12/debian/patches/2006_rustls_native_certs_0.8.patch  
1970-01-01 00:00:00.000000000 +0000
+++ rust-rustls-0.21-0.21.12/debian/patches/2006_rustls_native_certs_0.8.patch  
2025-02-18 04:46:26.000000000 +0000
@@ -0,0 +1,111 @@
+Description: use rustls-native-certs 0.8
+Author: Peter Michael Green <plugw...@debian.org>
+Last-Update: 2025-02-18
+
+Index: rust-rustls-0.21-0.21.12/examples/Cargo.toml
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/examples/Cargo.toml
++++ rust-rustls-0.21-0.21.12/examples/Cargo.toml
+@@ -20,7 +20,7 @@ rustls-pemfile = "1.0.3"
+ sct = "0.7"
+ serde = "1.0"
+ serde_derive = "1.0"
+-rustls-native-certs = "0.6"
++rustls-native-certs = "0.8"
+ 
+ [dev-dependencies]
+ regex = "1.0"
+Index: rust-rustls-0.21-0.21.12/examples/src/bin/limitedclient.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/examples/src/bin/limitedclient.rs
++++ rust-rustls-0.21-0.21.12/examples/src/bin/limitedclient.rs
+@@ -10,7 +10,7 @@ fn main() {
+     let mut root_store = rustls::RootCertStore::empty();
+     for cert in rustls_native_certs::load_native_certs().expect("could not 
load platform certs") {
+         root_store
+-            .add(&rustls::Certificate(cert.0))
++            .add(&rustls::Certificate(cert.to_vec()))
+             .unwrap();
+     }
+ 
+Index: rust-rustls-0.21-0.21.12/examples/src/bin/simple_0rtt_client.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/examples/src/bin/simple_0rtt_client.rs
++++ rust-rustls-0.21-0.21.12/examples/src/bin/simple_0rtt_client.rs
+@@ -60,7 +60,7 @@ fn main() {
+     let mut root_store = RootCertStore::empty();
+     for cert in rustls_native_certs::load_native_certs().expect("could not 
load platform certs") {
+         root_store
+-            .add(&rustls::Certificate(cert.0))
++            .add(&rustls::Certificate(cert.to_vec()))
+             .unwrap();
+     }
+ 
+Index: rust-rustls-0.21-0.21.12/examples/src/bin/simpleclient.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/examples/src/bin/simpleclient.rs
++++ rust-rustls-0.21-0.21.12/examples/src/bin/simpleclient.rs
+@@ -18,7 +18,7 @@ fn main() {
+     let mut root_store = RootCertStore::empty();
+     for cert in rustls_native_certs::load_native_certs().expect("could not 
load platform certs") {
+         root_store
+-            .add(&rustls::Certificate(cert.0))
++            .add(&rustls::Certificate(cert.to_vec()))
+             .unwrap();
+     }
+     let config = rustls::ClientConfig::builder()
+Index: rust-rustls-0.21-0.21.12/examples/src/bin/tlsclient-mio.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/examples/src/bin/tlsclient-mio.rs
++++ rust-rustls-0.21-0.21.12/examples/src/bin/tlsclient-mio.rs
+@@ -380,7 +380,7 @@ fn make_config(args: &Args) -> Arc<rustl
+     } else {
+         for cert in rustls_native_certs::load_native_certs().expect("could 
not load platform certs") {
+             root_store
+-                .add(&rustls::Certificate(cert.0))
++                .add(&rustls::Certificate(cert.to_vec()))
+                 .unwrap();
+         }
+     }
+Index: rust-rustls-0.21-0.21.12/rustls/Cargo.toml
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/rustls/Cargo.toml
++++ rust-rustls-0.21-0.21.12/rustls/Cargo.toml
+@@ -32,1 +32,1 @@
+-rustls-native-certs = "0.6"
++rustls-native-certs = "0.8"
+Index: rust-rustls-0.21-0.21.12/rustls/src/verifybench.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/rustls/src/verifybench.rs
++++ rust-rustls-0.21-0.21.12/rustls/src/verifybench.rs
+@@ -199,7 +199,7 @@ impl Context {
+         let mut roots = anchors::RootCertStore::empty();
+         for cert in rustls_native_certs::load_native_certs().expect("could 
not load platform certs") {
+             roots
+-                .add(&crate::Certificate(cert.0))
++                .add(&crate::Certificate(cert.to_vec()))
+                 .unwrap();
+         }
+         Self {
+Index: rust-rustls-0.21-0.21.12/rustls/src/lib.rs
+===================================================================
+--- rust-rustls-0.21-0.21.12.orig/rustls/src/lib.rs
++++ rust-rustls-0.21-0.21.12/rustls/src/lib.rs
+@@ -111,7 +111,7 @@
+ //! let mut root_store = rustls::RootCertStore::empty();
+ //! for cert in rustls_native_certs::load_native_certs().expect("could not 
load platform certs") {
+ //!     root_store
+-//!         .add(&rustls::Certificate(cert.0))
++//!         .add(&rustls::Certificate(cert.to_vec()))
+ //!         .unwrap();
+ //! }
+ //! ```
+@@ -136,7 +136,7 @@
+ //! # let mut root_store = rustls::RootCertStore::empty();
+ //! # for cert in rustls_native_certs::load_native_certs().expect("could not 
load platform certs") {
+ //! #     root_store
+-//! #         .add(&rustls::Certificate(cert.0))
++//! #         .add(&rustls::Certificate(cert.to_vec()))
+ //! #         .unwrap();
+ //! # }
+ //! # let config = rustls::ClientConfig::builder()
diff -Nru rust-rustls-0.21-0.21.12/debian/patches/series 
rust-rustls-0.21-0.21.12/debian/patches/series
--- rust-rustls-0.21-0.21.12/debian/patches/series      2025-02-16 
20:04:20.000000000 +0000
+++ rust-rustls-0.21-0.21.12/debian/patches/series      2025-02-18 
04:46:26.000000000 +0000
@@ -6,3 +6,5 @@
 2001_native_certs.patch
 2003_network_access.patch
 2004_no_feature_read_buf.patch
+2005_rustls_pemfile_2.patch
+2006_rustls_native_certs_0.8.patch
diff -Nru rust-rustls-0.21-0.21.12/debian/tests/control 
rust-rustls-0.21-0.21.12/debian/tests/control
--- rust-rustls-0.21-0.21.12/debian/tests/control       2025-02-16 
20:04:20.000000000 +0000
+++ rust-rustls-0.21-0.21.12/debian/tests/control       2025-02-18 
04:46:26.000000000 +0000
@@ -13,8 +13,8 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-rustls-0.21+default-dev,
- librust-rustls-native-certs-0.6+default-dev,
- librust-rustls-pemfile-1+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
+ librust-rustls-pemfile-2+default-dev,
  librust-serde-1+default-dev,
  librust-serde-derive-1+default-dev,
 Restrictions: allow-stderr
@@ -33,8 +33,8 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-rustls-0.21-dev,
- librust-rustls-native-certs-0.6+default-dev,
- librust-rustls-pemfile-1+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
+ librust-rustls-pemfile-2+default-dev,
  librust-rustversion-1-dev,
  librust-serde-1+default-dev,
  librust-serde-derive-1+default-dev,
@@ -53,8 +53,8 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-rustls-0.21-dev,
- librust-rustls-native-certs-0.6+default-dev,
- librust-rustls-pemfile-1+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
+ librust-rustls-pemfile-2+default-dev,
  librust-serde-1+default-dev,
  librust-serde-derive-1+default-dev,
 Restrictions: allow-stderr
@@ -72,8 +72,8 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-rustls-0.21+dangerous-configuration-dev,
- librust-rustls-native-certs-0.6+default-dev,
- librust-rustls-pemfile-1+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
+ librust-rustls-pemfile-2+default-dev,
  librust-serde-1+default-dev,
  librust-serde-derive-1+default-dev,
 Restrictions: allow-stderr
@@ -93,8 +93,8 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-rustls-0.21+logging-dev,
- librust-rustls-native-certs-0.6+default-dev,
- librust-rustls-pemfile-1+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
+ librust-rustls-pemfile-2+default-dev,
  librust-serde-1+default-dev,
  librust-serde-derive-1+default-dev,
 Restrictions: allow-stderr
@@ -113,8 +113,8 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-rustls-0.21+quic-dev,
- librust-rustls-native-certs-0.6+default-dev,
- librust-rustls-pemfile-1+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
+ librust-rustls-pemfile-2+default-dev,
  librust-serde-1+default-dev,
  librust-serde-derive-1+default-dev,
 Restrictions: allow-stderr
@@ -133,7 +133,7 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-rustls-0.21+secret-extraction-dev,
- librust-rustls-native-certs-0.6+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
  librust-rustls-pemfile-dev,
  librust-serde-1+default-dev,
  librust-serde-derive-1+default-dev,
@@ -153,7 +153,7 @@
  librust-mio-1+os-poll-dev,
  librust-regex-1+default-dev,
  librust-rustls-0.21+tls12-dev,
- librust-rustls-native-certs-0.6+default-dev,
+ librust-rustls-native-certs-0.8+default-dev,
  librust-rustls-pemfile-dev,
  librust-serde-1+default-dev,
  librust-serde-derive-1+default-dev,

--- End Message ---
--- Begin Message ---
Source: rust-rustls-0.21
Source-Version: 0.21.12-14
Done: Jonas Smedegaard <d...@jones.dk>

We believe that the bug you reported is fixed in the latest version of
rust-rustls-0.21, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1098...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jonas Smedegaard <d...@jones.dk> (supplier of updated rust-rustls-0.21 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sat, 15 Mar 2025 14:35:33 +0100
Source: rust-rustls-0.21
Architecture: source
Version: 0.21.12-14
Distribution: unstable
Urgency: medium
Maintainer: Jonas Smedegaard <d...@jones.dk>
Changed-By: Jonas Smedegaard <d...@jones.dk>
Closes: 1098278
Changes:
 rust-rustls-0.21 (0.21.12-14) unstable; urgency=medium
 .
   * add patch 2002 to use newer branch of crate rustls-pemfile;
     bump build- and autopkgtest-dependencies
     for crate rustls-pemfile;
     closes: bug#1098278,
     thanks to Peter Michael Green and Jeremy BĂ­cha
   * declare compliance with Debian Policy 4.7.2
Checksums-Sha1:
 51b3e769bd77b91dd7420ff45b4265eab15ea9bf 3311 rust-rustls-0.21_0.21.12-14.dsc
 d30e07f701353f727ed6980e9d6bf5103307f952 18236 
rust-rustls-0.21_0.21.12-14.debian.tar.xz
 fda33574a9a640f17b925653f1b4077a0032067d 11412 
rust-rustls-0.21_0.21.12-14_amd64.buildinfo
Checksums-Sha256:
 d2cf99a5c899f8e89f6e989d330a4d8287694133bf692baaf2dff33be2df6a87 3311 
rust-rustls-0.21_0.21.12-14.dsc
 8cdf8c860fccec7e9060512e9bee7d5502c4c69ed2662966d044c7cb34f21405 18236 
rust-rustls-0.21_0.21.12-14.debian.tar.xz
 8d97af8211e326ad656479ad823755ee71eb90dc0af7b0d938fa5f610eaad648 11412 
rust-rustls-0.21_0.21.12-14_amd64.buildinfo
Files:
 b93ccccb3c38c45eb75a4202ed9a33e5 3311 rust optional 
rust-rustls-0.21_0.21.12-14.dsc
 df2ae386f768fcccc348f49a53e96e72 18236 rust optional 
rust-rustls-0.21_0.21.12-14.debian.tar.xz
 e615f587db5170ca24ea8a22308faf75 11412 rust optional 
rust-rustls-0.21_0.21.12-14_amd64.buildinfo


-----BEGIN PGP SIGNATURE-----

wsG7BAEBCgBvBYJn1YVUCRAsfDFGwaABIUcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmc6i1TcQq0LWhbKFUHjL71vmjQL8NCuz+WxbIdr0ggn
qhYhBJ/j6cNmkaaf9TzGhCx8MUbBoAEhAACm4Q/7ByG9bnRyO2Kxr+W3v+ssAIO1
z4edbs8ikZg9Cy7syryb17EOoJlnOE3beXvriLFS6JVY7riJrxf7JXaxGGsmqr5Z
/lssrGclq0+bZ5zaInZiw+nd9uLKYauLP1jjVCFIPpgs5jEN5c6l/pGAjZi9Z8Gm
whjkZHc8eJWilF7kMPjc7UQtv/ztFT9p42W4RrHHCjvnkPruzvfWZuZvGdOZHPVZ
gcJHVTnYnaBbLIhMv7Hik2Flc4D8Wsoz8zbUcWisN70RpKCHvt7Op+t3yXrhEmme
p/vBhpSLnANrtGmGT3qTrHZ64Lt74oD779ffcZBBCpL2RdcbpEgfV23WKEf6u1Dx
BwmqYtAB2mbj4QcKFOeDLYl+ZKbmkxNFst3B89k/nSamF8i12VnmMuLmmDaCXlxh
CE+RlEHGY1Z6U7VFQPFmuElXiFksPfmjutKE/ppzr19XboA+3ZHPtnNS3hrx7sqn
FGl138hNXH9Jl4PcRJ7mHuxxcoW5aT5s2RMNYTq+eisQQl+fIRNRFGpeilqh3Bgp
OVDavSKYrzfRhDTEWNuMHhWVe86gsITXcnoWrGJgrcuob/B8igm9ECLXlCfkCuwk
yXJkxayaHkwswJ/lcTJeWU69QGMx6I92820viMgQu2ZbjCZIUQO51f50SVbgCSEw
icf9bj41iwtr3JFZFLE=
=09Cb
-----END PGP SIGNATURE-----

Attachment: pgpA_OOY28RWa.pgp
Description: PGP signature


--- End Message ---

Reply via email to