From 6297790ade578750cdd24ef4e39b0e66492cbdff Mon Sep 17 00:00:00 2001 From: zonyitoo Date: Sat, 1 Jul 2023 09:30:19 +0800 Subject: [PATCH] fix(local): Also check EOPNOTSUPP on Linux (#1221) --- .../src/local/redir/tcprelay/sys/unix/linux.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/shadowsocks-service/src/local/redir/tcprelay/sys/unix/linux.rs b/crates/shadowsocks-service/src/local/redir/tcprelay/sys/unix/linux.rs index 78839086..5aed254c 100644 --- a/crates/shadowsocks-service/src/local/redir/tcprelay/sys/unix/linux.rs +++ b/crates/shadowsocks-service/src/local/redir/tcprelay/sys/unix/linux.rs @@ -132,9 +132,9 @@ fn get_original_destination_addr(s: &TcpStream) -> io::Result { let err = Error::last_os_error(); match err.raw_os_error() { None => return Err(err), - // ENOPROTOOPT: IP6T_SO_ORIGINAL_DST doesn't exists + // ENOPROTOOPT, EOPNOTSUPP (ENOTSUP): IP6T_SO_ORIGINAL_DST doesn't exist // ENOENT: Destination address is not IPv6 - Some(libc::ENOPROTOOPT) | Some(libc::ENOENT) | Some(libc::ENOTSUP) => {} + Some(libc::ENOPROTOOPT) | Some(libc::ENOENT) | Some(libc::EOPNOTSUPP) | Some(libc::ENOTSUP) => {} Some(..) => return Err(err), } }