mirror of
https://github.com/caddyserver/caddy.git
synced 2025-12-08 06:09:53 +00:00
check addr and netw first
This commit is contained in:
parent
fded1547ec
commit
2e5e165719
1 changed files with 15 additions and 17 deletions
|
|
@ -357,37 +357,35 @@ func (st *ServerType) listenersForServerBlockAddress(sblock serverBlock, addr Ad
|
||||||
|
|
||||||
lnIfaceAddresses := []string{}
|
lnIfaceAddresses := []string{}
|
||||||
for _, ifaceAddress := range ifaceAddresses {
|
for _, ifaceAddress := range ifaceAddresses {
|
||||||
var (
|
var addrok, netwok bool
|
||||||
ip net.IP
|
|
||||||
ipok bool
|
var ip net.IP
|
||||||
)
|
|
||||||
switch ifaceAddressValue := ifaceAddress.(type) {
|
switch ifaceAddressValue := ifaceAddress.(type) {
|
||||||
case *net.IPAddr:
|
case *net.IPAddr:
|
||||||
ip, ipok = ifaceAddressValue.IP, true
|
ip, addrok = ifaceAddressValue.IP, true
|
||||||
|
netwok = len(ip) == net.IPv4len && caddy.IsIPv4Network(lnNetw) || len(ip) == net.IPv6len && caddy.IsIPv6Network(lnNetw)
|
||||||
case *net.IPNet:
|
case *net.IPNet:
|
||||||
ip, ipok = ifaceAddressValue.IP, true
|
ip, addrok = ifaceAddressValue.IP, true
|
||||||
|
netwok = len(ip) == net.IPv4len && caddy.IsIPv4Network(lnNetw) || len(ip) == net.IPv6len && caddy.IsIPv6Network(lnNetw)
|
||||||
case *net.TCPAddr:
|
case *net.TCPAddr:
|
||||||
ip, ipok = ifaceAddressValue.IP, true
|
ip, addrok, netwok = ifaceAddressValue.IP, true, caddy.IsTCPNetwork(lnNetw)
|
||||||
case *net.UDPAddr:
|
case *net.UDPAddr:
|
||||||
ip, ipok = ifaceAddressValue.IP, true
|
ip, addrok, netwok = ifaceAddressValue.IP, true, caddy.IsUDPNetwork(lnNetw)
|
||||||
}
|
}
|
||||||
if ipok {
|
if addrok {
|
||||||
if len(ip) == net.IPv4len && caddy.IsIPv4Network(lnNetw) || len(ip) == net.IPv6len && caddy.IsIPv6Network(lnNetw) {
|
if netwok {
|
||||||
lnIfaceAddresses = append(lnIfaceAddresses, ip.String())
|
lnIfaceAddresses = append(lnIfaceAddresses, ip.String())
|
||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var name string
|
||||||
name string
|
|
||||||
nameok bool
|
|
||||||
)
|
|
||||||
switch ifaceAddressValue := ifaceAddress.(type) {
|
switch ifaceAddressValue := ifaceAddress.(type) {
|
||||||
case *net.UnixAddr:
|
case *net.UnixAddr:
|
||||||
name, nameok = ifaceAddressValue.Name, true
|
name, addrok, netwok = ifaceAddressValue.Name, true, caddy.IsUnixNetwork(lnNetw)
|
||||||
}
|
}
|
||||||
if nameok {
|
if addrok {
|
||||||
if caddy.IsUnixNetwork(lnNetw) {
|
if netwok {
|
||||||
lnIfaceAddresses = append(lnIfaceAddresses, name)
|
lnIfaceAddresses = append(lnIfaceAddresses, name)
|
||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue