Help with LOC records

Mark Andrews Mark_Andrews at isc.org
Fri Sep 15 02:20:31 UTC 2006


> I have been testing compliance with DNS RFC on various nameserver
> software and have some questions about LOC records. The Standard is
> pretty clear but
> BIND 9.3.2-P1 seems to have some issues. I've included the DiG output
> (dig @n.n.n.n  smith.example.xxx AXFR | grep LOC ) as well as the zone
> file.
> 
> 
> 
> 1.aban.smith...  has an Altitude record greater than the 42,848,672.95
> meter limit in RFC 1876

	Your test record is in error.

; Should Fail as Altitude max is 42,849,672.95 meters Max precision is
90,000,000 M (90,000km)
aban IN LOC 90 S 180 E 9000000.00 9000000.00 9000000.00

drugs:generic 12:10 {1379} % named-checkzone . junk
dns_rdata_fromtext: junk:1: near '90000000.00': out of range
zone ./IN: loading master file junk: out of range
drugs:generic 12:10 {1380} % cat junk
aban  0 IN LOC 90 S 180 E 90000000.00 9000000.00 9000000.00
drugs:generic 12:10 {1381} % 

> 2.abdul.smith.. the Horizontal precision was rounded from  609344m to
> 600000m I don't see where this is allowed in the RFC

	The behaviour when non exactly encodable values were entered
	were left for implementations to decide.  This was discussed
	at the time.  Note we are dealing with values that are in
	range here.

> 3.addie.smith... the Vertical precision was rounded from 89999999m to
> 80000000m  I don't see where this is allowed in the RFC

	See 2.

> 4.abel.smith... The Significant bytes on the precision data was
> changed. I don't see where this is allowed in the RFC

	This looks like a real error.

> 5.
> Am I correct in these assumptions? (Sorry about the line wrap)
> 
> dig @n.n.n.n  axfr smith.example.xxx  | grep LOC
> 
> aba.smith.example.xxx. 3600    IN      LOC     90 0 0.000 S 180 0 0.000
> E 0.00m 0.00m 0.00m 0.00m
> aban.smith.example.xxx. 3600   IN      LOC     90 0 0.000 S 180 0 0.000
> E 9000000.00m 9000000m 9000000m 10m
> abbey.smith.example.xxx. 3600  IN      LOC     40 32 24.716 N 105 4
> 25.770 W 1208.00m 600000m 2000m 10m
> abby.smith.example.xxx. 3600   IN      LOC     40 32 24.716 N 105 4
> 25.770 W 10.00m 10m 10000m 10m
> abdul.smith.example.xxx. 3600  IN      LOC     40 32 24.716 N 105 4
> 25.770 W 42849672.91m 1000m 600000m 2000m
> abe.smith.example.xxx. 3600    IN      LOC     40 32 24.716 N 105 4
> 25.770 W -100000.00m 0.00m 0.00m 0.00m
> abel.smith.example.xxx. 3600   IN      LOC     90 0 0.000 N 180 0 0.000
> W 0.00m 0.00m 0.00m 0.00m

> abel IN LOC 90 N 180 W 0.00m 0m 0m 00m

> abele.smith.example.xxx. 3600  IN      LOC     40 32 24.716 N 105 4
> 25.770 W 1208.00m 1m 10000m 10m
> abram.smith.example.xxx. 3600  IN      LOC     40 32 24.716 N 105 4
> 25.770 W 42849672.91m 1000m 500000m 2000m
> addie.smith.example.xxx. 3600  IN      LOC     90 0 0.000 S 180 0 0.000
> E 42849672.91m 9000000m 9000000m 9000000m
> addie.smith.example.xxx. 3600  IN      LOC     90 0 0.000 S 180 0 0.000
> E 42849672.91m 90000000m 90000000m 80000000m
> 
cat db.test
> 
> $TTL    3600
> ;
> smith.example.xxx.       IN      SOA     gateway62.z95.net.
> root.localhost. (
>                             227		 ; Serial
>                          604820         ; Refresh
>                           86400         ; Retry
>                         2419200         ; Expire
>                          604800 )       ; Negative Cache TTL
> ;
> ;_ftp._tcp.smith.example.xxx.      IN      SRV 1 0 21 zombie95.z95.net.
> ;_http._tcp.smith.example.xxx.     IN      SRV 0 2 80 zombie95.z95.net.
> ;_http._tcp.smith.example.xxx.     IN      SRV 0 1 80
> zombie100.z95.net.
> ;_gopher._tcp.smith.example.xxx.   IN      SRV 0 0 0 .
> ;_sip._udp.smith.example.xxx.  43200  IN      SRV 0 0 5060
> zombie95.z95.net.
> ;_sip._udp.smith.example.xxx.  43200  IN      SRV 1 0 5060
> zombie100.z95.net.
> ;_sip._tcp.smith.example.xxx.  43200  IN      SRV 0 4 5060
> zombie95.z95.net.
> ;_sip._tcp.smith.example.xxx.  43200  IN      SRV 0 0 5060
> zombie100.z95.net.
> ;_sips._tcp.smith.example.xxx.  43200  IN      SRV 0 0 5060
> zombie95.z95.net.
> ;_sips._tcp.smith.example.xxx.  43200  IN      SRV 0 0 5060
> zombie100.z95.net.
> ;smith.example.xxx. IN NAPTR 0 0 "s" "SIPS+D2T" ""
> _sips._tcp.smith.example.xxx.
> ;smith.example.xxx. IN NAPTR 1 0 "s" "SIP+D2T"  ""
> _sip._tcp.smith.example.xxx.
> ;smith.example.xxx. IN NAPTR 2 0 "s" "SIP+D2U"  ""
> _sip._udp.smith.example.xxx.
> ;
> smith.example.xxx.     IN NS gateway62.z95.net.
> $ORIGIN smith.example.xxx.
> abbey IN A  200.0.0.2
> abbey IN LOC 40 32 24.716 N 105 04 25.770 W 1208m 609344m 2000m
> abbey IN RP bryan.mccauley.example.com.  LAM1.people.umd.edu.
> abbie IN A  200.0.0.3
> ;abbie IN WKS   200.0.0.3 tcp smtp
> abbie IN HINFO   PC UNIX-LINUX
> abbie IN TXT  "long
> text=012345678921234567893123456789412345678951234567896123456789712345678981
> 23456789912345678901234567892123456789312345678941234567895123456789612345678
> 97123456789812345678991234567890123456789212345678931234567894123456789512345
> 6789511111111115678"
> 
> abby IN A 200.0.0.4
> abby IN LOC 40 32 24.716 N 105 04 25.770 W  10m 10m
> abdul A 200.0.0.5
> abdul IN LOC 40 32 24.716 N 105 04 25.770 W 42849672.91 1208m 609344m
> 2000m
> abe A 200.0.0.6
> abe IN LOC 40 32 24.716 N 105 04 25.770 W -100000.00m 0m 0m 00m
> abel A 200.0.0.7
> abel IN LOC 90 N 180 W 0.00m 0m 0m 00m
> abigail A 200.0.0.8
> abraham A 200.0.0.9
> abram A 200.0.0.10
> abram IN LOC 40 32 24.716 N 105 04 25.770 W 42849672.91 1208m 599344m
> 2002m
> ada IN A 200.0.0.11
> aba IN LOC 90 S 180 E 0.00m 0m 0m 00m
> 1capital IN A 200.0.0.12
> ACapital IN A 200.0.0.13
> adaline IN A 200.0.0.14
> adam IN A  200.0.0.15
> adam IN MX  10 mars.example.com.
> adam IN MX  20 saturn.example.com.
> adam IN MX  30 7ap140.z95.net.
> adam IN MX  40 bsd.z95.net.
> adam IN MX  50 comp28.z95.net.
> ;adam IN      GPOS    -32.6882 116.8652 10.0
> adan IN A  200.0.0.16
> ; Should Fail as Altitude max is 42,849,672.95 meters Max precision is
> 90,000,000 M (90,000km)
> aban IN LOC 90 S 180 E 9000000.00 9000000.00 9000000.00
> addie IN A  200.0.0.17
> ;Max Latitude is 90 N MIN 90 S Longitude 180 W to 180 E
> addie IN LOC 90 S 180 E 42849672.91m 9000000.00m 9000000.00m
> 9000000.00m
> adela IN A  200.0.0.18
> ; Should pass as Altitude max is 42,849,672.95 meters Max precision is
> 90,000,000 M (90,000km)
> addie IN LOC 90 S 180 E 42849672.91m 90000000m 90000000m 89999999m
> adelaida IN A  200.0.0.19
> adelaide IN A  200.0.0.20
> adele IN A  200.0.0.21
> ; Should default to Size 1m Horizontal precision 10000m and vertical to
> 10m
> abele IN LOC 40 32 24.716 N 105 04 25.770 W 1208m
> adelia IN A  200.0.0.22
> bad-boy IN CNAME BAD_GIRL
> bad-girl IN CNAME Madonna
> ab  IN  PX  10   ab.net2.it.  O-ab.PRMD-net2.ADMDb.C-it.
> cursive  IN  NSAP  0x47.0005.80.005a00.0000.0001.e133.ffffff000171.00
> choice  X25       311061700956
> foo  IN APL 1:192.168.32.0/21 !1:192.168.38.0/28
> ; dskey KEY  256 3 1 (
> ;                   AQPwHb4UL1U9RHaU8qP+Ts5bVOU1s7fYbj2b3CCbzNdj
> ;                     4+/ECd18yKiyUQqKqQFWW5T3iVc8SJOKnueJHt/Jb/wt
> ;                       ) ; key id = 28668
> ;                DS   28668 1  1
> 49FD46E6C4B45C55D4AC69CBD3CD34AC1AFE51DE
> beef IN   ISDN      150862028003217
> Prime      IN   ISDN      150862028003217 004
> sh      IN   RT   2    Relay.Prime.COM.
>         IN   RT   10   NET.Prime.COM.
> *       IN   RT   90   Relay.Prime.COM.
> 
> 
--
ISC Training!  October 16-20, 2006, in the San Francisco Bay Area,
covering topics from DNS to DHCP.  Email training at isc.org.
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark_Andrews at isc.org



More information about the bind-users mailing list