X-Git-Url: https://git.distorted.org.uk/~mdw/zoneconf/blobdiff_plain/9a61c5c95963ba0d7fbd0282ee319d6f003f1146..66b7fe74d00aa545abeaa1c048917c85ffd9a4f9:/zoneconf.in diff --git a/zoneconf.in b/zoneconf.in index 43892db..d16e74a 100755 --- a/zoneconf.in +++ b/zoneconf.in @@ -942,12 +942,21 @@ proc host-canonify {host} { proc local-address-p {addr} { ## Answer whether the ADDR is one of the host's addresses. + global env - if {[catch { set sk [socket -server {} -myaddr $addr 0] }]} { - return false + if {[info exists env(ZONECONF_LOCAL_ADDRESSES)]} { + if {[string match "*:$addr:*" ":$env(ZONECONF_LOCAL_ADDRESSES):"]} { + return true + } else { + return false + } } else { - close $sk - return true + if {[catch { set sk [socket -server {} -myaddr $addr 0] }]} { + return false + } else { + close $sk + return true + } } }