fix(deps): update rust crate socket2 to 0.6 (#1984)

* fix(deps): update rust crate socket2 to 0.6

* fix: socket2 0.6 compatible

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: zonyitoo <zonyitoo@gmail.com>
This commit is contained in:
renovate[bot]
2025-07-06 02:04:09 +08:00
committed by GitHub
parent c1def63247
commit fa9aad3bbd
8 changed files with 44 additions and 31 deletions

28
Cargo.lock generated
View File

@@ -1602,7 +1602,7 @@ dependencies = [
"libc",
"percent-encoding",
"pin-project-lite",
"socket2",
"socket2 0.5.10",
"system-configuration",
"tokio",
"tower-service",
@@ -1797,7 +1797,7 @@ version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
dependencies = [
"socket2",
"socket2 0.5.10",
"widestring",
"windows-sys 0.48.0",
"winreg 0.50.0",
@@ -2703,7 +2703,7 @@ dependencies = [
"quinn-udp",
"rustc-hash 2.1.1",
"rustls",
"socket2",
"socket2 0.5.10",
"thiserror 2.0.12",
"tokio",
"tracing",
@@ -2740,7 +2740,7 @@ dependencies = [
"cfg_aliases",
"libc",
"once_cell",
"socket2",
"socket2 0.5.10",
"tracing",
"windows-sys 0.59.0",
]
@@ -3360,7 +3360,7 @@ dependencies = [
"serde_json",
"serde_urlencoded",
"shadowsocks-crypto",
"socket2",
"socket2 0.6.0",
"spin",
"thiserror 2.0.12",
"tokio",
@@ -3476,7 +3476,7 @@ dependencies = [
"serde",
"shadowsocks",
"smoltcp",
"socket2",
"socket2 0.6.0",
"spin",
"thiserror 2.0.12",
"tokio",
@@ -3592,6 +3592,16 @@ dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "socket2"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
dependencies = [
"libc",
"windows-sys 0.59.0",
]
[[package]]
name = "spin"
version = "0.10.0"
@@ -3880,7 +3890,7 @@ dependencies = [
"pin-project-lite",
"signal-hook-registry",
"slab",
"socket2",
"socket2 0.5.10",
"tokio-macros",
"windows-sys 0.52.0",
]
@@ -3928,7 +3938,7 @@ dependencies = [
"log",
"once_cell",
"pin-project",
"socket2",
"socket2 0.5.10",
"tokio",
"windows-sys 0.52.0",
]
@@ -4375,7 +4385,7 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [
"windows-sys 0.48.0",
"windows-sys 0.59.0",
]
[[package]]

View File

@@ -157,7 +157,7 @@ tokio-rustls = { version = "0.26", optional = true, default-features = false, fe
rustls-native-certs = { version = "0.8", optional = true }
trait-variant = "0.1"
socket2 = { version = "0.5", features = ["all"] }
socket2 = { version = "0.6", features = ["all"] }
libc = "~0.2.141"
hyper = { version = "1.4", optional = true, features = ["full"] }

View File

@@ -74,7 +74,7 @@ trait-variant = "0.1"
dynosaur = "0.2.0"
sealed = "0.6"
socket2 = { version = "0.5", features = ["all"] }
socket2 = { version = "0.6", features = ["all"] }
tokio = { version = "1.9.0", features = [
"io-util",
"macros",

View File

@@ -11,7 +11,7 @@ use std::{
use log::{debug, error, warn};
use pin_project::pin_project;
use socket2::{Domain, Protocol, SockAddr, Socket, Type};
use socket2::{Domain, Protocol, SockAddr, SockAddrStorage, Socket, Type};
use tokio::{
io::{AsyncRead, AsyncWrite, ReadBuf},
net::{TcpSocket, TcpStream as TokioTcpStream, UdpSocket},
@@ -277,8 +277,9 @@ static SUPPORT_BATCH_SEND_RECV_MSG: AtomicBool = AtomicBool::new(true);
fn recvmsg_fallback<S: AsRawFd>(sock: &S, msg: &mut BatchRecvMessage<'_>) -> io::Result<()> {
let mut hdr: libc::msghdr = unsafe { mem::zeroed() };
let addr_storage: libc::sockaddr_storage = unsafe { mem::zeroed() };
let addr_len = mem::size_of_val(&addr_storage) as libc::socklen_t;
let addr_storage = SockAddrStorage::zeroed();
let addr_len = addr_storage.size_of() as libc::socklen_t;
let sock_addr = unsafe { SockAddr::new(addr_storage, addr_len) };
hdr.msg_name = sock_addr.as_ptr() as *mut _;
hdr.msg_namelen = sock_addr.len() as _;
@@ -313,8 +314,8 @@ pub fn batch_recvmsg<S: AsRawFd>(sock: &S, msgs: &mut [BatchRecvMessage<'_>]) ->
for msg in msgs.iter_mut() {
let mut hdr: libc::mmsghdr = unsafe { mem::zeroed() };
let addr_storage: libc::sockaddr_storage = unsafe { mem::zeroed() };
let addr_len = mem::size_of_val(&addr_storage) as libc::socklen_t;
let addr_storage = SockAddrStorage::zeroed();
let addr_len = addr_storage.size_of() as libc::socklen_t;
vec_msg_name.push(unsafe { SockAddr::new(addr_storage, addr_len) });
let sock_addr = vec_msg_name.last_mut().unwrap();

View File

@@ -14,7 +14,7 @@ use std::{
use log::{debug, error, warn};
use pin_project::pin_project;
use socket2::{Domain, Protocol, SockAddr, Socket, Type};
use socket2::{Domain, Protocol, SockAddr, SockAddrStorage, Socket, Type};
use tokio::{
io::{AsyncRead, AsyncWrite, Interest, ReadBuf},
net::{TcpSocket, TcpStream as TokioTcpStream, UdpSocket},
@@ -85,7 +85,7 @@ impl TcpStream {
let raddr = SockAddr::from(addr);
let mut endpoints: libc::sa_endpoints_t = mem::zeroed();
endpoints.sae_dstaddr = raddr.as_ptr();
endpoints.sae_dstaddr = raddr.as_ptr() as *const _;
endpoints.sae_dstaddrlen = raddr.len();
let ret = libc::connectx(
@@ -428,8 +428,9 @@ static SUPPORT_BATCH_SEND_RECV_MSG: AtomicBool = AtomicBool::new(true);
fn recvmsg_fallback<S: AsRawFd>(sock: &S, msg: &mut BatchRecvMessage<'_>) -> io::Result<()> {
let mut hdr: libc::msghdr = unsafe { mem::zeroed() };
let addr_storage: libc::sockaddr_storage = unsafe { mem::zeroed() };
let addr_len = mem::size_of_val(&addr_storage) as libc::socklen_t;
let addr_storage = SockAddrStorage::zeroed();
let addr_len = addr_storage.size_of() as libc::socklen_t;
let sock_addr = unsafe { SockAddr::new(addr_storage, addr_len) };
hdr.msg_name = sock_addr.as_ptr() as *mut _;
hdr.msg_namelen = sock_addr.len() as _;
@@ -464,8 +465,8 @@ pub fn batch_recvmsg<S: AsRawFd>(sock: &S, msgs: &mut [BatchRecvMessage<'_>]) ->
for msg in msgs.iter_mut() {
let mut hdr: msghdr_x = unsafe { mem::zeroed() };
let addr_storage: libc::sockaddr_storage = unsafe { mem::zeroed() };
let addr_len = mem::size_of_val(&addr_storage) as libc::socklen_t;
let addr_storage = SockAddrStorage::zeroed();
let addr_len = addr_storage.size_of() as libc::socklen_t;
vec_msg_name.push(unsafe { SockAddr::new(addr_storage, addr_len) });
let sock_addr = vec_msg_name.last_mut().unwrap();

View File

@@ -11,7 +11,7 @@ use std::{
use log::{debug, error, warn};
use pin_project::pin_project;
use socket2::{Domain, Protocol, SockAddr, Socket, Type};
use socket2::{Domain, Protocol, SockAddr, SockAddrStorage, Socket, Type};
use tokio::{
io::{AsyncRead, AsyncWrite, ReadBuf},
net::{TcpSocket, TcpStream as TokioTcpStream, UdpSocket},
@@ -439,8 +439,9 @@ static SUPPORT_BATCH_SEND_RECV_MSG: AtomicBool = AtomicBool::new(true);
fn recvmsg_fallback<S: AsRawFd>(sock: &S, msg: &mut BatchRecvMessage<'_>) -> io::Result<()> {
let mut hdr: libc::msghdr = unsafe { mem::zeroed() };
let addr_storage: libc::sockaddr_storage = unsafe { mem::zeroed() };
let addr_len = mem::size_of_val(&addr_storage) as libc::socklen_t;
let addr_storage = SockAddrStorage::zeroed();
let addr_len = addr_storage.size_of() as libc::socklen_t;
let sock_addr = unsafe { SockAddr::new(addr_storage, addr_len) };
hdr.msg_name = sock_addr.as_ptr() as *mut _;
hdr.msg_namelen = sock_addr.len() as _;
@@ -475,8 +476,8 @@ pub fn batch_recvmsg<S: AsRawFd>(sock: &S, msgs: &mut [BatchRecvMessage<'_>]) ->
for msg in msgs.iter_mut() {
let mut hdr: libc::mmsghdr = unsafe { mem::zeroed() };
let addr_storage: libc::sockaddr_storage = unsafe { mem::zeroed() };
let addr_len = mem::size_of_val(&addr_storage) as libc::socklen_t;
let addr_storage = SockAddrStorage::zeroed();
let addr_len = addr_storage.size_of() as libc::socklen_t;
vec_msg_name.push(unsafe { SockAddr::new(addr_storage, addr_len) });
let sock_addr = vec_msg_name.last_mut().unwrap();

View File

@@ -112,7 +112,7 @@ pub fn set_common_sockopt_after_connect<S: AsRawFd>(stream: &S, opts: &ConnectOp
fn set_common_sockopt_after_connect_impl(socket: &Socket, opts: &ConnectOpts) -> io::Result<()> {
if opts.tcp.nodelay {
socket.set_nodelay(true)?;
socket.set_tcp_nodelay(true)?;
}
set_tcp_keepalive(socket, &opts.tcp)?;
@@ -133,7 +133,7 @@ fn set_common_sockopt_after_accept_impl(socket: &Socket, opts: &AcceptOpts) -> i
socket.set_recv_buffer_size(buf_size as usize)?;
}
socket.set_nodelay(opts.tcp.nodelay)?;
socket.set_tcp_nodelay(opts.tcp.nodelay)?;
set_tcp_keepalive(socket, &opts.tcp)?;

View File

@@ -526,7 +526,7 @@ pub fn set_common_sockopt_after_connect<S: AsRawSocket>(stream: &S, opts: &Conne
fn set_common_sockopt_after_connect_impl(socket: &Socket, opts: &ConnectOpts) -> io::Result<()> {
if opts.tcp.nodelay {
socket.set_nodelay(true)?;
socket.set_tcp_nodelay(true)?;
}
if let Some(intv) = opts.tcp.keepalive {
@@ -550,7 +550,7 @@ fn set_common_sockopt_after_accept_impl(socket: &Socket, opts: &AcceptOpts) -> i
socket.set_recv_buffer_size(buf_size as usize)?;
}
socket.set_nodelay(opts.tcp.nodelay)?;
socket.set_tcp_nodelay(opts.tcp.nodelay)?;
if let Some(intv) = opts.tcp.keepalive {
let keepalive = TcpKeepalive::new().with_time(intv).with_interval(intv);