From 9b33ffca5dbe145af64c8708eb52d854f05cb4c2 Mon Sep 17 00:00:00 2001 From: zonyitoo Date: Tue, 30 Nov 2021 20:20:35 +0800 Subject: [PATCH] upgrade etherparse 0.10 --- Cargo.lock | 9 +++------ Cargo.toml | 2 +- crates/shadowsocks-service/Cargo.toml | 2 +- crates/shadowsocks-service/src/local/tun/mod.rs | 16 ++++++++-------- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3cc61fdd..0acf2a4f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -361,12 +361,9 @@ dependencies = [ [[package]] name = "etherparse" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fa20922281f9ee5ffcda45e80d56085829279f1270f79fbabc39809a4354807" -dependencies = [ - "byteorder", -] +checksum = "9feedaea5a9f602932e78b512b2fde69aaefd2ef4fd5fd744238f7424b246186" [[package]] name = "exitcode" @@ -1665,7 +1662,7 @@ dependencies = [ [[package]] name = "shadowsocks-rust" -version = "1.12.4" +version = "1.12.5" dependencies = [ "build-time", "byte_string", diff --git a/Cargo.toml b/Cargo.toml index 4eb70778..4d51a2f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shadowsocks-rust" -version = "1.12.4" +version = "1.12.5" authors = ["Shadowsocks Contributors"] description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls." repository = "https://github.com/shadowsocks/shadowsocks-rust" diff --git a/crates/shadowsocks-service/Cargo.toml b/crates/shadowsocks-service/Cargo.toml index b2244cbe..4ebdc880 100644 --- a/crates/shadowsocks-service/Cargo.toml +++ b/crates/shadowsocks-service/Cargo.toml @@ -112,7 +112,7 @@ iprange = "0.6" regex = "1.4" tun = { version = "0.5.3", optional = true, features = ["async"] } -etherparse = { version = "0.9", optional = true } +etherparse = { version = "0.10", optional = true } serde = { version = "1.0", features = ["derive"] } json5 = "0.4" diff --git a/crates/shadowsocks-service/src/local/tun/mod.rs b/crates/shadowsocks-service/src/local/tun/mod.rs index c47fa3b0..6abd19d5 100644 --- a/crates/shadowsocks-service/src/local/tun/mod.rs +++ b/crates/shadowsocks-service/src/local/tun/mod.rs @@ -241,8 +241,8 @@ impl Tun { }; let (src_ip, dst_ip) = match *ip_header { - IpHeader::Version4(ref v4) => (Ipv4Addr::from(v4.source).into(), Ipv4Addr::from(v4.destination).into()), - IpHeader::Version6(ref v6) => (Ipv6Addr::from(v6.source).into(), Ipv6Addr::from(v6.destination).into()), + IpHeader::Version4(ref v4, ..) => (Ipv4Addr::from(v4.source).into(), Ipv4Addr::from(v4.destination).into()), + IpHeader::Version6(ref v6, ..) => (Ipv6Addr::from(v6.source).into(), Ipv6Addr::from(v6.destination).into()), }; match ph.transport { @@ -266,24 +266,24 @@ impl Tun { // Replaces IP_HEADER, TRANSPORT_HEADER directly into packet match (mod_src_addr, &mut ip_header) { - (SocketAddr::V4(v4addr), IpHeader::Version4(v4ip)) => v4ip.source = v4addr.ip().octets(), - (SocketAddr::V6(v6addr), IpHeader::Version6(v6ip)) => v6ip.source = v6addr.ip().octets(), + (SocketAddr::V4(v4addr), IpHeader::Version4(v4ip, ..)) => v4ip.source = v4addr.ip().octets(), + (SocketAddr::V6(v6addr), IpHeader::Version6(v6ip, ..)) => v6ip.source = v6addr.ip().octets(), _ => unreachable!("modified saddr not match"), } tcp_header.source_port = mod_src_addr.port(); match (mod_dst_addr, &mut ip_header) { - (SocketAddr::V4(v4addr), IpHeader::Version4(v4ip)) => v4ip.destination = v4addr.ip().octets(), - (SocketAddr::V6(v6addr), IpHeader::Version6(v6ip)) => v6ip.destination = v6addr.ip().octets(), + (SocketAddr::V4(v4addr), IpHeader::Version4(v4ip, ..)) => v4ip.destination = v4addr.ip().octets(), + (SocketAddr::V6(v6addr), IpHeader::Version6(v6ip, ..)) => v6ip.destination = v6addr.ip().octets(), _ => unreachable!("modified daddr not match"), } tcp_header.destination_port = mod_dst_addr.port(); match ip_header { - IpHeader::Version4(v4) => { + IpHeader::Version4(v4, ..) => { tcp_header.checksum = tcp_header .calc_checksum_ipv4(v4, ph.payload) .expect("calc_checksum_ipv4") } - IpHeader::Version6(v6) => { + IpHeader::Version6(v6, ..) => { tcp_header.checksum = tcp_header .calc_checksum_ipv6(v6, ph.payload) .expect("calc_checksum_ipv6")