RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 3986, "Uniform Resource Identifier (URI): Generic Syntax", January 2005

Source of RFC: IETF - NON WORKING GROUP
Area Assignment: app

Errata ID: 4394
Status: Rejected
Type: Technical

Reported By: Steven Liekens
Date Reported: 2015-06-15
Rejected by: Barry Leiba
Date Rejected: 2015-06-15

Section 3.2.2 says:

IPv6address =                            6( h16 ":" ) ls32
                 /                       "::" 5( h16 ":" ) ls32
                 / [               h16 ] "::" 4( h16 ":" ) ls32
                 / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
                 / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
                 / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32
                 / [ *4( h16 ":" ) h16 ] "::"              ls32
                 / [ *5( h16 ":" ) h16 ] "::"              h16
                 / [ *6( h16 ":" ) h16 ] "::"

It should say:

IPv6address = (                6( h16 ":" ) ls32 ) 
            / (           "::" 5( h16 ":" ) ls32 )
            / ( [   h16 ] "::" 4( h16 ":" ) ls32 )
            / ( [ h16-2 ] "::" 3( h16 ":" ) ls32 )
            / ( [ h16-3 ] "::" 2( h16 ":" ) ls32 )
            / ( [ h16-4 ] "::"    h16 ":"   ls32 )
            / ( [ h16-5 ] "::"              ls32 )
            / ( [ h16-6 ] "::"               h16 )
            / ( [ h16-7 ] "::"                   )

h16-7       = ( *6( h16 ":" ) h16 ) / h16-6

h16-6       = ( *5( h16 ":" ) h16 ) / h16-5

h16-5       = ( *4( h16 ":" ) h16 ) / h16-4

h16-4       = ( *3( h16 ":" ) h16 ) / h16-3

h16-3       = ( *2( h16 ":" ) h16 ) / h16-2

h16-2       = (   [ h16 ":" ] h16 ) / h16

Notes:

The 'IPv6address' rule requires more than 1 lookahead symbol.

Example value: 1::

Parsers that implement a first-match-wins strategy will erroneously match 1:: as ( h16 ":" ), followed by an unexpected symbol.

Parsers that implement a first-match-wins strategy with the corrected grammar will correctly match 1:: as ( h16 "::" ).
--VERIFIER NOTES--
As with errata report 4393, this is trying to use ABNF beyond what it's meant for.

Report New Errata