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",
|
$source = "AUTO", $key = "none", $keytype = "hmac-md5",
|
||||||
$contact = "NONE") {
|
$contact = "NONE") {
|
||||||
|
|
||||||
$tmpname = regsubst($name, '([^/]+/)?([0-9]+)/([0-9\.]+\.in-addr\.arpa)', '\1\2-\3')
|
if $name =~ /([^\/]+\/)?([0-9]+)\/([0-9\.]+\.in-addr\.arpa)/ {
|
||||||
case dirname($tmpname) {
|
# Special handling for RFC2317 style in-addr.arpa zones
|
||||||
".": { $view = "" }
|
case $1 {
|
||||||
"default": { $view = "" }
|
".": { $view = "" }
|
||||||
default: { $view = regsubst(dirname($tmpname), '^(.*)', '\1/') }
|
"default": { $view = "" }
|
||||||
}
|
default: { $view = $1 }
|
||||||
if $name =~ /\.in-addr\.arpa$/ {
|
}
|
||||||
$zonefile = basename($tmpname)
|
$zone = "$2/$3"
|
||||||
$zone = regsubst($zonefile, '-', '/')
|
$zonefile = "$2-$3"
|
||||||
} else {
|
} else {
|
||||||
$zonefile = basename($tmpname)
|
$zone = basename($name)
|
||||||
$zone = $zonefile
|
$zonefile = $zone
|
||||||
}
|
}
|
||||||
|
|
||||||
case $role {
|
case $role {
|
||||||
|
|
Loading…
Add table
Reference in a new issue