Skip to content

Commit

Permalink
node: fix listening on IPv6 address (#27628) (#27635)
Browse files Browse the repository at this point in the history
  • Loading branch information
oiooj committed Jul 2, 2023
1 parent 8bbb16b commit 6ca3ef9
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 6 deletions.
3 changes: 2 additions & 1 deletion cmd/clef/main.go
Expand Up @@ -27,6 +27,7 @@ import (
"fmt"
"io"
"math/big"
"net"
"os"
"os/signal"
"path/filepath"
Expand Down Expand Up @@ -743,7 +744,7 @@ func signer(c *cli.Context) error {
port := c.Int(rpcPortFlag.Name)

// start http server
httpEndpoint := fmt.Sprintf("%s:%d", c.String(utils.HTTPListenAddrFlag.Name), port)
httpEndpoint := net.JoinHostPort(c.String(utils.HTTPListenAddrFlag.Name), fmt.Sprintf("%d", port))
httpServer, addr, err := node.StartHTTPEndpoint(httpEndpoint, rpc.DefaultHTTPTimeouts, handler)
if err != nil {
utils.Fatalf("Could not start RPC api: %v", err)
Expand Down
3 changes: 2 additions & 1 deletion cmd/utils/flags.go
Expand Up @@ -26,6 +26,7 @@ import (
"fmt"
"math"
"math/big"
"net"
"net/http"
"os"
"path/filepath"
Expand Down Expand Up @@ -2014,7 +2015,7 @@ func SetupMetrics(ctx *cli.Context) {
}

if ctx.IsSet(MetricsHTTPFlag.Name) {
address := fmt.Sprintf("%s:%d", ctx.String(MetricsHTTPFlag.Name), ctx.Int(MetricsPortFlag.Name))
address := net.JoinHostPort(ctx.String(MetricsHTTPFlag.Name), fmt.Sprintf("%d", ctx.Int(MetricsPortFlag.Name)))
log.Info("Enabling stand-alone metrics HTTP endpoint", "address", address)
exp.Setup(address)
} else if ctx.IsSet(MetricsPortFlag.Name) {
Expand Down
3 changes: 2 additions & 1 deletion internal/debug/flags.go
Expand Up @@ -19,6 +19,7 @@ package debug
import (
"fmt"
"io"
"net"
"net/http"
_ "net/http/pprof"
"os"
Expand Down Expand Up @@ -308,7 +309,7 @@ func Setup(ctx *cli.Context) error {

port := ctx.Int(pprofPortFlag.Name)

address := fmt.Sprintf("%s:%d", listenHost, port)
address := net.JoinHostPort(listenHost, fmt.Sprintf("%d", port))
// This context value ("metrics.addr") represents the utils.MetricsHTTPFlag.Name.
// It cannot be imported because it will cause a cyclical dependency.
StartPProf(address, !ctx.IsSet("metrics.addr"))
Expand Down
5 changes: 3 additions & 2 deletions node/config.go
Expand Up @@ -19,6 +19,7 @@ package node
import (
"crypto/ecdsa"
"fmt"
"net"
"os"
"path/filepath"
"runtime"
Expand Down Expand Up @@ -263,7 +264,7 @@ func (c *Config) HTTPEndpoint() string {
if c.HTTPHost == "" {
return ""
}
return fmt.Sprintf("%s:%d", c.HTTPHost, c.HTTPPort)
return net.JoinHostPort(c.HTTPHost, fmt.Sprintf("%d", c.HTTPPort))
}

// DefaultHTTPEndpoint returns the HTTP endpoint used by default.
Expand All @@ -278,7 +279,7 @@ func (c *Config) WSEndpoint() string {
if c.WSHost == "" {
return ""
}
return fmt.Sprintf("%s:%d", c.WSHost, c.WSPort)
return net.JoinHostPort(c.WSHost, fmt.Sprintf("%d", c.WSPort))
}

// DefaultWSEndpoint returns the websocket endpoint used by default.
Expand Down
2 changes: 1 addition & 1 deletion node/rpcstack.go
Expand Up @@ -112,7 +112,7 @@ func (h *httpServer) setListenAddr(host string, port int) error {
}

h.host, h.port = host, port
h.endpoint = fmt.Sprintf("%s:%d", host, port)
h.endpoint = net.JoinHostPort(host, fmt.Sprintf("%d", port))
return nil
}

Expand Down

0 comments on commit 6ca3ef9

Please sign in to comment.