summaryrefslogtreecommitdiffstats
path: root/patches/crda-4.15/0003-Allow-build-without-embedding-pubkey-data-into-crda-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/crda-4.15/0003-Allow-build-without-embedding-pubkey-data-into-crda-.patch')
-rw-r--r--patches/crda-4.15/0003-Allow-build-without-embedding-pubkey-data-into-crda-.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/patches/crda-4.15/0003-Allow-build-without-embedding-pubkey-data-into-crda-.patch b/patches/crda-4.15/0003-Allow-build-without-embedding-pubkey-data-into-crda-.patch
new file mode 100644
index 000000000..a5b9fb9f3
--- /dev/null
+++ b/patches/crda-4.15/0003-Allow-build-without-embedding-pubkey-data-into-crda-.patch
@@ -0,0 +1,66 @@
+From: Kel Modderman <kel@otaku42.de>
+Date: Fri, 16 Nov 2018 16:50:45 +0100
+Subject: [PATCH] Allow build without embedding pubkey data into crda/regdbdump
+ binaries
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ Makefile | 5 +++++
+ reglib.c | 6 ++++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 4ba2ed5aadd8..8f45630296d7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -42,7 +42,12 @@ ifeq ($(USE_OPENSSL),1)
+ CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl`
+ LIBREGLIBS += `pkg-config --libs openssl`
+
++ifeq ($(RUNTIME_PUBKEY_ONLY),1)
++CFLAGS += -DRUNTIME_PUBKEY_ONLY
++else
++CFLAGS += -DHAVE_KEYS_SSL
+ $(LIBREG): keys-ssl.c
++endif
+
+ else
+ CFLAGS += -DUSE_GCRYPT
+diff --git a/reglib.c b/reglib.c
+index 4dee40151bd6..6f1edec4e154 100644
+--- a/reglib.c
++++ b/reglib.c
+@@ -30,7 +30,7 @@
+
+ #include "reglib.h"
+
+-#ifdef USE_OPENSSL
++#if defined(USE_OPENSSL) && defined(HAVE_KEYS_SSL)
+ #include "keys-ssl.c"
+ #endif
+
+@@ -83,7 +83,6 @@ int reglib_verify_db_signature(uint8_t *db, size_t dblen, size_t siglen)
+ {
+ RSA *rsa;
+ uint8_t hash[SHA_DIGEST_LENGTH];
+- unsigned int i;
+ int ok = 0;
+ DIR *pubkey_dir;
+ struct dirent *nextfile;
+@@ -95,6 +94,8 @@ int reglib_verify_db_signature(uint8_t *db, size_t dblen, size_t siglen)
+ goto out;
+ }
+
++#ifdef HAVE_KEYS_SSL
++ unsigned int i;
+ for (i = 0; (i < sizeof(keys)/sizeof(keys[0])) && (!ok); i++) {
+ rsa = RSA_new();
+ if (!rsa) {
+@@ -112,6 +113,7 @@ int reglib_verify_db_signature(uint8_t *db, size_t dblen, size_t siglen)
+ rsa->n = NULL;
+ RSA_free(rsa);
+ }
++#endif
+ if (!ok && (pubkey_dir = opendir(PUBKEY_DIR))) {
+ while (!ok && (nextfile = readdir(pubkey_dir))) {
+ snprintf(filename, PATH_MAX, "%s/%s", PUBKEY_DIR,