[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

freeze exception request for chiark-utils 4.1.28



I would like to request a freeze exception for chiark-utils 4.1.28 so
that lenny can have this change to chiark-named-conf:

  * Remove obsolete +nodebug option from calls to dig;
    required for BIND9 compatibility.  Thanks to Ross Younger.

In my view this fixes a release-critical bug in 4.1.24.
Although I haven't filed that bug in the BTS I could do so
if it would help document the reason for the update.

If this isn't suitable of an exception because of the other bugfixes
in it then I think I should upload something with only that change to
testing-proposed-updates since without it chiark-named-conf does not
work at all with the dnsutils version of dig, which everyone who
hasn't yet is now switching to as a side-effect of moving to BIND9.

But really nearly all of the changes are to chiark-named-conf itself
which is currently unuseable with the dnsutils dig in lenny.

The whole changelog entry for the upload is this:

  chiark-utils (4.1.28) unstable; urgency=high
  
    chiark-named-conf:
    * Remove obsolete +nodebug option from calls to dig;
      required for BIND9 compatibility.  Thanks to Ross Younger.
    * Foreign zones work properly using the configuration
      prevailing at the end of the config file.
    * Warn if user specifies a zone with the trailing `.'.
  
    Other:
    * hexterm: Declare and document the dependency of hexterm on tcl8.4.
    * chiark-backup: remove snap-mount properly whether it's a dir or a leaf
      node (such as a symlink).
  
   -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed, 27 Aug 2008 23:26:55 +0100

I've included the debdiff in case it's of interest.

(There was a mistaken upload numbered 4.1.27 which had me edit the
distribution field to `high' in the changelog rather than the
priority.  If this didn't get thrown away automatically yet, please
disregard it.  4.1.25 and .26 were unreleased versions for local
consumption.)

Thanks,
Ian.


diff -Nru /tmp/kXaGA9l9u1/chiark-utils-4.1.24/backup/nosnap /tmp/8CvY0rFnKr/chiark-utils-4.1.28/backup/nosnap
--- /tmp/kXaGA9l9u1/chiark-utils-4.1.24/backup/nosnap	2007-02-16 19:10:42.000000000 +0000
+++ /tmp/8CvY0rFnKr/chiark-utils-4.1.28/backup/nosnap	2007-11-26 00:52:31.000000000 +0000
@@ -3,7 +3,12 @@
 set -e
 
 removes () {
-	rm -f -- "$vardir/snap-mount" "$vardir/snap-device"
+	if test -d "$vardir/snap-mount"; then
+		rmdir -- "$vardir/snap-mount"
+	else
+		rm -f -- "$vardir/snap-mount"
+	fi
+	rm -f -- "$vardir/snap-device"
 }
 
 vardir="$2"
diff -Nru /tmp/kXaGA9l9u1/chiark-utils-4.1.24/backup/snap-common /tmp/8CvY0rFnKr/chiark-utils-4.1.28/backup/snap-common
--- /tmp/kXaGA9l9u1/chiark-utils-4.1.24/backup/snap-common	2006-07-30 14:34:05.000000000 +0100
+++ /tmp/8CvY0rFnKr/chiark-utils-4.1.28/backup/snap-common	2007-11-26 00:52:31.000000000 +0000
@@ -53,7 +53,7 @@
 lvmdropcore () {
 	snmnt="$vardir/snap-mount"
 	umount -v "$snmnt" || true
-	test ! -d "$snmnt" || rmdir -- "$snmnt"
+	test ! -d "$snmnt" || rmdir -- "$snmnt" || rm -f "$snmnt"
 
 	set +e
 	old_lv_dev="$(readlink $vardir/snap-device)"
diff -Nru /tmp/kXaGA9l9u1/chiark-utils-4.1.24/debian/changelog /tmp/8CvY0rFnKr/chiark-utils-4.1.28/debian/changelog
--- /tmp/kXaGA9l9u1/chiark-utils-4.1.24/debian/changelog	2007-09-23 16:40:35.000000000 +0100
+++ /tmp/8CvY0rFnKr/chiark-utils-4.1.28/debian/changelog	2008-08-27 23:54:32.000000000 +0100
@@ -1,3 +1,19 @@
+chiark-utils (4.1.28) unstable; urgency=high
+
+  chiark-named-conf:
+  * Remove obsolete +nodebug option from calls to dig;
+    required for BIND9 compatibility.  Thanks to Ross Younger.
+  * Foreign zones work properly using the configuration
+    prevailing at the end of the config file.
+  * Warn if user specifies a zone with the trailing `.'.
+
+  Other:
+  * hexterm: Declare and document the dependency of hexterm on tcl8.4.
+  * chiark-backup: remove snap-mount properly whether it's a dir or a leaf
+    node (such as a symlink).
+
+ -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed, 27 Aug 2008 23:26:55 +0100
+
 chiark-utils (4.1.24) unstable; urgency=low
 
   * Change my email address in the Maintainer field so that
diff -Nru /tmp/kXaGA9l9u1/chiark-utils-4.1.24/debian/control /tmp/8CvY0rFnKr/chiark-utils-4.1.28/debian/control
--- /tmp/kXaGA9l9u1/chiark-utils-4.1.24/debian/control	2007-09-23 16:40:35.000000000 +0100
+++ /tmp/8CvY0rFnKr/chiark-utils-4.1.28/debian/control	2008-08-27 22:52:54.000000000 +0100
@@ -24,6 +24,7 @@
 Priority: extra
 Conflicts: chiark-named-conf, sync-accounts
 Replaces: chiark-named-conf, sync-accounts
+Suggests: tcl8.4
 Architecture: all
 Description: chiark system administration scripts
  This package contains a number of small administration scripts used
@@ -58,7 +59,7 @@
  .
  hexterm: connects to serial port and allows the user interact in
  ASCII and hex.  Ie, a hex "terminal" program which lets you speak a
- serial port protocol directly.
+ serial port protocol directly.  (Needs tcl8.4 to be installed.)
  .
  random-word, remountresizereiserfs,
  summarise-mailbox-preserving-privacy
diff -Nru /tmp/kXaGA9l9u1/chiark-utils-4.1.24/scripts/named-conf /tmp/8CvY0rFnKr/chiark-utils-4.1.28/scripts/named-conf
--- /tmp/kXaGA9l9u1/chiark-utils-4.1.24/scripts/named-conf	2007-09-21 23:55:47.000000000 +0100
+++ /tmp/8CvY0rFnKr/chiark-utils-4.1.28/scripts/named-conf	2008-08-27 23:26:52.000000000 +0100
@@ -354,9 +354,23 @@
     return 0;
 }
 
+sub zone_conf_settings ($$) {
+    my ($cfg,$zone) = @_;
+    my ($sfx,$aref);
+    foreach $sfx (qw(self_soa self_ns self_addr forbid_addr forbid_slave
+		     conv_glueless indirect_glue)) {
+	{ no strict 'refs'; $aref= [ @$sfx ]; }
+	@$aref or cfg_fail("failed to specify $sfx before zone")
+	    if $sfx =~ m/^self/;
+	$cfg->{$sfx}= $aref;
+    }
+    foreach $sfx (qw(self_soa self_ns)) {
+	map { s/\*$/$zone/ } @{ $zone_cfg{$zone}{$sfx} };
+    }
+}
+
 sub zone_conf ($$$$$@) {
     my ($zone,$style,$sabbr,$mod,$file,@servers) = @_;
-    my ($sfx,$aref);
     $file= qualify("$slave_dir/$slave_prefix".$zone.$slave_suffix)
 	unless length $file;
     if (!length $output) {
@@ -382,16 +396,7 @@
 	$zone_cfg{$zone}{'maildir'}= qualify($mail_state_dir);
 	$zone_cfg{$zone}{'mailmwarn'}= $mail_max_warnfreq;
     }
-    foreach $sfx (qw(self_soa self_ns self_addr forbid_addr forbid_slave
-		     conv_glueless indirect_glue)) {
-	{ no strict 'refs'; $aref= [ @$sfx ]; }
-	@$aref or cfg_fail("failed to specify $sfx before zone")
-	    if $sfx =~ m/^self/;
-	$zone_cfg{$zone}{$sfx}= $aref;
-    }
-    foreach $sfx (qw(self_soa self_ns)) {
-	map { s/\*$/$zone/ } @{ $zone_cfg{$zone}{$sfx} };
-    }
+    zone_conf_settings($zone_cfg{$zone}, $zone);
     $zone_cfg{$zone}{'output'}= $output;
     push @zone_cfg_list, $zone;
 }
@@ -420,11 +425,20 @@
     local ($zone,$cfg);
 
     foreach $zone (@zones) {
-	$cfg= $zone_cfg{$zone} || {
-	    'style_p' => 'foreign',
-	    's' => "f $group2modcmd{'foreign'}",
-	    'servers' => [ ],
+	if ($zone =~ m/\.$/) {
+	    zone_warning("zone specified with trailing dot -".
+			 " will not work", '');
+	}
+
+	$cfg= $zone_cfg{$zone};
+	if (!$cfg) {
+	    $cfg= {
+		'style_p' => 'foreign',
+		's' => "f $group2modcmd{'foreign'}",
+		'servers' => [ ],
 	    };
+	    zone_conf_settings($cfg, $zone);
+	}
 
 	mail_zone_before() or next
 	    if $domail;
@@ -1100,7 +1114,7 @@
     if (!$c) {
 	open STDERR, ">&STDOUT" or die $!;
 	exec ('dig',
-	      '+nodef','+nosea','+nodebug','+norecurse',
+	      '+nodef','+nosea','+norecurse',
 	      "\@$qaddr",'-t',$qtype,$qowner);
 	die "$quis: exec dig:\n $!\n";
     }
diff -Nru /tmp/kXaGA9l9u1/chiark-utils-4.1.24/scripts/named-conf.8 /tmp/8CvY0rFnKr/chiark-utils-4.1.28/scripts/named-conf.8
--- /tmp/kXaGA9l9u1/chiark-utils-4.1.24/scripts/named-conf.8	2007-09-21 23:55:47.000000000 +0100
+++ /tmp/8CvY0rFnKr/chiark-utils-4.1.28/scripts/named-conf.8	2008-02-05 19:50:57.000000000 +0000
@@ -152,7 +152,9 @@
 .SS GENERAL DIRECTIVES
 These directives specify general configuration details.  They should
 appear before directives specifying zones, as each will affect only
-later zone directives.
+later zone directives.  Foreign zones (zones explicitly specified on
+the command line but not mentioned in the configuration) use the
+configuration settings prevailing at the end of the config file.
 .TP
 \fBadmin\fP \fIemail\-address\fP
 Specifies the email address of the local administrator.  This is used


Reply to: