Skip to content

Clarify guidance on packet framing formats

Daniel Kahn Gillmor requested to merge packet-format-progress into main

The old packet format is only relevant for compatibility with PGP 2.6.x. The "new" packet format has been around since at least RFC 2440 released in 1998.

Keeping both formats around has a significant cost. Notably, the old packet format's indeterminate length encoding is a source of complexity. It'd be nice to get rid of that eventually, hence we start the deprecation process by making it mandatory to use the new packet format when generating packets.

The DT struggled to reach consensus in mandating that modern implemenations would alway emit only new-format packets (see !99 (closed)), but we seemed to all agree that at least:

  • Newly-generated OpenPGP material MUST use the new packet framing, particularly the Compressed Data and Literal Data packets.

  • No OpenPGP implementation should ever emit old-format indeterminate length packets.

This leaves the following place where a modern implementation could plausibly emit an old-format packet:

  • Re-transmission of a pre-existing Transferable Public Key that already contained an old format packet.

This changeset attempts to document this compromise consensus, and is mutually-exclusive with !99 (closed).

Merge request reports