gpgparsemail: Allow weirdly-mixed pkcs7 signatures.
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Mon, 8 Feb 2016 20:44:07 +0000 (15:44 -0500)
committerWerner Koch <wk@gnupg.org>
Thu, 18 Feb 2016 11:15:46 +0000 (12:15 +0100)
commit7e7f35a2d7d40267a4dd30791df77420efeebfa7
treed485f1667c687e39e76f405eb2ecea1c49f29639
parent813df2fe6656e55bea4d0be07cc964a140218412
gpgparsemail: Allow weirdly-mixed pkcs7 signatures.

* tools/gpgparsemail.c: Add and check info->signing_protocol_2.

--
Some mailers in the wild will generate messages that have the a weird
structure where they use the x- prefix in one part and drop it in
another.

For example, the main MIME part as a whole has:

Content-Type: multipart/signed;
   protocol="application/x-pkcs7-signature"

but the signature sub-part has:

  Content-Type: application/pkcs7-signature

(or vice versa, where the x- prefix is in the sub-part but not the
protocol= section on the main MIME object)

This change also avoids allocating strings for these comparisons,
since the const strings in question are already available in the built
executable, and no dynamic labels are needed.

===
- 2 lines reformatted to keep them below 90 cols. - wk
tools/gpgparsemail.c