upgrade etherparse 0.10

This commit is contained in:
zonyitoo
2021-11-30 20:20:35 +08:00
parent d5c54af96b
commit 9b33ffca5d
4 changed files with 13 additions and 16 deletions
Generated
+3 -6
View File
@@ -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",
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"
@@ -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")