RFC Errata
Found 3 records.
Status: Verified (3)
RFC 8777, "DNS Reverse IP Automatic Multicast Tunneling (AMT) Discovery", April 2020
Source of RFC: mboned (ops)
Errata ID: 6218
Status: Verified
Type: Technical
Publication Format(s) : TEXT, PDF, HTML
Reported By: Brian Wellington
Date Reported: 2020-07-01
Verifier Name: Warren Kumari (Ops AD)
Date Verified: 2020-07-17
Section 4.3.2 says:
10 IN TYPE260 \# ( 18 ; length 0a ; precedence=10 02 ; D=0, relay type=2, an IPv6 address 20010db800000000000000000000000f ) ; 2001:db8::15 10 IN TYPE260 \# ( 24 ; length 80 ; precedence=128 83 ; D=1, relay type=3, a wire-encoded domain name 09616d7472656c617973076578616d706c6503636f6d ) ; domain name
It should say:
10 IN TYPE260 \# ( 18 ; length 0a ; precedence=10 02 ; D=0, relay type=2, an IPv6 address 20010db8000000000000000000000015 ) ; 2001:db8::15 10 IN TYPE260 \# ( 25 ; length 80 ; precedence=128 83 ; D=1, relay type=3, a wire-encoded domain name 09616d7472656c617973076578616d706c6503636f6d00 ) ; domain name
Notes:
In the first example, the IPv6 address is incorrectly encoded.
In the second example, the trailing root label of the domain name was not included, and should be. This also increases the length by 1 byte.
Errata ID: 6688
Status: Verified
Type: Technical
Publication Format(s) : TEXT, PDF, HTML
Reported By: Dick Franks
Date Reported: 2021-09-19
Verifier Name: Warren Kumari (Ops AD)
Date Verified: 2021-10-05
Section 5 says:
+-------+---------------------------------------+ | 3 | A wire-encoded domain name is present | +-------+---------------------------------------+ | 4-255 | Unassigned | +-------+---------------------------------------+ Table 2: Initial Contents of the "Relay Type Field" Registry Values 0, 1, 2, and 3 are further explained in Sections 4.2.3 and 4.2.4. Relay type numbers 4 through 255 can be assigned with a policy of Specification Required (as described in [RFC8126]).
It should say:
+-------+---------------------------------------+ | 3 | A wire-encoded domain name is present | +-------+---------------------------------------+ | 4-127 | Unassigned | +-------+---------------------------------------+ Table 2: Initial Contents of the "Relay Type Field" Registry Values 0, 1, 2, and 3 are further explained in Sections 4.2.3 and 4.2.4. Relay type numbers 4 through 127 can be assigned with a policy of Specification Required (as described in [RFC8126]).
Notes:
Relay Type is a 7 bit field, the MS bit of the wire-format octet contains the D-bit.
[Update: 2021-10-05 - AD: Confirmed that you can't fit 8 bits into a 7 bit field - see: https://mailarchive.ietf.org/arch/msg/mboned/cdzHm6Uxwuua5zsOONHtK-RmdU8/ ]
Errata ID: 6155
Status: Verified
Type: Editorial
Publication Format(s) : TEXT, PDF, HTML
Reported By: Jake Holland
Date Reported: 2020-05-01
Verifier Name: Warren Kumari (Ops AD)
Date Verified: 2021-04-27
Section Appendix A says:
<CODE BEGINS> $ cat translate.py #!/usr/bin/env python3 import sys name=sys.argv[1] wire='' for dn in name.split('.'): if len(dn) > 0: wire += ('%02x' % len(dn)) wire += (''.join('%02x'%ord(x) for x in dn)) print(len(wire)//2) + 2 print(wire) $ ./translate.py amtrelays.example.com 24 09616d7472656c617973076578616d706c6503636f6d <CODE ENDS>
It should say:
<CODE BEGINS> $ cat translate.py #!/usr/bin/env python3 import sys name=sys.argv[1] wire='' for dn in name.split('.'): if len(dn) > 0: wire += ('%02x' % len(dn)) wire += (''.join('%02x'%ord(x) for x in dn)) print(len(wire)//2 + 2) print(wire) $ ./translate.py amtrelays.example.com 24 09616d7472656c617973076578616d706c6503636f6d <CODE ENDS>
Notes:
The original sample code gives a runtime error when executed. The +2 should have been inside the parenthesis for the print function.