Hi,

With much testing, I have identified that this was caused by the change
in gpgme1.0 after upgrading from 1.18.0-6+b1 to 1.23.2-5.  More
specifically, gpg.Context.verify (which uses gpgme_op_verify underneath)
now calls "gpg" with "--verify" which caused its behavior to change and
resulted in the test failure in python-pgpy.  Specifically, previously
gpg.Context.verify on a signed message will return the original message,
but now it throws an error of GPG_ERR_NO_DATA, or GPG_ERR_BAD_DATA if it
encounters garbage following the clearsigned data.

More details please see the upstream bug[1] and commit[2] (see also
commit[3] where gpgme turns off a check of GPG_ERR_BAD_DATA due to this
behavior change.)

I have tested locally that removing "--verify" from the gpgme invocation
restores the previous behavior and the python-pgpy tests pass.  However,
I doubt reverting to previous behavior is something gpgme would want to
do.  So the usage of gpg.Context.verify() in python-pgpy tests need to
adapt to the new behavior.

[1] https://dev.gnupg.org/T6907
[2] https://dev.gnupg.org/rM1dc44b7c5b9253206af527721212d1f55532a7ee
[3] https://dev.gnupg.org/rMa73a41109fff3b6d3f81fa29d353419ae45f6dda

Attachment: signature.asc
Description: PGP signature

Reply via email to