RFC Errata
Found 2 records.
Status: Reported (2)
RFC 4506, "XDR: External Data Representation Standard", May 2006
Source of RFC: nfsv4 (wit)
Errata ID: 6382
Status: Reported
Type: Technical
Publication Format(s) : TEXT
Reported By: Ed Schouten
Date Reported: 2021-01-08
Section 6.3 says:
declaration: type-specifier identifier | type-specifier identifier "[" value "]" | type-specifier identifier "<" [ value ] ">" | "opaque" identifier "[" value "]" | "opaque" identifier "<" [ value ] ">" | "string" identifier "<" [ value ] ">" | type-specifier "*" identifier | "void" [...] struct-body: "{" ( declaration ";" ) ( declaration ";" )* "}" [...] type-def: "typedef" declaration ";" | "enum" identifier enum-body ";" | "struct" identifier struct-body ";" | "union" identifier union-body ";"
It should say:
None
Notes:
This grammar permits statements like:
typedef void;
struct foo { void; };
rpcgen doesn't allow this, failing with the following error message:
voids allowed only inside union and program definitions with one argument
Errata ID: 7101
Status: Reported
Type: Technical
Publication Format(s) : TEXT
Reported By: Dylan Allbee
Date Reported: 2022-08-21
Section 4.3 says:
Enumerations have the same representation as signed integers. Enumerations are handy for describing subsets of the integers. Enumerated data is declared as follows: enum { name-identifier = constant, ... } identifier; For example, the three colors red, yellow, and blue could be described by an enumerated type: enum { RED = 2, YELLOW = 3, BLUE = 5 } colors;
It should say:
... enum identifier { name-identifier = constant, ... } ; ^^^^^^^^^^ ... enum colors { RED = 2, YELLOW = 3, BLUE = 5 } ; ^^^^^^
Notes:
The grammar for this definition, as specified in 6.3, is:
type-def:
"typedef" declaration ";"
| "enum" identifier enum-body ";"
| "struct" identifier struct-body ";"
| "union" identifier union-body ";"
It is unclear whether the original intent was for identifies to precede or succeed the definition bodies. The example in section 7 shows: enum filekind { ... }
And several RFCs which depend on 4506 have also followed that pattern, such as this example from RFC 5531, section 8.2: enum auth_flavor { ... }