diff -Naur -x '*.rej' -x '*.orig' -x '*~' bind-9.10.8-P1/bin/Makefile.in bind-9.10.8-P1-sdb/bin/Makefile.in --- bind-9.10.8-P1/bin/Makefile.in 2018-07-24 19:26:47.000000000 +0200 +++ bind-9.10.8-P1-sdb/bin/Makefile.in 2018-08-12 17:53:05.065679186 +0200 @@ -16,8 +16,8 @@ VPATH = @srcdir@ top_srcdir = @top_srcdir@ -SUBDIRS = named rndc dig delv dnssec tools nsupdate \ - check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@ tests +SUBDIRS = named named-sdb rndc dig delv dnssec tools nsupdate \ + check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@ sdb_tools tests TARGETS = @BIND9_MAKE_RULES@ diff -Naur -x '*.rej' -x '*.orig' -x '*~' bind-9.10.8-P1/bin/named/Makefile.in bind-9.10.8-P1-sdb/bin/named/Makefile.in --- bind-9.10.8-P1/bin/named/Makefile.in 2018-08-12 17:51:31.300017901 +0200 +++ bind-9.10.8-P1-sdb/bin/named/Makefile.in 2018-08-12 17:52:24.091805173 +0200 @@ -54,7 +54,7 @@ ${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \ ${DLZDRIVER_INCLUDES} ${DBDRIVER_INCLUDES} @DST_OPENSSL_INC@ -CDEFINES = @CONTRIB_DLZ@ @USE_PKCS11@ @PKCS11_ENGINE@ @CRYPTO@ +CDEFINES = @USE_PKCS11@ @PKCS11_ENGINE@ @CRYPTO@ CWARNINGS = @@ -78,11 +78,11 @@ LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \ ${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} \ - ${DLZDRIVER_LIBS} ${DBDRIVER_LIBS} @LIBS@ + @LIBS@ NOSYMLIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \ ${ISCCFGLIBS} ${ISCCCLIBS} ${ISCNOSYMLIBS} \ - ${DLZDRIVER_LIBS} ${DBDRIVER_LIBS} @LIBS@ + @LIBS@ SUBDIRS = unix @@ -97,8 +97,7 @@ tkeyconf.@O@ tsigconf.@O@ update.@O@ xfrout.@O@ \ zoneconf.@O@ \ lwaddr.@O@ lwresd.@O@ lwdclient.@O@ lwderror.@O@ lwdgabn.@O@ \ - lwdgnba.@O@ lwdgrbn.@O@ lwdnoop.@O@ lwsearch.@O@ \ - ${DLZDRIVER_OBJS} ${DBDRIVER_OBJS} + lwdgnba.@O@ lwdgrbn.@O@ lwdnoop.@O@ lwsearch.@O@ UOBJS = unix/os.@O@ unix/dlz_dlopen_driver.@O@ @@ -113,8 +112,7 @@ tkeyconf.c tsigconf.c update.c xfrout.c \ zoneconf.c \ lwaddr.c lwresd.c lwdclient.c lwderror.c lwdgabn.c \ - lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c \ - ${DLZDRIVER_SRCS} ${DBDRIVER_SRCS} + lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c MANPAGES = named.8 lwresd.8 named.conf.5 @@ -191,7 +189,5 @@ rm -f ${DESTDIR}${sbindir}/lwresd@EXEEXT@ ${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${sbindir}/named@EXEEXT@ -@DLZ_DRIVER_RULES@ - named-symtbl.@O@: named-symtbl.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c named-symtbl.c diff -Naur -x '*.rej' -x '*.orig' -x '*~' bind-9.10.8-P1/bin/named-sdb/main.c bind-9.10.8-P1-sdb/bin/named-sdb/main.c --- bind-9.10.8-P1/bin/named-sdb/main.c 2018-08-12 17:51:31.397017599 +0200 +++ bind-9.10.8-P1-sdb/bin/named-sdb/main.c 2018-08-12 17:52:24.092805170 +0200 @@ -90,6 +90,9 @@ * Include header files for database drivers here. */ /* #include "xxdb.h" */ +#include "ldapdb.h" +#include "pgsqldb.h" +#include "dirdb.h" #ifdef CONTRIB_DLZ /* @@ -1008,6 +1011,10 @@ ns_main_earlyfatal("isc_app_start() failed: %s", isc_result_totext(result)); + ldapdb_clear(); + pgsqldb_clear(); + dirdb_clear(); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, ISC_LOG_NOTICE, "starting %s %s%s%s <id:%s>%s", ns_g_product, ns_g_version, @@ -1200,6 +1207,57 @@ isc_result_totext(result)); #endif + result = ldapdb_init(); + if (result != ISC_R_SUCCESS) + { + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB ldap module initialisation failed: %s.", + isc_result_totext(result) + ); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB ldap zone database will be unavailable." + ); + }else + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_NOTICE, "SDB ldap zone database module loaded." + ); + + result = pgsqldb_init(); + if (result != ISC_R_SUCCESS) + { + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB pgsql module initialisation failed: %s.", + isc_result_totext(result) + ); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB pgsql zone database will be unavailable." + ); + }else + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_NOTICE, "SDB postgreSQL DB zone database module loaded." + ); + + result = dirdb_init(); + if (result != ISC_R_SUCCESS) + { + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB directory DB module initialisation failed: %s.", + isc_result_totext(result) + ); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB directory DB zone database will be unavailable." + ); + }else + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_NOTICE, "SDB directory DB zone database module loaded." + ); + ns_server_create(ns_g_mctx, &ns_g_server); #ifdef HAVE_LIBSECCOMP @@ -1242,6 +1300,10 @@ dns_name_destroy(); + ldapdb_clear(); + pgsqldb_clear(); + dirdb_clear(); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, ISC_LOG_NOTICE, "exiting"); ns_log_shutdown(); diff -Naur -x '*.rej' -x '*.orig' -x '*~' bind-9.10.8-P1/bin/named-sdb/Makefile.in bind-9.10.8-P1-sdb/bin/named-sdb/Makefile.in --- bind-9.10.8-P1/bin/named-sdb/Makefile.in 2018-08-12 17:51:31.392017615 +0200 +++ bind-9.10.8-P1-sdb/bin/named-sdb/Makefile.in 2018-08-12 17:53:55.797761318 +0200 @@ -37,10 +37,10 @@ # # Add database drivers here. # -DBDRIVER_OBJS = -DBDRIVER_SRCS = +DBDRIVER_OBJS = ldapdb.@O@ pgsqldb.@O@ dirdb.@O@ +DBDRIVER_SRCS = ldapdb.c pgsqldb.c dirdb.c DBDRIVER_INCLUDES = -DBDRIVER_LIBS = +DBDRIVER_LIBS = -lldap -llber -lpq DLZ_DRIVER_DIR = ${top_srcdir}/contrib/dlz/drivers @@ -86,7 +86,7 @@ SUBDIRS = unix -TARGETS = named@EXEEXT@ lwresd@EXEEXT@ +TARGETS = named-sdb@EXEEXT@ GEOIPLINKOBJS = geoip.@O@ @@ -147,7 +147,7 @@ -DNS_SYSCONFDIR=\"${sysconfdir}\" \ -c ${srcdir}/config.c -named@EXEEXT@: ${OBJS} ${DEPLIBS} +named-sdb@EXEEXT@: ${OBJS} ${DEPLIBS} export MAKE_SYMTABLE="yes"; \ export BASEOBJS="${OBJS} ${UOBJS}"; \ ${FINALBUILDCMD} @@ -174,15 +174,9 @@ installdirs: $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir} - $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5 - $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8 -install:: named@EXEEXT@ lwresd@EXEEXT@ installdirs - ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named@EXEEXT@ ${DESTDIR}${sbindir} - (cd ${DESTDIR}${sbindir}; rm -f lwresd@EXEEXT@; @LN@ named@EXEEXT@ lwresd@EXEEXT@) - ${INSTALL_DATA} ${srcdir}/named.8 ${DESTDIR}${mandir}/man8 - ${INSTALL_DATA} ${srcdir}/lwresd.8 ${DESTDIR}${mandir}/man8 - ${INSTALL_DATA} ${srcdir}/named.conf.5 ${DESTDIR}${mandir}/man5 +install:: named-sdb@EXEEXT@ installdirs + ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-sdb@EXEEXT@ ${DESTDIR}${sbindir} uninstall:: rm -f ${DESTDIR}${mandir}/man5/named.conf.5 diff -Naur -x '*.rej' -x '*.orig' -x '*~' bind-9.10.8-P1/configure.in bind-9.10.8-P1-sdb/configure.in --- bind-9.10.8-P1/configure.in 2018-08-12 17:51:31.384017639 +0200 +++ bind-9.10.8-P1-sdb/configure.in 2018-08-12 17:52:24.094805163 +0200 @@ -5106,6 +5106,8 @@ bin/dnssec/Makefile bin/named/Makefile bin/named/unix/Makefile + bin/named-sdb/Makefile + bin/named-sdb/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/python/Makefile @@ -5124,6 +5126,7 @@ bin/python/isc/keyzone.py bin/python/isc/tests/dnskey_test.py bin/rndc/Makefile + bin/sdb_tools/Makefile bin/tests/Makefile bin/tests/headerdep_test.sh bin/tests/optional/Makefile