File: rustls-pemfile.patch

package info (click to toggle)
rust-irc 1.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 428 kB
  • sloc: makefile: 2
file content (33 lines) | stat: -rw-r--r-- 1,292 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Index: irc/Cargo.toml
===================================================================
--- irc.orig/Cargo.toml
+++ irc/Cargo.toml
@@ -68,7 +68,7 @@ version = "0.12.1"
 version = "1.0.12"
 
 [dependencies.rustls-pemfile]
-version = "1.0.2"
+version = "2"
 optional = true
 
 [dependencies.serde]
Index: irc/src/client/conn.rs
===================================================================
--- irc.orig/src/client/conn.rs
+++ irc/src/client/conn.rs
@@ -246,13 +246,13 @@ impl Connection {
 
         let client_auth = if let Some(client_cert_path) = config.client_cert_path() {
             if let Ok(file) = File::open(client_cert_path) {
-                let client_cert_data = certs(&mut BufReader::new(file)).map_err(|_| {
+                let client_cert_data = certs(&mut BufReader::new(file)).collect::<Result<Vec<_>, _>>().map_err(|_| {
                     error::Error::Io(Error::new(ErrorKind::InvalidInput, "invalid cert"))
                 })?;
 
                 let client_cert_data = client_cert_data
                     .into_iter()
-                    .map(Certificate)
+                    .map(|cert| Certificate(cert.to_vec()))
                     .collect::<Vec<_>>();
 
                 let client_cert_pass = PrivateKey(Vec::from(config.client_cert_pass()));