pemensik / rpms / bind

Forked from rpms/bind 6 years ago
Clone
Blob Blame History Raw
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