From 197d67959bf459fc0f1f63a202d162a569535bf3 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Tue, 17 Oct 2017 15:09:55 -0400 Subject: [PATCH] crypto: move into libnotmuch_util This prepares us for using the crypto object in both libnotmuch and the client. --- Makefile.local | 1 - notmuch-client.h | 22 +--------------------- util/Makefile.local | 2 +- crypto.c => util/crypto.c | 7 ++++++- util/crypto.h | 28 ++++++++++++++++++++++++++++ 5 files changed, 36 insertions(+), 24 deletions(-) rename crypto.c => util/crypto.c (96%) create mode 100644 util/crypto.h diff --git a/Makefile.local b/Makefile.local index 9d9c52c2..9505b7fe 100644 --- a/Makefile.local +++ b/Makefile.local @@ -246,7 +246,6 @@ notmuch_client_srcs = \ sprinter-text.c \ query-string.c \ mime-node.c \ - crypto.c \ tag-util.c notmuch_client_modules = $(notmuch_client_srcs:.c=.o) diff --git a/notmuch-client.h b/notmuch-client.h index bdcfd893..d17cdf01 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -32,9 +32,6 @@ #include "gmime-extra.h" -/* This is automatically included only since gmime 2.6.10 */ -#include - #include "notmuch.h" /* This is separate from notmuch-private.h because we're trying to @@ -54,6 +51,7 @@ #include #include "talloc-extra.h" +#include "crypto.h" #define unused(x) x __attribute__ ((unused)) @@ -71,16 +69,6 @@ typedef struct notmuch_show_format { const struct notmuch_show_params *params); } notmuch_show_format_t; -typedef struct _notmuch_crypto { - bool verify; - bool decrypt; -#if (GMIME_MAJOR_VERSION < 3) - GMimeCryptoContext* gpgctx; - GMimeCryptoContext* pkcs7ctx; - const char *gpgpath; -#endif -} _notmuch_crypto_t; - typedef struct notmuch_show_params { bool entire_thread; bool omit_excluded; @@ -180,14 +168,6 @@ typedef struct _notmuch_config notmuch_config_t; void notmuch_exit_if_unsupported_format (void); -#if (GMIME_MAJOR_VERSION <3) -GMimeCryptoContext * -_notmuch_crypto_get_gmime_context (_notmuch_crypto_t *crypto, const char *protocol); -#endif - -void -_notmuch_crypto_cleanup (_notmuch_crypto_t *crypto); - int notmuch_count_command (notmuch_config_t *config, int argc, char *argv[]); diff --git a/util/Makefile.local b/util/Makefile.local index 3027880b..ba03230e 100644 --- a/util/Makefile.local +++ b/util/Makefile.local @@ -5,7 +5,7 @@ extra_cflags += -I$(srcdir)/$(dir) libnotmuch_util_c_srcs := $(dir)/xutil.c $(dir)/error_util.c $(dir)/hex-escape.c \ $(dir)/string-util.c $(dir)/talloc-extra.c $(dir)/zlib-extra.c \ - $(dir)/util.c $(dir)/gmime-extra.c + $(dir)/util.c $(dir)/gmime-extra.c $(dir)/crypto.c libnotmuch_util_modules := $(libnotmuch_util_c_srcs:.c=.o) diff --git a/crypto.c b/util/crypto.c similarity index 96% rename from crypto.c rename to util/crypto.c index 4c1b7eec..c51d67ed 100644 --- a/crypto.c +++ b/util/crypto.c @@ -18,7 +18,12 @@ * Authors: Jameson Rollins */ -#include "notmuch-client.h" +#include "crypto.h" +#include +#define unused(x) x __attribute__ ((unused)) + +#define ARRAY_SIZE(arr) (sizeof (arr) / sizeof (arr[0])) + #if (GMIME_MAJOR_VERSION < 3) /* Create a GPG context (GMime 2.6) */ static GMimeCryptoContext * diff --git a/util/crypto.h b/util/crypto.h new file mode 100644 index 00000000..80628dc5 --- /dev/null +++ b/util/crypto.h @@ -0,0 +1,28 @@ +#ifndef _CRYPTO_H +#define _CRYPTO_H + +#include +#if (GMIME_MAJOR_VERSION < 3) +#include "gmime-extra.h" +#endif + +typedef struct _notmuch_crypto { + bool verify; + bool decrypt; +#if (GMIME_MAJOR_VERSION < 3) + GMimeCryptoContext* gpgctx; + GMimeCryptoContext* pkcs7ctx; + const char *gpgpath; +#endif +} _notmuch_crypto_t; + + +#if (GMIME_MAJOR_VERSION < 3) +GMimeCryptoContext * +_notmuch_crypto_get_gmime_context (_notmuch_crypto_t *crypto, const char *protocol); +#endif + +void +_notmuch_crypto_cleanup (_notmuch_crypto_t *crypto); + +#endif