summaryrefslogtreecommitdiffstats
path: root/mime-node.c
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2017-10-17 15:09:56 -0400
committerDavid Bremner <david@tethera.net>2017-10-20 07:58:20 -0300
commita18bbf7f155369f251b0513788eade23be3555d5 (patch)
treeee52bbde803913e42ead01ffcd5d0e6337ddab99 /mime-node.c
parent197d67959bf459fc0f1f63a202d162a569535bf3 (diff)
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.
Diffstat (limited to 'mime-node.c')
-rw-r--r--mime-node.c7
1 files changed, 6 insertions, 1 deletions
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;
}