From a18bbf7f155369f251b0513788eade23be3555d5 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Tue, 17 Oct 2017 15:09:56 -0400 Subject: crypto: make shared crypto code behave library-like If we're going to reuse the crypto code across both the library and the client, then it needs to report error states properly and not write to stderr. --- mime-node.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'mime-node.c') diff --git a/mime-node.c b/mime-node.c index d48be4c4..c3d5cb9b 100644 --- a/mime-node.c +++ b/mime-node.c @@ -269,7 +269,12 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part) || (GMIME_IS_MULTIPART_SIGNED (part) && node->ctx->crypto->verify)) { GMimeContentType *content_type = g_mime_object_get_content_type (part); const char *protocol = g_mime_content_type_get_parameter (content_type, "protocol"); - cryptoctx = _notmuch_crypto_get_gmime_context (node->ctx->crypto, protocol); + notmuch_status_t status; + status = _notmuch_crypto_get_gmime_ctx_for_protocol (node->ctx->crypto, + protocol, &cryptoctx); + if (status) /* this is a warning, not an error */ + fprintf (stderr, "Warning: %s (%s).\n", notmuch_status_to_string (status), + protocol ? protocol : "NULL"); if (!cryptoctx) return NULL; } -- cgit v1.2.3