From 78a1e37e89e7aef498d2a5154349c3b7c79441fc Mon Sep 17 00:00:00 2001 From: xqzr <34030394+xqzr@users.noreply.github.com> Date: Mon, 7 Apr 2025 23:50:07 +0800 Subject: [PATCH] Sockopt: Use Windows `syscall` (#4581) --- transport/internet/sockopt_windows.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/transport/internet/sockopt_windows.go b/transport/internet/sockopt_windows.go index cbd3b41e..e333309f 100644 --- a/transport/internet/sockopt_windows.go +++ b/transport/internet/sockopt_windows.go @@ -13,9 +13,6 @@ const ( TCP_FASTOPEN = 15 IP_UNICAST_IF = 31 IPV6_UNICAST_IF = 31 - IP_MULTICAST_IF = 9 - IPV6_MULTICAST_IF = 9 - IPV6_V6ONLY = 27 ) func setTFO(fd syscall.Handle, tfo int) error { @@ -44,14 +41,14 @@ func applyOutboundSocketOptions(network string, address string, fd uintptr, conf if err := syscall.SetsockoptInt(syscall.Handle(fd), syscall.IPPROTO_IP, IP_UNICAST_IF, int(idx)); err != nil { return errors.New("failed to set IP_UNICAST_IF").Base(err) } - if err := syscall.SetsockoptInt(syscall.Handle(fd), syscall.IPPROTO_IP, IP_MULTICAST_IF, int(idx)); err != nil { + if err := syscall.SetsockoptInt(syscall.Handle(fd), syscall.IPPROTO_IP, syscall.IP_MULTICAST_IF, int(idx)); err != nil { return errors.New("failed to set IP_MULTICAST_IF").Base(err) } } else { if err := syscall.SetsockoptInt(syscall.Handle(fd), syscall.IPPROTO_IPV6, IPV6_UNICAST_IF, inf.Index); err != nil { return errors.New("failed to set IPV6_UNICAST_IF").Base(err) } - if err := syscall.SetsockoptInt(syscall.Handle(fd), syscall.IPPROTO_IPV6, IPV6_MULTICAST_IF, inf.Index); err != nil { + if err := syscall.SetsockoptInt(syscall.Handle(fd), syscall.IPPROTO_IPV6, syscall.IPV6_MULTICAST_IF, inf.Index); err != nil { return errors.New("failed to set IPV6_MULTICAST_IF").Base(err) } } @@ -92,7 +89,7 @@ func applyInboundSocketOptions(network string, fd uintptr, config *SocketConfig) } if config.V6Only { - if err := syscall.SetsockoptInt(syscall.Handle(fd), syscall.IPPROTO_IPV6, IPV6_V6ONLY, 1); err != nil { + if err := syscall.SetsockoptInt(syscall.Handle(fd), syscall.IPPROTO_IPV6, syscall.IPV6_V6ONLY, 1); err != nil { return errors.New("failed to set IPV6_V6ONLY").Base(err) } }