RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

Found 3 records.

Status: Verified (2)

RFC 3533, "The Ogg Encapsulation Format Version 0", May 2003

Source of RFC: INDEPENDENT

Errata ID: 6796
Status: Verified
Type: Editorial
Publication Format(s) : TEXT

Reported By: Gang Zhao
Date Reported: 2021-12-25
Verifier Name: Adrian Farrel
Date Verified: 2021-12-27

Section 5 says:

Page_1 consists of the first three segments of
packet_1, page_2 contains the remaining 2 segments from packet_1, and
page_3 contains the first three pages of packet_2.

It should say:

Page_1 consists of the first three segments of
packet_1, page_2 contains the remaining 2 segments from packet_1, and
page_3 contains the first three segments of packet_2.

Notes:

The last part of this sentence used "three pages" which should be "three segments". As package is divided into segments.

Errata ID: 8825
Status: Verified
Type: Editorial
Publication Format(s) : TEXT

Reported By: Sam Whited
Date Reported: 2026-03-12
Verifier Name: Eliot Lear
Date Verified: 2026-03-31

Section 6 says:

7. CRC_checksum: a 4 Byte field containing a 32 bit CRC checksum of
   the page (including header with zero CRC field and page content).
   The generator polynomial is 0x04c11db7.

It should say:

7. CRC_checksum: a 4 Byte field containing a 32 bit CRC checksum of
   the page (including page content as well as the header with a
   zeroed CRC field).  The generator polynomial is 0x04c11db7.

Notes:

The current text is ambiguous and makes it unclear whether you are calculating the checksum with a zeroed CRC field and zeroed page content or the zeroed CRC field and including the full page content (ie. are you using it to verify that the header was written correctly or the page content and header were both written correctly). The point of the CRC is to verify both, so perhaps it's obvious that it should be the latter, but I briefly considered that the CRC may only apply to the page header so it seems worth clarifying the ambiguous language.

Status: Reported (1)

RFC 3533, "The Ogg Encapsulation Format Version 0", May 2003

Source of RFC: INDEPENDENT

Errata ID: 8824
Status: Reported
Type: Technical
Publication Format(s) : TEXT

Reported By: Sam Whited
Date Reported: 2026-03-12

Section 6 says:

7. CRC_checksum: a 4 Byte field containing a 32 bit CRC checksum of
   the page (including header with zero CRC field and page content).
   The generator polynomial is 0x04c11db7.

It should say:

7. CRC_checksum: a 4 Byte field containing a 32 bit CRC checksum
   (using the "unreflected" CRC32 algorithm) of the page (including
   header with zero CRC field and page content). The generator
   polynomial is 0x04c11db7 in normal (MSB-first) representation.

Notes:

I believe this to be under-specified since the exact use of CRC32 is undefined and pages should be verifiable across implementations. I tested several implementations in Go and found that they did not generate checksums compatible with libogg (which is what I looked at to determine which algorithm to use in the corrected text, assuming libogg to e standard). It may also be worth having a reference pointing to information about the CRC32 algorithm being used.

It's not clear to me that the proposed text fully resolves the issue, instead it may be better to mention the CRC32 parameters used as well, as I'm not sure that "unreflected" fully tells you which algorithm to use.

Report New Errata



Advanced Search