repeated records causse "CNAME and OTHER" error in 8.2x

Mark_Andrews at isc.org Mark_Andrews at isc.org
Wed Jun 23 01:41:24 UTC 1999


	The following should fix it.

	Mark

Index: src/bin/named/db_update.c
===================================================================
RCS file: /proj/cvs/isc/bind/src/bin/named/db_update.c,v
retrieving revision 8.34
diff -c -r8.34 db_update.c
*** db_update.c	1999/05/18 05:23:22	8.34
--- db_update.c	1999/06/23 01:37:55
***************
*** 587,593 ****
  					    INT32SZ + sizeof(u_char)))
  					goto delete;
  				if (dp->d_type == T_CNAME &&
! 				    !NS_OPTION_P(OPTION_MULTIPLE_CNAMES))
  					if ((flags & DB_REPLACE) == 0 &&
  					     zones[dp->d_zone].z_type ==
  							Z_PRIMARY) {
--- 587,594 ----
  					    INT32SZ + sizeof(u_char)))
  					goto delete;
  				if (dp->d_type == T_CNAME &&
! 				    !NS_OPTION_P(OPTION_MULTIPLE_CNAMES) &&
! 				    db_cmp(dp, odp) != 0)
  					if ((flags & DB_REPLACE) == 0 &&
  					     zones[dp->d_zone].z_type ==
  							Z_PRIMARY) {
> Hi,
> 
> I've come across the following problem today after upgrading from 8.1.2 to
> 8.2.1. Since 8.2 and above treat a CNAME and OTHER error as a hard error.
> Consider the following zone file where someone
> [me :)] has erroneously repeated an MX and CNAME record:
> 
> localhost# less /etc/namedb/foobar.co.uk.zone
> $TTL                            172800
> @       IN      SOA     localhost.noc.clara.net.  mivens.clara.net. (
>                                 1999062225      ; Serial number
>                                 172800          ; Refresh every two days
>                                 3600            ; Retry every hour
>                                 1728000         ; Expire every 20 days
>                                 172800 )        ; Minimum 2 days
> 
> 
>                 IN      NS      localhost.noc.clara.net.
>                 IN      NS      localhost.noc.clara.net.
> 
> foo             IN      MX      10 foo.clara.net.
> ftp.foo         IN      CNAME   bar.clara.net.
> 
> ;;;; [snip]
> ;;;; [snip]
> ;;;; [snip]
> 
> foo             IN      MX      10 foo.clara.net.
> ftp.foo         IN      CNAME   bar.clara.net.
> 
> Bind 8.2.1 rejects the above zone file:
> 
> Jun 22 20:01:17 localhost named[21182]: starting.  named 8.2.1 Tue Jun 22
> 14:12:58 BST 1999 
> mark at localhost.noc.clara.net:/usr/local/src/bind/src/bin/named
> Jun 22 20:01:17 localhost named[21182]: limit files set to fdlimit (1024)
> Jun 22 20:01:17 localhost named[21182]:
> foobar.co.uk.zone:21:ftp.foo.foobar.co.uk: CNAME and OTHER data error
> Jun 22 20:01:17 localhost named[21182]: master zone "foobar.co.uk" (IN)
> rejected due to errors (serial 1999062225)
> Jun 22 20:01:17 localhost named[21183]: Ready to answer queries.
> 
> Nowhere else were any records for foo.foobar.co.uk (or foobar.co.uk itself 
> for that matter)efined and the only other zone file in
> named.conf was for the 127.0.0 reverse lookups:
> 
> localhost# less /etc/named.conf 
> options {
>         directory "/etc/namedb";
>         query-source address * port 53;
> };
> zone "." {
>         type hint;
>         file "named.root";
> };
> 
> zone "0.0.127.IN-ADDR.ARPA" {
>         type master;
>         file "localhost.rev";
> };
> zone "foobar.co.uk" {
>         type master;
>         file "foobar.co.uk.zone";
> };
> 
> 
> I would have thought with that the problem with the above zone file does not
> constitute a CNAME and OTHER data error. My interpretation would be that only
> if, for example, there was an MX or an A record subsequently defined for
> ftp.foo in the example above should the "CNAME and OTHER" error be generated.
>   
> Shouldn't bind only be giving a warning about a repeated record and then
> accept the above zone file?
> 
> It's far too easy with a large zone file to make a mistake and duplicate a
> couple of records. If that results in bind 8.2.1 rejecting the zone file for
> a large domain then I would have thought that pretty dangerous.
> 
> I was wondering whether others feel this behaviour is incorrect or
> whether my interpretation is wrong.
> 
> I also haven't seen an easy way of stopping bind 8.2x treating "CNAME and
> OTHER" errors as soft errors (apart from going back to 8.1.2, of course).
> 
> --
> ********************************************************************
>                      Mark Ivens   mivens at clara.net
>                             ClaraNET  Ltd
> ********************************************************************
> 
> 
--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka at isc.org



More information about the bind-users mailing list