diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2012-05-06 23:12:03 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2012-05-06 23:12:03 +0100 |
commit | 6f99d4d9e2854bcb934dca52930d90435584d291 (patch) | |
tree | 5f68cabf800613f56acdcc4447f9b736974925b4 /test/runtest | |
parent | 0a3df1d651b9e11c7c91bf095aebaf8c65d6c276 (diff) |
Testsuite: teach the fakedns zonefile generator about the ipv6 double-colon rule.
Fixes case 1003 for me (having a trailing ::).
Diffstat (limited to 'test/runtest')
-rwxr-xr-x | test/runtest | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/test/runtest b/test/runtest index 69c6931b0..d42d400a9 100755 --- a/test/runtest +++ b/test/runtest @@ -598,7 +598,7 @@ RESET_AFTER_EXTRA_LINE_READ: # Handle only the Gnu and MacOS space, dot, plus and at-sign. A full [[:graph:]] # unfortunately matches a non-ls linefull of dashes. # Allow the case where we've already picked out the file protection bits. - if (s/^([-d](?:[-r][-w][-SsTtx]){3})[.+@]?( +|$)/\1\2/) { + if (s/^([-d](?:[-r][-w][-SsTtx]){3})[.+@]?( +|$)/$1$2/) { s/ +/ /g; } @@ -2947,7 +2947,16 @@ if ($have_ipv4 && $parm_ipv4 ne "127.0.0.1") if ($have_ipv6 && $parm_ipv6 ne "::1") { - my(@components) = split /:/, $parm_ipv6; + my($exp_v6) = $parm_ipv6; + $exp_v6 =~ s/[^:]//g; + if ( $parm_ipv6 =~ /^([^:].+)::$/ ) { + $exp_v6 = $1 . ':0' x (9-length($exp_v6)); + } elsif ( $parm_ipv6 =~ /^(.+)::(.+)$/ ) { + $exp_v6 = $1 . ':0' x (8-length($exp_v6)) . ':' . $2; + } elsif ( $parm_ipv6 =~ /^::(.+[^:])$/ ) { + $exp_v6 = '0:' x (9-length($exp_v6)) . $1; + } + my(@components) = split /:/, $exp_v6; my(@nibbles) = reverse (split /\s*/, shift @components); my($sep) = ""; |