From be10221454a0afe285c87ffed0aca20ad28e3915 Mon Sep 17 00:00:00 2001 From: Fangliding Date: Tue, 18 Aug 2026 01:01:09 +0800 Subject: [PATCH] Fix port "0" listen --- transport/internet/tcp/hub.go | 3 --- transport/internet/tcp_hub.go | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/transport/internet/tcp/hub.go b/transport/internet/tcp/hub.go index ede97499d..c68d55dd9 100644 --- a/transport/internet/tcp/hub.go +++ b/transport/internet/tcp/hub.go @@ -42,9 +42,6 @@ func ListenTCP(ctx context.Context, address net.Address, port net.Port, streamSe var listener net.Listener var err error if port == net.Port(0) { // unix - if !address.Family().IsDomain() { - return nil, errors.New("invalid unix listen: ", address).AtError() - } listener, err = internet.ListenSystem(ctx, &net.UnixAddr{ Name: address.Domain(), Net: "unix", diff --git a/transport/internet/tcp_hub.go b/transport/internet/tcp_hub.go index cf0ad80d2..31183368a 100644 --- a/transport/internet/tcp_hub.go +++ b/transport/internet/tcp_hub.go @@ -65,6 +65,9 @@ func ListenTCP(ctx context.Context, address net.Address, port net.Port, settings if address.Family().IsDomain() { return nil, errors.New("domain address is not allowed for listening: ", address.Domain()) } + if port == 0 { + return nil, errors.New("port 0 is not allowed for listening on TCP") + } protocol := settings.ProtocolName listenFunc := transportListenerCache[protocol]