Browse Source

httpcaddyfile: 'bind' properly parses unix sockets (fixes #2999)

master
Matthew Holt 5 years ago
parent
commit
31c6ac097e
No known key found for this signature in database GPG Key ID: 2A349DD577D586A5
  1. 6
      caddyconfig/httpcaddyfile/addresses.go

6
caddyconfig/httpcaddyfile/addresses.go

@ -21,6 +21,7 @@ import (
"strconv" "strconv"
"strings" "strings"
"github.com/caddyserver/caddy/v2"
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile" "github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
"github.com/caddyserver/caddy/v2/modules/caddyhttp" "github.com/caddyserver/caddy/v2/modules/caddyhttp"
"github.com/caddyserver/certmagic" "github.com/caddyserver/certmagic"
@ -199,8 +200,13 @@ func (st *ServerType) listenerAddrsForServerBlockKey(sblock serverBlock, key str
// use a map to prevent duplication // use a map to prevent duplication
listeners := make(map[string]struct{}) listeners := make(map[string]struct{})
for _, host := range lnHosts { for _, host := range lnHosts {
addr, err := caddy.ParseNetworkAddress(host)
if err == nil && addr.IsUnixNetwork() {
listeners[host] = struct{}{}
} else {
listeners[net.JoinHostPort(host, lnPort)] = struct{}{} listeners[net.JoinHostPort(host, lnPort)] = struct{}{}
} }
}
// now turn map into list // now turn map into list
var listenersList []string var listenersList []string

Loading…
Cancel
Save