crypto: move into libnotmuch_util

This prepares us for using the crypto object in both libnotmuch and
the client.
This commit is contained in:
Daniel Kahn Gillmor 2017-10-17 15:09:55 -04:00 committed by David Bremner
parent 6499fce391
commit 197d67959b
5 changed files with 36 additions and 24 deletions

View file

@ -246,7 +246,6 @@ notmuch_client_srcs = \
sprinter-text.c \ sprinter-text.c \
query-string.c \ query-string.c \
mime-node.c \ mime-node.c \
crypto.c \
tag-util.c tag-util.c
notmuch_client_modules = $(notmuch_client_srcs:.c=.o) notmuch_client_modules = $(notmuch_client_srcs:.c=.o)

View file

@ -32,9 +32,6 @@
#include "gmime-extra.h" #include "gmime-extra.h"
/* This is automatically included only since gmime 2.6.10 */
#include <gmime/gmime-pkcs7-context.h>
#include "notmuch.h" #include "notmuch.h"
/* This is separate from notmuch-private.h because we're trying to /* This is separate from notmuch-private.h because we're trying to
@ -54,6 +51,7 @@
#include <ctype.h> #include <ctype.h>
#include "talloc-extra.h" #include "talloc-extra.h"
#include "crypto.h"
#define unused(x) x __attribute__ ((unused)) #define unused(x) x __attribute__ ((unused))
@ -71,16 +69,6 @@ typedef struct notmuch_show_format {
const struct notmuch_show_params *params); const struct notmuch_show_params *params);
} notmuch_show_format_t; } 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 { typedef struct notmuch_show_params {
bool entire_thread; bool entire_thread;
bool omit_excluded; bool omit_excluded;
@ -180,14 +168,6 @@ typedef struct _notmuch_config notmuch_config_t;
void void
notmuch_exit_if_unsupported_format (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 int
notmuch_count_command (notmuch_config_t *config, int argc, char *argv[]); notmuch_count_command (notmuch_config_t *config, int argc, char *argv[]);

View file

@ -5,7 +5,7 @@ extra_cflags += -I$(srcdir)/$(dir)
libnotmuch_util_c_srcs := $(dir)/xutil.c $(dir)/error_util.c $(dir)/hex-escape.c \ 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)/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) libnotmuch_util_modules := $(libnotmuch_util_c_srcs:.c=.o)

View file

@ -18,7 +18,12 @@
* Authors: Jameson Rollins <jrollins@finestructure.net> * Authors: Jameson Rollins <jrollins@finestructure.net>
*/ */
#include "notmuch-client.h" #include "crypto.h"
#include <strings.h>
#define unused(x) x __attribute__ ((unused))
#define ARRAY_SIZE(arr) (sizeof (arr) / sizeof (arr[0]))
#if (GMIME_MAJOR_VERSION < 3) #if (GMIME_MAJOR_VERSION < 3)
/* Create a GPG context (GMime 2.6) */ /* Create a GPG context (GMime 2.6) */
static GMimeCryptoContext * static GMimeCryptoContext *

28
util/crypto.h Normal file
View file

@ -0,0 +1,28 @@
#ifndef _CRYPTO_H
#define _CRYPTO_H
#include <stdbool.h>
#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