diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2018-07-11 12:23:52 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2018-08-10 12:09:33 +0200 |
commit | 37ed199fcebc73954e694b44033aeca4ab8a417f (patch) | |
tree | 22ae28e8efca1429704d1b9aad8eb4cfcbbabb11 | |
parent | 09f2e173850e011e6390c49a4f761e87dd87ffba (diff) | |
download | mupdf-37ed199fcebc73954e694b44033aeca4ab8a417f.tar.xz |
Use stubs instead of conditional compile with HAVE_LIBCRYPTO.
The macro is only set when building the pkcs7-helper library, so cannot
be used by client code. Build stub functions when compiling the
pkcs7-openssl helper library without libcrypto.
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | platform/gl/gl-form.c | 4 | ||||
-rw-r--r-- | platform/x11/pdfapp.c | 4 | ||||
-rw-r--r-- | source/helpers/pkcs7/pkcs7-openssl.c | 39 |
4 files changed, 39 insertions, 12 deletions
@@ -123,9 +123,7 @@ THREAD_SRC := source/helpers/mu-threads/mu-threads.c THREAD_OBJ := $(THREAD_SRC:%.c=$(OUT)/%.o) PKCS7_SRC := source/helpers/pkcs7/pkcs7-check.c -ifeq ($(HAVE_LIBCRYPTO),yes) - PKCS7_SRC += source/helpers/pkcs7/pkcs7-openssl.c -endif +PKCS7_SRC += source/helpers/pkcs7/pkcs7-openssl.c PKCS7_OBJ := $(PKCS7_SRC:%.c=$(OUT)/%.o) # --- Generated embedded font files --- diff --git a/platform/gl/gl-form.c b/platform/gl/gl-form.c index 123e8769..e42581ba 100644 --- a/platform/gl/gl-form.c +++ b/platform/gl/gl-form.c @@ -15,7 +15,6 @@ static struct input cert_password; static void do_sign(void) { -#ifdef HAVE_LIBCRYPTO pdf_pkcs7_signer *signer = NULL; fz_var(signer); @@ -36,9 +35,6 @@ static void do_sign(void) if (pdf_update_page(ctx, selected_annot->page)) render_page(); -#else - ui_show_warning_dialog("Document not signed as no LIBCRYPTO."); -#endif } static void cert_password_dialog(void) diff --git a/platform/x11/pdfapp.c b/platform/x11/pdfapp.c index 22fb7f1b..c273bfea 100644 --- a/platform/x11/pdfapp.c +++ b/platform/x11/pdfapp.c @@ -1696,7 +1696,6 @@ void pdfapp_onmouse(pdfapp_t *app, int x, int y, int btn, int modifiers, int sta break; case PDF_WIDGET_TYPE_SIGNATURE: -#ifdef HAVE_LIBCRYPTO if (state == -1) { char ebuf[256]; @@ -1752,9 +1751,6 @@ void pdfapp_onmouse(pdfapp_t *app, int x, int y, int btn, int modifiers, int sta } } } -#else - winwarn(app, "Cannot check signatures as no libcrypto!"); -#endif break; } } diff --git a/source/helpers/pkcs7/pkcs7-openssl.c b/source/helpers/pkcs7/pkcs7-openssl.c index 22d281df..1468b7e1 100644 --- a/source/helpers/pkcs7/pkcs7-openssl.c +++ b/source/helpers/pkcs7/pkcs7-openssl.c @@ -1,8 +1,43 @@ #include "mupdf/fitz.h" #include "mupdf/pdf.h" -#include "../../fitz/fitz-imp.h" +#include "../../fitz/fitz-imp.h" /* for fz_keep/drop_imp */ + #include "mupdf/helpers/pkcs7-openssl.h" +#ifndef HAVE_LIBCRYPTO + +enum pdf_signature_error +pkcs7_openssl_check_digest(fz_context *ctx, fz_stream *stm, char *sig, int sig_len) +{ + return PDF_SIGNATURE_ERROR_UNKNOWN; +} + +/* Check a singature's certificate is trusted */ +enum pdf_signature_error +pkcs7_openssl_check_certificate(char *sig, int sig_len) +{ + return PDF_SIGNATURE_ERROR_UNKNOWN; +} + +pdf_pkcs7_designated_name * +pkcs7_openssl_designated_name(fz_context *ctx, char *sig, int sig_len) +{ + return NULL; +} + +void +pkcs7_openssl_drop_designated_name(fz_context *ctx, pdf_pkcs7_designated_name *dn) +{ +} + +pdf_pkcs7_signer * +pkcs7_openssl_read_pfx(fz_context *ctx, const char *pfile, const char *pw) +{ + fz_throw(ctx, FZ_ERROR_GENERIC, "No OpenSSL support."); +} + +#else + #include <limits.h> #include <string.h> @@ -776,3 +811,5 @@ exit: return name; } + +#endif |