SecurityInnovation / PGPy

Pretty Good Privacy for Python
BSD 3-Clause "New" or "Revised" License
313 stars 98 forks source link

OPSv3: get the "nested" flag right #452

Open dkg opened 1 year ago

dkg commented 1 year ago

"nested" semantically probably is meant to mean "another OPS packet follows". But the byte on the wire is defined as 0 means another OPS packet follows.

Furthermore, the flags are set in the wrong way: before this commit, the code produced a series of OPS packets where the first packet had a different value for the flag than all subsequent ones. What we want is where all the flags except the last OPS packet (corresponding to the first Sig packet) are 0.

See https://gitlab.com/sequoia-pgp/openpgp-interoperability-test-suite/-/issues/84