nrdxp / cfdyndns

CloudFlare Dynamic DNS Client
MIT License
12 stars 15 forks source link

Bump deps, determine the new MSRV #13

Closed yvt closed 1 year ago

yvt commented 2 years ago

net2 0.2.33 contains a serious memory bug RUSTSEC-2020-0078. This bug started manifesting itself in Rust 1.64.0 because of the SocketAddr layout optimization in https://github.com/rust-lang/rust/pull/78802/.

cfdyndns is no longer able to connect to a server when built by nixpkgs-unstable buildRustPackage, which has recently been updated to use Rust 1.64.0. Since strace shows connection attempts with malformed socket addresses, I think cfdyndns is affected by this bug.

[pid 3541684] connect(6, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\273\1&\6G\0000\n\0\0\0\0\0\0h\23\300\35\0\0"}, 28) = 0                                                                                                                                                 
[pid 3541684] sendto(6, "[...]"..., 517, MSG_NOSIGNAL, NULL, 0) = -1 EPIPE (Broken pipe)
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Request, url: "https://api.cloudflare.com/client/v4/zones", source: hyper::Error(Connect, Ssl(Error { code: ErrorCode(5), cause: Some(Io(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })) }, X509VerifyResult { code: 0, error: "ok" })) }', src/main.rs:47:10                                                                                        
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace      
nrdxp commented 1 year ago

closing, as this has already been done since I took over the repo