From: David Bremner <david@tethera.net>
To: David Bremner <david@tethera.net>,
Daniel Kahn Gillmor <dkg@debian.org>,
notmuch@notmuchmail.org
Subject: [PATCH 2/2] test/smime: fix signature verification test with newer gmime.
Date: Sat, 9 Apr 2022 09:34:53 -0300 [thread overview]
Message-ID: <20220409123453.606391-2-david@tethera.net> (raw)
In-Reply-To: <20220409123453.606391-1-david@tethera.net>
The extra machinery to check for the actual output format is justified
by the possibility that distros may patch this newere output format
into older versions of gmime.
---
configure | 17 +++++++++++++++++
test/T355-smime.sh | 7 +++++--
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index d6e1200e..922de60d 100755
--- a/configure
+++ b/configure
@@ -588,6 +588,11 @@ int main () {
#ifdef CHECK_VALIDITY
validity = g_mime_certificate_get_id_validity (cert);
if (validity != GMIME_VALIDITY_FULL) return !! fprintf (stderr, "Got validity %d, expected %d\n", validity, GMIME_VALIDITY_FULL);
+#endif
+#ifdef CHECK_EMAIL
+ const char *email = g_mime_certificate_get_email (cert);
+ if (! email) return !! fprintf (stderr, "no email returned");
+ if (email[0] == '<') return 2;
#endif
return 0;
}
@@ -622,6 +627,15 @@ EOF
errors=$((errors + 1))
fi
fi
+ printf "Checking for GMime new email format... "
+ if ${CC} -DCHECK_EMAIL ${CFLAGS} ${gmime_cflags} _check_gmime_cert.c ${gmime_ldflags} -o _check_email &&
+ GNUPGHOME=${TEMP_GPG} ./_check_email; then
+ gmime_new_email_format=1
+ printf "Yes.\n"
+ else
+ gmime_new_email_format=0
+ printf "No (some tests will be skipped).\n"
+ fi
else
printf 'No.\nFailed to set up gpgsm for testing X.509 certificate validity support.\n'
errors=$((errors + 1))
@@ -1559,6 +1573,9 @@ NOTMUCH_HAVE_XAPIAN_DB_RETRY_LOCK=${WITH_RETRY_LOCK}
# Whether GMime can verify X.509 certificate validity
NOTMUCH_GMIME_X509_CERT_VALIDITY=${gmime_x509_cert_validity}
+# Whether GMime returns bare emails (without <>)
+NOTMUCH_GMIME_NEW_EMAIL_FORMAT=${gmime_new_email_format}
+
# Whether GMime can verify signatures when decrypting with a session key:
NOTMUCH_GMIME_VERIFY_WITH_SESSION_KEY=${gmime_verify_with_session_key}
diff --git a/test/T355-smime.sh b/test/T355-smime.sh
index 31fa4b4e..2905263b 100755
--- a/test/T355-smime.sh
+++ b/test/T355-smime.sh
@@ -35,6 +35,9 @@ EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "signature verification (notmuch CLI)"
+if [ $NOTMUCH_GMIME_NEW_EMAIL_FORMAT != 1 ]; then
+ test_subtest_known_broken
+fi
output=$(notmuch show --format=json --verify subject:"test signed message 001" \
| notmuch_json_show_sanitize \
| sed -e 's|"created": [-1234567890]*|"created": 946728000|g' \
@@ -46,7 +49,7 @@ expected='[[[{"id": "XXXXX",
"timestamp": 946728000,
"date_relative": "2000-01-01",
"tags": ["inbox","signed"],
- "crypto": {"signed": {"status": [{"fingerprint": "'$FINGERPRINT'", "status": "good","userid": "CN=Notmuch Test Suite", "email": "<test_suite@notmuchmail.org>", "expires": 424242424, "created": 946728000}]}},
+ "crypto": {"signed": {"status": [{"fingerprint": "'$FINGERPRINT'", "status": "good","userid": "CN=Notmuch Test Suite", "email": "test_suite@notmuchmail.org", "expires": 424242424, "created": 946728000}]}},
"headers": {"Subject": "test signed message 001",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
@@ -55,7 +58,7 @@ expected='[[[{"id": "XXXXX",
"sigstatus": [{"fingerprint": "'$FINGERPRINT'",
"status": "good",
"userid": "CN=Notmuch Test Suite",
- "email": "<test_suite@notmuchmail.org>",
+ "email": "test_suite@notmuchmail.org",
"expires": 424242424,
"created": 946728000}],
"content-type": "multipart/signed",
--
2.35.1
next prev parent reply other threads:[~2022-04-09 12:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-18 10:48 Failing notmuch/SMIME test David Bremner
2022-03-20 21:10 ` Daniel Kahn Gillmor
2022-03-22 17:16 ` David Bremner
2022-04-09 12:34 ` [PATCH 1/2] configure: restructure gmime cert validity checker code David Bremner
2022-04-09 12:34 ` David Bremner [this message]
2022-04-11 0:35 ` [PATCH 2/2] test/smime: fix signature verification test with newer gmime Daniel Kahn Gillmor
2022-04-11 8:44 ` Michael J Gruber
2022-04-11 21:53 ` Daniel Kahn Gillmor
2022-04-12 20:15 ` [PATCH v2 " michaeljgruber+grubix+git
2022-04-12 23:26 ` Daniel Kahn Gillmor
2022-04-13 11:28 ` David Bremner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220409123453.606391-2-david@tethera.net \
--to=david@tethera.net \
--cc=dkg@debian.org \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).