diff --git a/config/envoyconfig/acmetlsalpn.go b/config/envoyconfig/acmetlsalpn.go index 0a124f243..a7ccb2385 100644 --- a/config/envoyconfig/acmetlsalpn.go +++ b/config/envoyconfig/acmetlsalpn.go @@ -23,7 +23,7 @@ const ( func (b *Builder) buildACMETLSALPNCluster( cfg *config.Config, ) *envoy_config_cluster_v3.Cluster { - port, _ := strconv.Atoi(cfg.ACMETLSALPNPort) + port, _ := strconv.ParseUint(cfg.ACMETLSALPNPort, 10, 32) return &envoy_config_cluster_v3.Cluster{ Name: acmeTLSALPNClusterName, LoadAssignment: &envoy_config_endpoint_v3.ClusterLoadAssignment{ @@ -32,7 +32,7 @@ func (b *Builder) buildACMETLSALPNCluster( LbEndpoints: []*envoy_config_endpoint_v3.LbEndpoint{{ HostIdentifier: &envoy_config_endpoint_v3.LbEndpoint_Endpoint{ Endpoint: &envoy_config_endpoint_v3.Endpoint{ - Address: buildAddress("127.0.0.1", port), + Address: buildAddress("127.0.0.1", uint32(port)), }, }, }}, diff --git a/config/envoyconfig/clusters.go b/config/envoyconfig/clusters.go index d6b0fb02d..539055ee3 100644 --- a/config/envoyconfig/clusters.go +++ b/config/envoyconfig/clusters.go @@ -473,7 +473,7 @@ func grpcHealthChecks(name string) []*envoy_config_core_v3.HealthCheck { func (b *Builder) buildLbEndpoints(endpoints []Endpoint) ([]*envoy_config_endpoint_v3.LbEndpoint, error) { var lbes []*envoy_config_endpoint_v3.LbEndpoint for _, e := range endpoints { - defaultPort := 80 + defaultPort := uint32(80) if e.transportSocket != nil && e.transportSocket.Name == "tls" { defaultPort = 443 } diff --git a/config/envoyconfig/envoyconfig.go b/config/envoyconfig/envoyconfig.go index b8bf34c93..821f33c28 100644 --- a/config/envoyconfig/envoyconfig.go +++ b/config/envoyconfig/envoyconfig.go @@ -119,15 +119,15 @@ func buildAccessLogs(options *config.Options) []*envoy_config_accesslog_v3.Acces }} } -func buildAddress(hostport string, defaultPort int) *envoy_config_core_v3.Address { +func buildAddress(hostport string, defaultPort uint32) *envoy_config_core_v3.Address { host, strport, err := net.SplitHostPort(hostport) if err != nil { host = hostport strport = fmt.Sprint(defaultPort) } - port, err := strconv.Atoi(strport) - if err != nil { - port = defaultPort + port := defaultPort + if p, err := strconv.ParseUint(strport, 10, 32); err == nil { + port = uint32(p) } if host == "" { if nettest.SupportsIPv6() { @@ -145,7 +145,7 @@ func buildAddress(hostport string, defaultPort int) *envoy_config_core_v3.Addres return &envoy_config_core_v3.Address{ Address: &envoy_config_core_v3.Address_SocketAddress{SocketAddress: &envoy_config_core_v3.SocketAddress{ Address: host, - PortSpecifier: &envoy_config_core_v3.SocketAddress_PortValue{PortValue: uint32(port)}, + PortSpecifier: &envoy_config_core_v3.SocketAddress_PortValue{PortValue: port}, Ipv4Compat: host == "::" || is4in6, }}, } @@ -256,7 +256,7 @@ func parseAddress(raw string) (*envoy_config_core_v3.Address, error) { host = "127.0.0.1" } - if port, err := strconv.Atoi(portstr); err == nil { + if port, err := strconv.ParseUint(portstr, 10, 32); err == nil { return &envoy_config_core_v3.Address{ Address: &envoy_config_core_v3.Address_SocketAddress{ SocketAddress: &envoy_config_core_v3.SocketAddress{ diff --git a/pkg/envoy/misc.go b/pkg/envoy/misc.go index ebba53ce3..222ee6880 100644 --- a/pkg/envoy/misc.go +++ b/pkg/envoy/misc.go @@ -1,13 +1,5 @@ package envoy -import ( - "fmt" - "net" - "strconv" - - envoy_config_core_v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" -) - func firstNonEmpty[T interface{ ~string }](args ...T) T { for _, a := range args { if a != "" { @@ -16,22 +8,3 @@ func firstNonEmpty[T interface{ ~string }](args ...T) T { } return "" } - -// ParseAddress parses a string address into an envoy address. -func ParseAddress(raw string) (*envoy_config_core_v3.Address, error) { - if host, portstr, err := net.SplitHostPort(raw); err == nil { - if port, err := strconv.Atoi(portstr); err == nil { - return &envoy_config_core_v3.Address{ - Address: &envoy_config_core_v3.Address_SocketAddress{ - SocketAddress: &envoy_config_core_v3.SocketAddress{ - Address: host, - PortSpecifier: &envoy_config_core_v3.SocketAddress_PortValue{ - PortValue: uint32(port), - }, - }, - }, - }, nil - } - } - return nil, fmt.Errorf("unknown address format: %s", raw) -}