diff options
author | Daniel Kahn Gillmor <dkg@fifthhorseman.net> | 2017-10-17 15:09:56 -0400 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2017-10-20 07:58:20 -0300 |
commit | a18bbf7f155369f251b0513788eade23be3555d5 (patch) | |
tree | ee52bbde803913e42ead01ffcd5d0e6337ddab99 /mime-node.c | |
parent | 197d67959bf459fc0f1f63a202d162a569535bf3 (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.c | 7 |
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; } |