ietf
[Top] [All Lists]

Re: Weakness of DNS classes (was Re: Last Call: <draft-ietf-dnsop-onion-tld-00.txt> (The .onion Special-Use Domain Name) to Proposed Standard)

2015-07-22 00:02:05

In message <20150721222443(_dot_)58930(_dot_)qmail(_at_)ary(_dot_)lan>, "John 
Levine" writes:
It turns out that aliases are defined as class-independent.

Oh, it's worse than that.

$ fgrep -i "class independent" rfc????.txt
rfc3845.txt:   The NSEC RR RDATA format is class independent and defined for 
all
rfc4025.txt:   This resource record [IPSECKEY] is class independent.
rfc4034.txt:   The DNSKEY RR is class independent.
rfc4034.txt:   The RRSIG RR is class independent.
rfc4034.txt:   The NSEC RR is class independent.
rfc4034.txt:   The DS resource record is class independent.
rfc5155.txt:   The NSEC3 RR RDATA format is class independent and is described
rfc5155.txt:   The NSEC3PARAM RR RDATA format is class independent and is 
described
rfc6698.txt:   The TLSA RR is class independent.
rfc6742.txt:   The NID RR is class independent.
rfc6742.txt:   The L32 RR is class independent.
rfc6742.txt:   The L64 RR is class independent.
rfc6742.txt:   The LP RR is class independent.
rfc7043.txt:   The EUI48 RR is class independent.
rfc7043.txt:   The EUI64 RR is class independent.
rfc7553.txt:   The URI resource record is class independent.

I think this means that all of the other RR's are only valid in class
IN, but I don't really know.

R's,
John

The RR types that are class dependent are called out as such.  A,
AAAA and WKS are class dependent.  A's structure and text representation
changes based on the class.  AAAA and WKS only make sence in IN.
WKS as a IN A record embeded in it and IN specific port numbers.

For a developer class dependence/independence impacts on how you
parse the record and the wire encoding of the record.

% ls lib/dns/rdata/in_1/
a6_38.c         aaaa_28.h       kx_36.c         nsap_22.h       wks_11.c
a6_38.h         apl_42.c        kx_36.h         px_26.c         wks_11.h
a_1.c           apl_42.h        nsap-ptr_23.c   px_26.h
a_1.h           dhcid_49.c      nsap-ptr_23.h   srv_33.c
aaaa_28.c       dhcid_49.h      nsap_22.c       srv_33.h
% 

% ls lib/dns/rdata/ch_3/
a_1.c   a_1.h
% 

% ls lib/dns/rdata/hs_4/
a_1.c   a_1.h
% 



% ls lib/dns/rdata/generic/
afsdb_18.c      eui64_109.c     lp_107.c        nsec3_50.c      rt_21.c
afsdb_18.h      eui64_109.h     lp_107.h        nsec3_50.h      rt_21.h
caa_257.c       gpos_27.c       mb_7.c          nsec3param_51.c sig_24.c
caa_257.h       gpos_27.h       mb_7.h          nsec3param_51.h sig_24.h
cdnskey_60.c    hinfo_13.c      md_3.c          nsec_47.c       soa_6.c
cdnskey_60.h    hinfo_13.h      md_3.h          nsec_47.h       soa_6.h
cds_59.c        hip_55.c        mf_4.c          null_10.c       spf_99.c
cds_59.h        hip_55.h        mf_4.h          null_10.h       spf_99.h
cert_37.c       ipseckey_45.c   mg_8.c          nxt_30.c        sshfp_44.c
cert_37.h       ipseckey_45.h   mg_8.h          nxt_30.h        sshfp_44.h
cname_5.c       isdn_20.c       minfo_14.c      openpgpkey_61.c tkey_249.c
cname_5.h       isdn_20.h       minfo_14.h      openpgpkey_61.h tkey_249.h
dlv_32769.c     key_25.c        mr_9.c          opt_41.c        tlsa_52.c
dlv_32769.h     key_25.h        mr_9.h          opt_41.h        tlsa_52.h
dname_39.c      keydata_65533.c mx_15.c         proforma.c      txt_16.c
dname_39.h      keydata_65533.h mx_15.h         proforma.h      txt_16.h
dnskey_48.c     l32_105.c       naptr_35.c      ptr_12.c        unspec_103.c
dnskey_48.h     l32_105.h       naptr_35.h      ptr_12.h        unspec_103.h
ds_43.c         l64_106.c       nid_104.c       rp_17.c         uri_256.c
ds_43.h         l64_106.h       nid_104.h       rp_17.h         uri_256.h
eui48_108.c     loc_29.c        ns_2.c          rrsig_46.c      x25_19.c
eui48_108.h     loc_29.h        ns_2.h          rrsig_46.h      x25_19.h
% 

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka(_at_)isc(_dot_)org

<Prev in Thread] Current Thread [Next in Thread>