lib/DNS/Vi.pm
changeset 17 86d2b0d707bf
parent 16 1cbe9dc60243
child 20 cd2986b6066f
--- a/lib/DNS/Vi.pm	Sat May 24 23:16:42 2014 +0200
+++ b/lib/DNS/Vi.pm	Fri May 30 14:44:16 2014 +0200
@@ -69,7 +69,8 @@
                     }
 
                     # bei einigen RRs müssen wir die Daten korrigieren
-                    when ([qw/MX NS PTR/]) {
+                    when ([qw/CNAME MX NS PTR SOA/]) {
+			$rrset{data} =~ s/\@/$origin/g;
                         $rrset{data} .= ".$origin"
                           unless substr($rrset{data}, -1) eq '.';
                     }
@@ -145,7 +146,8 @@
 
         $r{label} = '@' if $r{label} eq $origin;
         $r{label} =~ s{\.\Q$origin\E$}{};
-        $r{data} =~ s{\.\Q$origin\E$}{} if $r{rrtype} ~~ [qw(MX SOA PTR)];
+        $r{data} =~ s{\.\Q$origin\E$}{} if $r{rrtype} ~~ [qw(CNAME MX SOA PTR)];
+	$r{data} =~ s{\Q$origin\E$}{\@} if $r{rrtype} ~~ [qw(CNAME MX)];
         $r{ttl} = $r{ttl} == $ttl ? '' : ttl2h($r{ttl});
         $r{label} = do {
             if (defined $last_label and $r{label} eq $last_label) { '' }