bind9-next/bind-9.17-dist-native-pkcs1...

509 lines
12 KiB
Diff

From f11331c0b021196f18a51cfde203d8d221beb865 Mon Sep 17 00:00:00 2001
From: Petr Mensik <pemensik@redhat.com>
Date: Sun, 23 Aug 2020 00:54:23 +0200
Subject: [PATCH] Modify build to create also pkcs11 version
---
Makefile.top | 19 ++++++++++
bin/Makefile.am | 2 ++
bin/dnssec-pkcs11/Makefile.am | 56 ++++++++++++++++++++++-------
bin/named-pkcs11/Makefile.am | 18 +++++-----
configure.ac | 7 ++++
lib/Makefile.am | 1 +
lib/dns-pkcs11/Makefile.am | 62 ++++++++++++++++----------------
lib/dns-pkcs11/tests/Makefile.am | 4 +--
lib/ns-pkcs11/Makefile.am | 22 ++++++------
lib/ns-pkcs11/tests/Makefile.am | 8 ++---
10 files changed, 129 insertions(+), 70 deletions(-)
diff --git a/Makefile.top b/Makefile.top
index 140ab44..a2410b2 100644
--- a/Makefile.top
+++ b/Makefile.top
@@ -42,14 +42,26 @@ LIBDNS_CFLAGS = \
LIBDNS_LIBS = \
$(top_builddir)/lib/dns/libdns.la
+LIBDNS_PKCS11_CFLAGS = \
+ -DUSE_PKCS11 \
+ -I$(top_srcdir)/lib/dns-pkcs11/include \
+ -I$(top_builddir)/lib/dns-pkcs11/include
+
+LIBDNS_PKCS11_LIBS = \
+ $(top_builddir)/lib/dns-pkcs11/libdns-pkcs11.la
+
if HAVE_DNSTAP
LIBDNS_CFLAGS += \
$(DNSTAP_CFLAGS)
+LIBDNS_PKCS11_CFLAGS += \
+ $(DNSTAP_CFLAGS)
endif HAVE_DNSTAP
if HAVE_LMDB
LIBDNS_CFLAGS += \
$(LMDB_CFLAGS)
+LIBDNS_PKCS11_CFLAGS += \
+ $(LMDB_CFLAGS)
endif HAVE_LMDB
LIBNS_CFLAGS = \
@@ -58,6 +70,13 @@ LIBNS_CFLAGS = \
LIBNS_LIBS = \
$(top_builddir)/lib/ns/libns.la
+LIBNS_PKCS11_CFLAGS = \
+ -I$(top_srcdir)/lib/ns-pkcs11/include \
+ -DUSE_PKCS11
+
+LIBNS_PKCS11_LIBS = \
+ $(top_builddir)/lib/ns-pkcs11/libns-pkcs11.la
+
LIBIRS_CFLAGS = \
-I$(top_srcdir)/lib/irs/include
diff --git a/bin/Makefile.am b/bin/Makefile.am
index 296a022..bf0a68c 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -3,3 +3,5 @@ SUBDIRS = named rndc dig delv dnssec tools nsupdate check confgen tests plugins
if HAVE_PKCS11
SUBDIRS += pkcs11
endif
+
+SUBDIRS += named-pkcs11 dnssec-pkcs11
diff --git a/bin/dnssec-pkcs11/Makefile.am b/bin/dnssec-pkcs11/Makefile.am
index 7aeaccc..efcc90b 100644
--- a/bin/dnssec-pkcs11/Makefile.am
+++ b/bin/dnssec-pkcs11/Makefile.am
@@ -2,37 +2,67 @@ include $(top_srcdir)/Makefile.top
AM_CPPFLAGS += \
$(LIBISC_CFLAGS) \
- $(LIBDNS_CFLAGS)
+ $(LIBDNS_PKCS11_CFLAGS)
AM_CPPFLAGS += \
- -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
+ -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\" \
+ -DUSE_PKCS11=1
+
+EXEEXT = -pkcs11
noinst_LTLIBRARIES = libdnssectool.la
LDADD = \
libdnssectool.la \
$(LIBISC_LIBS) \
- $(LIBDNS_LIBS)
+ $(LIBDNS_PKCS11_LIBS)
bin_PROGRAMS = \
dnssec-cds \
- dnssec-dsfromkey \
- dnssec-importkey \
- dnssec-keyfromlabel \
- dnssec-keygen \
- dnssec-revoke \
- dnssec-settime \
- dnssec-signzone \
- dnssec-verify
+ dnssec-dsfromkey-pkcs11 \
+ dnssec-importkey-pkcs11 \
+ dnssec-keyfromlabel-pkcs11 \
+ dnssec-keygen-pkcs11 \
+ dnssec-revoke-pkcs11 \
+ dnssec-settime-pkcs11 \
+ dnssec-signzone-pkcs11 \
+ dnssec-verify-pkcs11
libdnssectool_la_SOURCES = \
dnssectool.h \
dnssectool.c
-dnssec_keygen_CPPFLAGS = \
+dnssec_keygen_pkcs11_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(LIBISCCFG_CFLAGS)
-dnssec_keygen_LDADD = \
+dnssec_keygen_pkcs11_LDADD = \
$(LDADD) \
$(LIBISCCFG_LIBS)
+
+dnssec_cds_pkcs11_SOURCES = \
+ dnssec-cds.c
+
+dnssec_keygen_pkcs11_SOURCES = \
+ dnssec-keygen.c
+
+dnssec_dsfromkey_pkcs11_SOURCES = \
+ dnssec-dsfromkey.c
+
+dnssec_importkey_pkcs11_SOURCES = \
+ dnssec-importkey.c
+
+dnssec_keyfromlabel_pkcs11_SOURCES = \
+ dnssec-keyfromlabel.c
+
+dnssec_revoke_pkcs11_SOURCES = \
+ dnssec-revoke.c
+
+dnssec_settime_pkcs11_SOURCES = \
+ dnssec-settime.c
+
+dnssec_signzone_pkcs11_SOURCES = \
+ dnssec-signzone.c
+
+dnssec_verify_pkcs11_SOURCES = \
+ dnssec-verify.c
diff --git a/bin/named-pkcs11/Makefile.am b/bin/named-pkcs11/Makefile.am
index 90ebc3a..c6b992c 100644
--- a/bin/named-pkcs11/Makefile.am
+++ b/bin/named-pkcs11/Makefile.am
@@ -4,8 +4,8 @@ AM_CPPFLAGS += \
-I$(srcdir)/unix/include \
-I$(top_builddir)/include \
$(LIBISC_CFLAGS) \
- $(LIBDNS_CFLAGS) \
- $(LIBNS_CFLAGS) \
+ $(LIBDNS_PKCS11_CFLAGS) \
+ $(LIBNS_PKCS11_CFLAGS) \
$(LIBISCCC_CFLAGS) \
$(LIBISCCFG_CFLAGS) \
$(LIBBIND9_CFLAGS) \
@@ -32,7 +32,7 @@ AM_CPPFLAGS += \
-DNAMED_LOCALSTATEDIR=\"${localstatedir}\" \
-DNAMED_SYSCONFDIR=\"${sysconfdir}\"
-sbin_PROGRAMS = named
+sbin_PROGRAMS = named-pkcs11
bin_PROGRAMS = \
feature-test \
@@ -58,7 +58,7 @@ xsl.c: bind9.xsl Makefile
echo ";") \
< "${srcdir}/bind9.xsl" > $@
-named_SOURCES = \
+named_pkcs11_SOURCES = \
builtin.c \
config.c \
control.c \
@@ -97,14 +97,14 @@ named_SOURCES = \
if HAVE_GEOIP2
AM_CPPFLAGS += \
-DMAXMINDDB_PREFIX=\"@MAXMINDDB_PREFIX@\"
-named_SOURCES += \
+named_pkcs11_SOURCES += \
geoip.c
endif
-named_LDADD = \
+named_pkcs11_LDADD = \
$(LIBISC_LIBS) \
- $(LIBDNS_LIBS) \
- $(LIBNS_LIBS) \
+ $(LIBDNS_PKCS11_LIBS) \
+ $(LIBNS_PKCS11_LIBS) \
$(LIBISCCC_LIBS) \
$(LIBISCCFG_LIBS) \
$(LIBBIND9_LIBS) \
@@ -118,7 +118,7 @@ named_LDADD = \
$(ZLIB_LIBS)
if HAVE_JSON_C
-named_LDADD += \
+named_pkcs11_LDADD += \
$(JSON_C_LIBS)
endif HAVE_JSON_C
diff --git a/configure.ac b/configure.ac
index fcb7cfd..36040f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1672,6 +1672,13 @@ AC_CONFIG_FILES([bin/tests/Makefile
bin/tests/system/dyndb/driver/Makefile
bin/tests/system/dlzexternal/driver/Makefile])
+# PKCS11 binaries
+AC_CONFIG_FILES([bin/dnssec-pkcs11/Makefile
+ bin/named-pkcs11/Makefile
+ lib/dns-pkcs11/Makefile
+ lib/ns-pkcs11/Makefile
+ lib/ns-pkcs11/tests/Makefile])
+
AC_CONFIG_FILES([bin/tests/system/ifconfig.sh],
[chmod +x bin/tests/system/ifconfig.sh])
AC_CONFIG_FILES([bin/tests/system/run.sh],
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 5cbaf3c..43ea73c 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,3 +1,4 @@
include $(top_srcdir)/Makefile.top
SUBDIRS = isc dns isccc ns isccfg bind9 irs samples
+SUBDIRS += dns-pkcs11 ns-pkcs11
diff --git a/lib/dns-pkcs11/Makefile.am b/lib/dns-pkcs11/Makefile.am
index 78a2752..0503763 100644
--- a/lib/dns-pkcs11/Makefile.am
+++ b/lib/dns-pkcs11/Makefile.am
@@ -1,12 +1,12 @@
include $(top_srcdir)/Makefile.top
-lib_LTLIBRARIES = libdns.la
+lib_LTLIBRARIES = libdns-pkcs11.la
-nodist_libdns_ladir = $(includedir)/dns
+nodist_libdns_ladir = $(includedir)/dns-pkcs11
nodist_libdns_la_HEADERS = \
- include/dns/enumclass.h \
- include/dns/enumtype.h \
- include/dns/rdatastruct.h
+ include/dns-pkcs11/enumclass.h \
+ include/dns-pkcs11/enumtype.h \
+ include/dns-pkcs11/rdatastruct.h
nodist_libdns_la_SOURCES = \
$(nodist_libdns_la_HEADERS) \
@@ -48,8 +48,8 @@ include/dns/rdatastruct.h: gen rdata/rdatastructpre.h rdata/rdatastructsuf.h Mak
code.h: gen Makefile
$(builddir)/gen -s $(srcdir) > $@
-libdns_ladir = $(includedir)/dns
-libdns_la_HEADERS = \
+libdns_pkcs11_ladir = $(includedir)/dns-pkcs11
+libdns_pkcs11_la_HEADERS = \
include/dns/acl.h \
include/dns/adb.h \
include/dns/badcache.h \
@@ -154,8 +154,8 @@ dst_HEADERS = \
include/dst/gssapi.h \
include/dst/result.h
-libdns_la_SOURCES = \
- $(libdns_la_HEADERS) \
+libdns_pkcs11_la_SOURCES = \
+ $(libdns_pkcs11_la_HEADERS) \
$(dst_HEADERS) \
acl.c \
adb.c \
@@ -257,92 +257,92 @@ libdns_la_SOURCES = \
zone_p.h
if HAVE_GSSAPI
-libdns_la_SOURCES += \
+libdns_pkcs11_la_SOURCES += \
gssapi_link.c
endif
if HAVE_PKCS11
-libdns_la_SOURCES += \
+libdns_pkcs11_la_SOURCES += \
pkcs11.c \
pkcs11ecdsa_link.c \
pkcs11eddsa_link.c \
pkcs11rsa_link.c
else !HAVE_PKCS11
-libdns_la_SOURCES += \
+libdns_pkcs11_la_SOURCES += \
opensslecdsa_link.c \
openssleddsa_link.c \
opensslrsa_link.c
endif
if HAVE_GEOIP2
-libdns_la_SOURCES += \
+libdns_pkcs11_la_SOURCES += \
geoip2.c
endif
-libdns_la_CPPFLAGS = \
+libdns_pkcs11_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(LIBISC_CFLAGS) \
- $(LIBDNS_CFLAGS) \
+ $(LIBDNS_PKCS11_CFLAGS) \
$(OPENSSL_CFLAGS) \
$(LIBLTDL_CFLAGS)
-libdns_la_LDFLAGS = \
+libdns_pkcs11_la_LDFLAGS = \
$(libdns_VERSION_INFO)
-libdns_la_LIBADD = \
+libdns_pkcs11_la_LIBADD = \
$(LIBISC_LIBS) \
$(OPENSSL_LIBS)
if HAVE_JSON_C
-libdns_la_CPPFLAGS += \
+libdns_pkcs11_la_CPPFLAGS += \
$(JSON_C_CFLAGS)
-libdns_la_LIBADD += \
+libdns_pkcs11_la_LIBADD += \
$(JSON_C_LIBS)
endif HAVE_JSON_C
if HAVE_LIBXML2
-libdns_la_CPPFLAGS += \
+libdns_pkcs11_la_CPPFLAGS += \
$(LIBXML2_CFLAGS)
-libdns_la_LIBADD += \
+libdns_pkcs11_la_LIBADD += \
$(LIBXML2_LIBS)
endif HAVE_LIBXML2
if HAVE_GSSAPI
-libdns_la_CPPFLAGS += \
+libdns_pkcs11_la_CPPFLAGS += \
$(GSSAPI_CFLAGS) \
$(KRB5_CFLAGS)
-libdns_la_LIBADD += \
+libdns_pkcs11_la_LIBADD += \
$(GSSAPI_LIBS) \
$(KRB5_LIBS)
endif
if HAVE_GEOIP2
-libdns_la_CPPFLAGS += \
+libdns_pkcs11_la_CPPFLAGS += \
$(MAXMINDDB_CFLAGS)
-libdns_la_LDFLAGS += \
+libdns_pkcs11_la_LDFLAGS += \
$(MAXMINDDB_LIBS)
endif
if HAVE_DNSTAP
-nodist_libdns_la_SOURCES += \
+nodist_libdns_pkcs11_la_SOURCES += \
dnstap.pb-c.h \
dnstap.pb-c.c
-libdns_la_SOURCES += \
+libdns_pkcs11_la_SOURCES += \
dnstap.c
dnstap.pb-c.h dnstap.pb-c.c: dnstap.proto
$(PROTOC_C) --proto_path=$(srcdir) --c_out=. dnstap.proto
-libdns_la_CPPFLAGS += $(DNSTAP_CFLAGS)
-libdns_la_LIBADD += $(DNSTAP_LIBS)
+libdns_pkcs11_la_CPPFLAGS += $(DNSTAP_CFLAGS)
+libdns_pkcs11_la_LIBADD += $(DNSTAP_LIBS)
endif
if HAVE_LMDB
-libdns_la_CPPFLAGS += $(LMDB_CFLAGS)
-libdns_la_LIBADD += $(LMDB_LIBS)
+libdns_pkcs11_la_CPPFLAGS += $(LMDB_CFLAGS)
+libdns_pkcs11_la_LIBADD += $(LMDB_LIBS)
endif
if HAVE_CMOCKA
diff --git a/lib/dns-pkcs11/tests/Makefile.am b/lib/dns-pkcs11/tests/Makefile.am
index 04ef09c..35b2eac 100644
--- a/lib/dns-pkcs11/tests/Makefile.am
+++ b/lib/dns-pkcs11/tests/Makefile.am
@@ -3,7 +3,7 @@ include $(top_srcdir)/Makefile.tests
AM_CPPFLAGS += \
$(LIBISC_CFLAGS) \
- $(LIBDNS_CFLAGS) \
+ $(LIBDNS_PKCS11_CFLAGS) \
$(KRB5_CFLAGS) \
-DSRCDIR=\"$(abs_srcdir)\" \
-DBUILDDIR=\"$(abs_builddir)\"
@@ -11,7 +11,7 @@ AM_CPPFLAGS += \
LDADD += \
libdnstest.la \
$(LIBISC_LIBS) \
- $(LIBDNS_LIBS)
+ $(LIBDNS_PKCS11_LIBS)
check_LTLIBRARIES = libdnstest.la
libdnstest_la_SOURCES = dnstest.c dnstest.h
diff --git a/lib/ns-pkcs11/Makefile.am b/lib/ns-pkcs11/Makefile.am
index b2f81cc..b77b1ee 100644
--- a/lib/ns-pkcs11/Makefile.am
+++ b/lib/ns-pkcs11/Makefile.am
@@ -3,11 +3,11 @@ include $(top_srcdir)/Makefile.top
AM_CPPFLAGS += \
-DNAMED_PLUGINDIR=\"$(libdir)/named\"
-lib_LTLIBRARIES = libns.la
+lib_LTLIBRARIES = libns-pkcs11.la
-libns_ladir = $(includedir)/ns
+libns_pkcs11_ladir = $(includedir)/ns
-libns_la_HEADERS = \
+libns_pkcs11_la_HEADERS = \
include/ns/client.h \
include/ns/hooks.h \
include/ns/interfacemgr.h \
@@ -23,8 +23,8 @@ libns_la_HEADERS = \
include/ns/update.h \
include/ns/xfrout.h
-libns_la_SOURCES = \
- $(libns_la_HEADERS) \
+libns_pkcs11_la_SOURCES = \
+ $(libns_pkcs11_la_HEADERS) \
client.c \
hooks.c \
interfacemgr.c \
@@ -39,18 +39,18 @@ libns_la_SOURCES = \
update.c \
xfrout.c
-libns_la_CPPFLAGS = \
+libns_pkcs11_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(LIBISC_CFLAGS) \
- $(LIBDNS_CFLAGS) \
- $(LIBNS_CFLAGS) \
+ $(LIBDNS_PKCS11_CFLAGS) \
+ $(LIBNS_PKCS11_CFLAGS) \
$(LIBLTDL_CFLAGS)
-libns_la_LIBADD = \
+libns_pkcs11_la_LIBADD = \
$(LIBISC_LIBS) \
- $(LIBDNS_LIBS)
+ $(LIBDNS_PKCS11_LIBS)
-libns_la_LDFLAGS = \
+libns_pkcs11_la_LDFLAGS = \
$(libns_VERSION_INFO)
if HAVE_CMOCKA
diff --git a/lib/ns-pkcs11/tests/Makefile.am b/lib/ns-pkcs11/tests/Makefile.am
index 092360c..b07c9f7 100644
--- a/lib/ns-pkcs11/tests/Makefile.am
+++ b/lib/ns-pkcs11/tests/Makefile.am
@@ -3,14 +3,14 @@ include $(top_srcdir)/Makefile.tests
AM_CPPFLAGS += \
$(LIBISC_CFLAGS) \
- $(LIBDNS_CFLAGS) \
- $(LIBNS_CFLAGS)
+ $(LIBDNS_PKCS11_CFLAGS) \
+ $(LIBNS_PKCS11_CFLAGS)
LDADD += \
libnstest.la \
$(LIBISC_LIBS) \
- $(LIBDNS_LIBS) \
- $(LIBNS_LIBS)
+ $(LIBDNS_PKCS11_LIBS) \
+ $(LIBNS_PKCS11_LIBS)
check_LTLIBRARIES = libnstest.la
libnstest_la_SOURCES = nstest.c nstest.h
--
2.26.2