Rethinked the code for RFC2317 style in-addr.arpa zones and our DNS view syntax.
This commit is contained in:
parent
25a7a01857
commit
464848816a
1 changed files with 11 additions and 11 deletions
|
@ -269,18 +269,18 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
|
|||
$source = "AUTO", $key = "none", $keytype = "hmac-md5",
|
||||
$contact = "NONE") {
|
||||
|
||||
$tmpname = regsubst($name, '([^/]+/)?([0-9]+)/([0-9\.]+\.in-addr\.arpa)', '\1\2-\3')
|
||||
case dirname($tmpname) {
|
||||
".": { $view = "" }
|
||||
"default": { $view = "" }
|
||||
default: { $view = regsubst(dirname($tmpname), '^(.*)', '\1/') }
|
||||
}
|
||||
if $name =~ /\.in-addr\.arpa$/ {
|
||||
$zonefile = basename($tmpname)
|
||||
$zone = regsubst($zonefile, '-', '/')
|
||||
if $name =~ /([^\/]+\/)?([0-9]+)\/([0-9\.]+\.in-addr\.arpa)/ {
|
||||
# Special handling for RFC2317 style in-addr.arpa zones
|
||||
case $1 {
|
||||
".": { $view = "" }
|
||||
"default": { $view = "" }
|
||||
default: { $view = $1 }
|
||||
}
|
||||
$zone = "$2/$3"
|
||||
$zonefile = "$2-$3"
|
||||
} else {
|
||||
$zonefile = basename($tmpname)
|
||||
$zone = $zonefile
|
||||
$zone = basename($name)
|
||||
$zonefile = $zone
|
||||
}
|
||||
|
||||
case $role {
|
||||
|
|
Loading…
Add table
Reference in a new issue