From 464848816a506779ccd35aeb3809ad234d309a75 Mon Sep 17 00:00:00 2001 From: Ossi Herrala Date: Mon, 10 Dec 2012 09:02:53 +0000 Subject: [PATCH] Rethinked the code for RFC2317 style in-addr.arpa zones and our DNS view syntax. --- dns/manifests/init.pp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/dns/manifests/init.pp b/dns/manifests/init.pp index 23c1a30..234dc53 100644 --- a/dns/manifests/init.pp +++ b/dns/manifests/init.pp @@ -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 {