From 5ea70d6f4e0ec3afd9cd169258d0ddb342773da2 Mon Sep 17 00:00:00 2001 From: Adam Tkac Date: Tue, 6 Mar 2007 15:32:16 +0000 Subject: [PATCH] updated to 9.4.0 bind-chroot-admin now using restorecon instead chcon --- .cvsignore | 4 +- bind-9.3.1-dbus_archdep_libdir.patch | 36 +- bind-9.3.1-sdb_dbus.patch | 54 +- bind-9.3.1rc1-sdb.patch | 193 ++--- bind-9.3.2b1-PIE.patch | 404 +++++----- bind-9.3.3-edns.patch | 106 +-- bind-9.3.3rc2-dbus.patch | 1030 +++++++++++++------------- bind-9.3.3rc2-rndckey.patch | 61 +- bind-bsdcompat.patch | 12 +- bind-chroot-admin.in | 18 +- bind.spec | 20 +- sources | 4 +- 12 files changed, 991 insertions(+), 951 deletions(-) diff --git a/.cvsignore b/.cvsignore index dafbbd3..e2911f6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1,3 @@ -bind-9.3.4.tar.gz -bind-chroot.tar.gz +bind-9.4.0.tar.gz libbind-man.tar.gz +bind-chroot.tar.gz diff --git a/bind-9.3.1-dbus_archdep_libdir.patch b/bind-9.3.1-dbus_archdep_libdir.patch index e6f1ce2..8dc3646 100644 --- a/bind-9.3.1-dbus_archdep_libdir.patch +++ b/bind-9.3.1-dbus_archdep_libdir.patch @@ -1,26 +1,26 @@ ---- bind-9.3.1/bin/named_sdb/Makefile.in.dbus_archdep_libdir 2005-08-16 21:23:28.000000000 -0400 -+++ bind-9.3.1/bin/named_sdb/Makefile.in 2005-08-16 23:00:49.000000000 -0400 -@@ -35,8 +35,9 @@ - ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \ +--- bind-9.4.0/bin/named/Makefile.in.dbus_archdep_libdir 2007-03-06 14:18:14.000000000 +0100 ++++ bind-9.4.0/bin/named/Makefile.in 2007-03-06 14:20:39.000000000 +0100 +@@ -43,8 +43,9 @@ ${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \ - ${DBDRIVER_INCLUDES} + ${DLZDRIVER_INCLUDES} ${DBDRIVER_INCLUDES} + +DBUS_ARCHDEP_LIBDIR ?= lib DBUS_INCLUDES = \ -- -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 -+ -I/usr/${DBUS_ARCHDEP_LIBDIR}/dbus-1.0/include -I/usr/include/dbus-1.0 - CDEFINES = - CWARNINGS = +- -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 ++ -I/usr/${DBUS_ARCHDEP_LIBDIR}/dbus-1.0/include -I/usr/include/dbus-1.0 ---- bind-9.3.1/bin/named/Makefile.in.dbus_archdep_libdir 2005-08-16 21:23:28.000000000 -0400 -+++ bind-9.3.1/bin/named/Makefile.in 2005-08-16 23:00:58.000000000 -0400 -@@ -35,8 +35,9 @@ - ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \ + CDEFINES = @USE_DLZ@ + +--- bind-9.4.0/bin/named_sdb/Makefile.in.dbus_archdep_libdir 2007-03-06 14:18:14.000000000 +0100 ++++ bind-9.4.0/bin/named_sdb/Makefile.in 2007-03-06 14:21:09.000000000 +0100 +@@ -43,8 +43,9 @@ ${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \ - ${DBDRIVER_INCLUDES} + ${DLZDRIVER_INCLUDES} ${DBDRIVER_INCLUDES} + +DBUS_ARCHDEP_LIBDIR ?= lib DBUS_INCLUDES = \ -- -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 -+ -I/usr/${DBUS_ARCHDEP_LIBDIR}/dbus-1.0/include -I/usr/include/dbus-1.0 - CDEFINES = - CWARNINGS = +- -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 ++ -I/usr/${DBUS_ARCHDEP_LIBDIR}/dbus-1.0/include -I/usr/include/dbus-1.0 + + CDEFINES = @USE_DLZ@ diff --git a/bind-9.3.1-sdb_dbus.patch b/bind-9.3.1-sdb_dbus.patch index 8e790d1..4829fa7 100644 --- a/bind-9.3.1-sdb_dbus.patch +++ b/bind-9.3.1-sdb_dbus.patch @@ -1,16 +1,16 @@ ---- bind-9.3.1/bin/named_sdb/Makefile.in.sdb_dbus 2005-08-16 21:18:06.000000000 -0400 -+++ bind-9.3.1/bin/named_sdb/Makefile.in 2005-08-16 21:18:06.000000000 -0400 -@@ -35,7 +35,8 @@ - ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \ +--- bind-9.4.0/bin/named_sdb/Makefile.in.sdb_dbus 2007-03-06 14:12:30.000000000 +0100 ++++ bind-9.4.0/bin/named_sdb/Makefile.in 2007-03-06 14:16:45.000000000 +0100 +@@ -43,6 +43,9 @@ ${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \ - ${DBDRIVER_INCLUDES} -- -+DBUS_INCLUDES = \ -+ -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 - CDEFINES = - CWARNINGS = + ${DLZDRIVER_INCLUDES} ${DBDRIVER_INCLUDES} -@@ -52,6 +53,7 @@ ++DBUS_INCLUDES = \ ++ -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 ++ + CDEFINES = @USE_DLZ@ + + CWARNINGS = +@@ -60,6 +63,7 @@ ISCDEPLIBS = ../../lib/isc/libisc.@A@ LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@ BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@ @@ -18,25 +18,23 @@ DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} ${BIND9DEPLIBS} \ ${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS} -@@ -70,7 +72,8 @@ - tkeyconf.o tsigconf.o update.o xfrout.o \ +@@ -80,6 +84,7 @@ zoneconf.o \ lwaddr.o lwresd.o lwdclient.o lwderror.o lwdgabn.o \ -- lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o \ -+ lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o \ + lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o \ + dbus_service.o dbus_mgr.o \ - $(DBDRIVER_OBJS) + ${DLZDRIVER_OBJS} ${DBDRIVER_OBJS} UOBJS = unix/os.o -@@ -83,6 +86,7 @@ +@@ -92,6 +97,7 @@ zoneconf.c \ lwaddr.c lwresd.c lwdclient.c lwderror.c lwdgabn.c \ lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c \ -+ dbus_service.c dbus_mgr.c \ - $(DBDRIVER_SRCS) ++ dbus_service.c dbus_mgr.c \ + ${DLZDRIVER_SRCS} ${DBDRIVER_SRCS} MANPAGES = named.8 lwresd.8 named.conf.5 -@@ -114,9 +118,14 @@ +@@ -120,9 +126,14 @@ -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ -c ${srcdir}/config.c @@ -52,19 +50,19 @@ doc man:: ${MANOBJS} ---- bind-9.3.1/bin/named_sdb/main.c.sdb_dbus 2005-08-16 21:18:06.000000000 -0400 -+++ bind-9.3.1/bin/named_sdb/main.c 2005-08-16 21:21:40.000000000 -0400 -@@ -243,7 +243,8 @@ +--- bind-9.4.0/bin/named_sdb/main.c.sdb_dbus 2007-03-06 14:12:30.000000000 +0100 ++++ bind-9.4.0/bin/named_sdb/main.c 2007-03-06 14:17:51.000000000 +0100 +@@ -251,7 +251,8 @@ "usage: named [-4|-6] [-c conffile] [-d debuglevel] " "[-f|-g] [-n number_of_cpus]\n" " [-p port] [-s] [-t chrootdir] [-u username]\n" -- " [-m {usage|trace|record}]\n"); -+ " [-m {usage|trace|record}]\n" -+ " [-D ]\n"); +- " [-m {usage|trace|record|size|mctx}]\n"); ++ " [-m {usage|trace|record|size|mctx}]\n" ++ " [-D ]\n"); } static void -@@ -349,7 +350,7 @@ +@@ -359,7 +360,7 @@ isc_commandline_errprint = ISC_FALSE; while ((ch = isc_commandline_parse(argc, argv, @@ -73,7 +71,7 @@ switch (ch) { case '4': if (disable4) -@@ -438,6 +439,9 @@ +@@ -448,6 +449,9 @@ case 'v': printf("BIND %s\n", ns_g_version); exit(0); diff --git a/bind-9.3.1rc1-sdb.patch b/bind-9.3.1rc1-sdb.patch index 7f0c41d..1ea2579 100644 --- a/bind-9.3.1rc1-sdb.patch +++ b/bind-9.3.1rc1-sdb.patch @@ -1,6 +1,6 @@ ---- bind-9.3.1rc1/configure.in.sdb 2005-02-16 22:25:08.000000000 -0500 -+++ bind-9.3.1rc1/configure.in 2005-02-16 22:25:08.000000000 -0500 -@@ -2194,6 +2194,8 @@ +--- bind-9.4.0/configure.in.sdb 2007-03-06 12:59:32.000000000 +0100 ++++ bind-9.4.0/configure.in 2007-03-06 12:59:32.000000000 +0100 +@@ -2457,6 +2457,8 @@ bin/check/Makefile bin/named/Makefile bin/named/unix/Makefile @@ -9,17 +9,28 @@ bin/rndc/Makefile bin/rndc/unix/Makefile bin/dig/Makefile -@@ -2215,6 +2217,7 @@ +@@ -2478,6 +2480,7 @@ bin/tests/system/tkey/Makefile bin/tests/headerdep_test.sh bin/dnssec/Makefile + bin/sdb_tools/Makefile doc/Makefile doc/arm/Makefile - doc/arm/nominum-docbook-html.dsl ---- bind-9.3.1rc1/bin/named_sdb/main.c.sdb 2004-10-24 20:42:54.000000000 -0400 -+++ bind-9.3.1rc1/bin/named_sdb/main.c 2005-02-16 22:25:08.000000000 -0500 -@@ -71,6 +71,9 @@ + doc/misc/Makefile +--- bind-9.4.0/bin/Makefile.in.sdb 2004-03-05 05:57:10.000000000 +0100 ++++ bind-9.4.0/bin/Makefile.in 2007-03-06 12:59:32.000000000 +0100 +@@ -19,7 +19,7 @@ + VPATH = @srcdir@ + top_srcdir = @top_srcdir@ + +-SUBDIRS = named rndc dig dnssec tests nsupdate check ++SUBDIRS = named named_sdb rndc dig dnssec tests nsupdate check sdb_tools + TARGETS = + + @BIND9_MAKE_RULES@ +--- bind-9.4.0/bin/named_sdb/main.c.sdb 2006-11-10 19:51:14.000000000 +0100 ++++ bind-9.4.0/bin/named_sdb/main.c 2007-03-06 13:43:31.000000000 +0100 +@@ -72,6 +72,9 @@ * Include header files for database drivers here. */ /* #include "xxdb.h" */ @@ -27,80 +38,90 @@ +#include "pgsqldb.h" +#include "dirdb.h" - static isc_boolean_t want_stats = ISC_FALSE; - static char program_name[ISC_DIR_NAMEMAX] = "named"; -@@ -656,7 +659,57 @@ - * Add calls to register sdb drivers here. - */ - /* xxdb_init(); */ -- -+ 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); - } - -@@ -673,6 +726,10 @@ - */ - /* xxdb_clear(); */ + /* + * Include DLZ drivers if appropriate. +@@ -639,6 +642,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 BIND %s%s", ns_g_version, + saved_command_line); +@@ -692,6 +699,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); + } + +@@ -717,6 +775,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(); ---- bind-9.3.1rc1/bin/named_sdb/Makefile.in.sdb 2005-02-16 22:25:08.000000000 -0500 -+++ bind-9.3.1rc1/bin/named_sdb/Makefile.in 2005-02-16 22:25:08.000000000 -0500 +--- bind-9.4.0/bin/named_sdb/Makefile.in.sdb 2007-03-06 12:59:32.000000000 +0100 ++++ bind-9.4.0/bin/named_sdb/Makefile.in 2007-03-06 12:59:32.000000000 +0100 @@ -26,10 +26,10 @@ # # Add database drivers here. @@ -113,18 +134,18 @@ -DBDRIVER_LIBS = +DBDRIVER_LIBS = -lldap -llber -lpq - CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \ - ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \ -@@ -61,7 +61,7 @@ + DLZ_DRIVER_DIR = ${top_srcdir}/contrib/dlz/drivers + +@@ -70,7 +70,7 @@ SUBDIRS = unix -TARGETS = named@EXEEXT@ lwresd@EXEEXT@ +TARGETS = named_sdb@EXEEXT@ - OBJS = aclconf.o builtin.o client.o config.o control.o \ + OBJS = builtin.o client.o config.o control.o \ controlconf.o interfacemgr.o \ -@@ -114,14 +114,10 @@ +@@ -120,14 +120,10 @@ -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ -c ${srcdir}/config.c @@ -140,7 +161,7 @@ doc man:: ${MANOBJS} docclean manclean maintainer-clean:: -@@ -132,13 +128,8 @@ +@@ -138,14 +134,9 @@ installdirs: $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir} @@ -157,14 +178,4 @@ + ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named_sdb@EXEEXT@ ${DESTDIR}${sbindir} + ---- bind-9.3.1rc1/bin/Makefile.in.sdb 2004-03-06 05:21:10.000000000 -0500 -+++ bind-9.3.1rc1/bin/Makefile.in 2005-02-16 22:25:08.000000000 -0500 -@@ -19,7 +19,7 @@ - VPATH = @srcdir@ - top_srcdir = @top_srcdir@ - --SUBDIRS = named rndc dig dnssec tests nsupdate check -+SUBDIRS = named named_sdb rndc dig dnssec tests nsupdate check sdb_tools - TARGETS = - - @BIND9_MAKE_RULES@ + @DLZ_DRIVER_RULES@ diff --git a/bind-9.3.2b1-PIE.patch b/bind-9.3.2b1-PIE.patch index 9962349..cd85e67 100644 --- a/bind-9.3.2b1-PIE.patch +++ b/bind-9.3.2b1-PIE.patch @@ -1,6 +1,6 @@ ---- bind-9.3.2b1/make/rules.in.PIE 2005-05-12 17:36:17.000000000 -0400 -+++ bind-9.3.2b1/make/rules.in 2005-10-06 20:04:36.000000000 -0400 -@@ -118,6 +118,9 @@ +--- bind-9.4.0/make/rules.in.PIE 2007-01-30 00:57:21.000000000 +0100 ++++ bind-9.4.0/make/rules.in 2007-03-06 12:53:37.000000000 +0100 +@@ -124,6 +124,9 @@ .c.@O@: ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c $< @@ -10,201 +10,9 @@ SHELL = @SHELL@ LIBTOOL = @LIBTOOL@ LIBTOOL_MODE_COMPILE = ${LIBTOOL} @LIBTOOL_MODE_COMPILE@ ---- bind-9.3.2b1/bin/dnssec/Makefile.in.PIE 2005-05-01 20:25:54.000000000 -0400 -+++ bind-9.3.2b1/bin/dnssec/Makefile.in 2005-10-06 20:04:36.000000000 -0400 -@@ -41,7 +41,7 @@ - # Alphabetically - TARGETS = dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@ - --OBJS = dnssectool.@O@ -+OBJS = dnssectool.o - - SRCS = dnssec-keygen.c dnssec-signzone.c dnssectool.c - -@@ -51,19 +51,25 @@ - - MANOBJS = ${MANPAGES} ${HTMLPAGES} - -+EXT_CFLAGS = -fPIE -+ - @BIND9_MAKE_RULES@ - --dnssec-keygen@EXEEXT@: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS} -+LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack -+ -+.SUFFIXES: .c .o -+ -+dnssec-keygen@EXEEXT@: dnssec-keygen.o ${OBJS} ${DEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ -- dnssec-keygen.@O@ ${OBJS} ${LIBS} -+ dnssec-keygen.o ${OBJS} ${LIBS} - --dnssec-signzone.@O@: dnssec-signzone.c -- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \ -+dnssec-signzone.o: dnssec-signzone.c -+ ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \ - -c ${srcdir}/dnssec-signzone.c - --dnssec-signzone@EXEEXT@: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS} -+dnssec-signzone@EXEEXT@: dnssec-signzone.o ${OBJS} ${DEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ -- dnssec-signzone.@O@ ${OBJS} ${LIBS} -+ dnssec-signzone.o ${OBJS} ${LIBS} - - doc man:: ${MANOBJS} - ---- bind-9.3.2b1/bin/named/Makefile.in.PIE 2004-09-06 17:47:25.000000000 -0400 -+++ bind-9.3.2b1/bin/named/Makefile.in 2005-10-06 20:04:36.000000000 -0400 -@@ -63,17 +63,17 @@ - - TARGETS = named@EXEEXT@ lwresd@EXEEXT@ - --OBJS = aclconf.@O@ builtin.@O@ client.@O@ config.@O@ control.@O@ \ -- controlconf.@O@ interfacemgr.@O@ \ -- listenlist.@O@ log.@O@ logconf.@O@ main.@O@ notify.@O@ \ -- query.@O@ server.@O@ sortlist.@O@ \ -- 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@ \ -+OBJS = aclconf.o builtin.o client.o config.o control.o \ -+ controlconf.o interfacemgr.o \ -+ listenlist.o log.o logconf.o main.o notify.o \ -+ query.o server.o sortlist.o \ -+ 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 \ - $(DBDRIVER_OBJS) - --UOBJS = unix/os.@O@ -+UOBJS = unix/os.o - - SRCS = aclconf.c builtin.c client.c config.c control.c \ - controlconf.c interfacemgr.c \ -@@ -91,16 +91,22 @@ - - MANOBJS = ${MANPAGES} ${HTMLPAGES} - -+EXT_CFLAGS = -fPIE -+ - @BIND9_MAKE_RULES@ - --main.@O@: main.c -- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -+LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack -+ -+.SUFFIXES: .c .o -+ -+main.o: main.c -+ ${CC} ${ALL_CFLAGS} \ - -DVERSION=\"${VERSION}\" \ - -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ - -DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c - --config.@O@: config.c -- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -+config.o: config.c -+ ${CC} ${ALL_CFLAGS} \ - -DVERSION=\"${VERSION}\" \ - -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ - -c ${srcdir}/config.c ---- bind-9.3.2b1/bin/named/unix/Makefile.in.PIE 2004-03-08 04:04:15.000000000 -0500 -+++ bind-9.3.2b1/bin/named/unix/Makefile.in 2005-10-06 20:04:36.000000000 -0400 -@@ -27,10 +27,14 @@ - CDEFINES = - CWARNINGS = - --OBJS = os.@O@ -+OBJS = os.o - - SRCS = os.c - - TARGETS = ${OBJS} - -+EXT_CFLAGS = -fPIE -+ - @BIND9_MAKE_RULES@ -+ -+.SUFFIXES: .c .o -\ No newline at end of file ---- bind-9.3.2b1/bin/check/Makefile.in.PIE 2004-07-20 03:01:48.000000000 -0400 -+++ bind-9.3.2b1/bin/check/Makefile.in 2005-10-06 20:04:36.000000000 -0400 -@@ -55,27 +55,33 @@ - - MANOBJS = ${MANPAGES} ${HTMLPAGES} - -+EXT_CFLAGS = -fPIE -+ - @BIND9_MAKE_RULES@ - --named-checkconf.@O@: named-checkconf.c -- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -+LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack -+ -+.SUFFIXES: .c .o -+ -+named-checkconf.o: named-checkconf.c -+ ${CC} ${ALL_CFLAGS} \ - -DVERSION=\"${VERSION}\" \ - -c ${srcdir}/named-checkconf.c - --named-checkzone.@O@: named-checkzone.c -- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -+named-checkzone.o: named-checkzone.c -+ ${CC} ${ALL_CFLAGS} \ - -DVERSION=\"${VERSION}\" \ - -c ${srcdir}/named-checkzone.c - --named-checkconf@EXEEXT@: named-checkconf.@O@ check-tool.@O@ ${ISCDEPLIBS} \ -+named-checkconf@EXEEXT@: named-checkconf.o check-tool.o ${ISCDEPLIBS} \ - ${ISCCFGDEPLIBS} ${BIND9DEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ -- named-checkconf.@O@ check-tool.@O@ ${BIND9LIBS} ${ISCCFGLIBS} \ -+ named-checkconf.o check-tool.o ${BIND9LIBS} ${ISCCFGLIBS} \ - ${DNSLIBS} ${ISCLIBS} ${LIBS} - --named-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} -+named-checkzone@EXEEXT@: named-checkzone.o check-tool.o ${ISCDEPLIBS} ${DNSDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ -- named-checkzone.@O@ check-tool.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} -+ named-checkzone.o check-tool.o ${DNSLIBS} ${ISCLIBS} ${LIBS} - - doc man:: ${MANOBJS} - ---- bind-9.3.2b1/bin/nsupdate/Makefile.in.PIE 2004-07-20 03:01:49.000000000 -0400 -+++ bind-9.3.2b1/bin/nsupdate/Makefile.in 2005-10-06 20:04:36.000000000 -0400 -@@ -49,7 +49,7 @@ - - TARGETS = nsupdate@EXEEXT@ - --OBJS = nsupdate.@O@ -+OBJS = nsupdate.o - - UOBJS = - -@@ -61,10 +61,16 @@ - - MANOBJS = ${MANPAGES} ${HTMLPAGES} - -+EXT_CFLAGS = -fPIE -+ - @BIND9_MAKE_RULES@ - --nsupdate@EXEEXT@: nsupdate.@O@ ${UOBJS} ${DEPLIBS} -- ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nsupdate.@O@ ${UOBJS} ${LIBS} -+LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack -+ -+.SUFFIXES: .c .o -+ -+nsupdate@EXEEXT@: nsupdate.o ${UOBJS} ${DEPLIBS} -+ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nsupdate.o ${UOBJS} ${LIBS} - - doc man:: ${MANOBJS} - ---- bind-9.3.2b1/bin/rndc/Makefile.in.PIE 2004-07-20 03:01:50.000000000 -0400 -+++ bind-9.3.2b1/bin/rndc/Makefile.in 2005-10-06 20:05:10.000000000 -0400 -@@ -57,28 +57,34 @@ +--- bind-9.4.0/bin/rndc/Makefile.in.PIE 2007-01-19 01:55:49.000000000 +0100 ++++ bind-9.4.0/bin/rndc/Makefile.in 2007-03-06 12:53:37.000000000 +0100 +@@ -59,28 +59,34 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES} @@ -248,8 +56,8 @@ ${UOBJS} ${CONFLIBS} doc man:: ${MANOBJS} ---- bind-9.3.2b1/bin/rndc/unix/Makefile.in.PIE 2004-03-07 23:04:24.000000000 -0500 -+++ bind-9.3.2b1/bin/rndc/unix/Makefile.in 2005-10-06 20:04:36.000000000 -0400 +--- bind-9.4.0/bin/rndc/unix/Makefile.in.PIE 2004-03-05 05:58:29.000000000 +0100 ++++ bind-9.4.0/bin/rndc/unix/Makefile.in 2007-03-06 12:53:37.000000000 +0100 @@ -27,10 +27,16 @@ CDEFINES = CWARNINGS = @@ -268,8 +76,95 @@ +LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack + +.SUFFIXES: .c .o ---- bind-9.3.2b1/bin/dig/Makefile.in.PIE 2004-08-18 19:25:57.000000000 -0400 -+++ bind-9.3.2b1/bin/dig/Makefile.in 2005-10-06 20:04:36.000000000 -0400 +--- bind-9.4.0/bin/check/Makefile.in.PIE 2006-06-09 02:54:08.000000000 +0200 ++++ bind-9.4.0/bin/check/Makefile.in 2007-03-06 12:57:46.000000000 +0100 +@@ -55,27 +55,33 @@ + + MANOBJS = ${MANPAGES} ${HTMLPAGES} + ++EXT_CFLAGS = -fPIE ++ + @BIND9_MAKE_RULES@ + +-named-checkconf.@O@: named-checkconf.c +- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ ++LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack ++ ++.SUFFIXES: .c .o ++ ++named-checkconf.o: named-checkconf.c ++ ${CC} ${ALL_CFLAGS} \ + -DVERSION=\"${VERSION}\" \ + -c ${srcdir}/named-checkconf.c + +-named-checkzone.@O@: named-checkzone.c +- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ ++named-checkzone.o: named-checkzone.c ++ ${CC} ${ALL_CFLAGS} \ + -DVERSION=\"${VERSION}\" \ + -c ${srcdir}/named-checkzone.c + +-named-checkconf@EXEEXT@: named-checkconf.@O@ check-tool.@O@ ${ISCDEPLIBS} \ ++named-checkconf@EXEEXT@: named-checkconf.o check-tool.o ${ISCDEPLIBS} \ + ${ISCCFGDEPLIBS} ${BIND9DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ +- named-checkconf.@O@ check-tool.@O@ ${BIND9LIBS} ${ISCCFGLIBS} \ ++ named-checkconf.o check-tool.o ${BIND9LIBS} ${ISCCFGLIBS} \ + ${DNSLIBS} ${ISCLIBS} ${LIBS} + +-named-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} ++named-checkzone@EXEEXT@: named-checkzone.o check-tool.o ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ +- named-checkzone.@O@ check-tool.@O@ ${ISCCFGLIBS} ${DNSLIBS} \ ++ named-checkzone.o check-tool.o ${ISCCFGLIBS} ${DNSLIBS} \ + ${ISCLIBS} ${LIBS} + + doc man:: ${MANOBJS} +--- bind-9.4.0/bin/dnssec/Makefile.in.PIE 2005-05-02 02:26:11.000000000 +0200 ++++ bind-9.4.0/bin/dnssec/Makefile.in 2007-03-06 12:53:37.000000000 +0100 +@@ -41,7 +41,7 @@ + # Alphabetically + TARGETS = dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@ + +-OBJS = dnssectool.@O@ ++OBJS = dnssectool.o + + SRCS = dnssec-keygen.c dnssec-signzone.c dnssectool.c + +@@ -51,19 +51,25 @@ + + MANOBJS = ${MANPAGES} ${HTMLPAGES} + ++EXT_CFLAGS = -fPIE ++ + @BIND9_MAKE_RULES@ + +-dnssec-keygen@EXEEXT@: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS} ++LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack ++ ++.SUFFIXES: .c .o ++ ++dnssec-keygen@EXEEXT@: dnssec-keygen.o ${OBJS} ${DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ +- dnssec-keygen.@O@ ${OBJS} ${LIBS} ++ dnssec-keygen.o ${OBJS} ${LIBS} + +-dnssec-signzone.@O@: dnssec-signzone.c +- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \ ++dnssec-signzone.o: dnssec-signzone.c ++ ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \ + -c ${srcdir}/dnssec-signzone.c + +-dnssec-signzone@EXEEXT@: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS} ++dnssec-signzone@EXEEXT@: dnssec-signzone.o ${OBJS} ${DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ +- dnssec-signzone.@O@ ${OBJS} ${LIBS} ++ dnssec-signzone.o ${OBJS} ${LIBS} + + doc man:: ${MANOBJS} + +--- bind-9.4.0/bin/dig/Makefile.in.PIE 2005-09-09 16:11:04.000000000 +0200 ++++ bind-9.4.0/bin/dig/Makefile.in 2007-03-06 12:53:37.000000000 +0100 @@ -51,7 +51,7 @@ TARGETS = dig@EXEEXT@ host@EXEEXT@ nslookup@EXEEXT@ @@ -311,3 +206,108 @@ doc man:: ${MANOBJS} +--- bind-9.4.0/bin/named/Makefile.in.PIE 2005-09-05 02:18:10.000000000 +0200 ++++ bind-9.4.0/bin/named/Makefile.in 2007-03-06 12:59:02.000000000 +0100 +@@ -72,17 +72,17 @@ + + TARGETS = named@EXEEXT@ lwresd@EXEEXT@ + +-OBJS = builtin.@O@ client.@O@ config.@O@ control.@O@ \ +- controlconf.@O@ interfacemgr.@O@ \ +- listenlist.@O@ log.@O@ logconf.@O@ main.@O@ notify.@O@ \ +- query.@O@ server.@O@ sortlist.@O@ \ +- 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@ \ ++OBJS = builtin.o client.o config.o control.o \ ++ controlconf.o interfacemgr.o \ ++ listenlist.o log.o logconf.o main.o notify.o \ ++ query.o server.o sortlist.o \ ++ 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} + +-UOBJS = unix/os.@O@ ++UOBJS = unix/os.o + + SRCS = builtin.c client.c config.c control.c \ + controlconf.c interfacemgr.c \ +@@ -100,16 +100,22 @@ + + MANOBJS = ${MANPAGES} ${HTMLPAGES} + ++EXT_CFLAGS = -fPIE ++ + @BIND9_MAKE_RULES@ + +-main.@O@: main.c +- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ ++LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack ++ ++.SUFFIXES: .c .o ++ ++main.o: main.c ++ ${CC} ${ALL_CFLAGS} \ + -DVERSION=\"${VERSION}\" \ + -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ + -DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c + +-config.@O@: config.c +- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ ++config.o: config.c ++ ${CC} ${ALL_CFLAGS} \ + -DVERSION=\"${VERSION}\" \ + -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ + -c ${srcdir}/config.c +--- bind-9.4.0/bin/named/unix/Makefile.in.PIE 2004-03-05 05:58:01.000000000 +0100 ++++ bind-9.4.0/bin/named/unix/Makefile.in 2007-03-06 12:53:37.000000000 +0100 +@@ -27,10 +27,14 @@ + CDEFINES = + CWARNINGS = + +-OBJS = os.@O@ ++OBJS = os.o + + SRCS = os.c + + TARGETS = ${OBJS} + ++EXT_CFLAGS = -fPIE ++ + @BIND9_MAKE_RULES@ ++ ++.SUFFIXES: .c .o +\ Chybí znak konce řádku na konci souboru +--- bind-9.4.0/bin/nsupdate/Makefile.in.PIE 2004-07-20 09:03:20.000000000 +0200 ++++ bind-9.4.0/bin/nsupdate/Makefile.in 2007-03-06 12:53:37.000000000 +0100 +@@ -49,7 +49,7 @@ + + TARGETS = nsupdate@EXEEXT@ + +-OBJS = nsupdate.@O@ ++OBJS = nsupdate.o + + UOBJS = + +@@ -61,10 +61,16 @@ + + MANOBJS = ${MANPAGES} ${HTMLPAGES} + ++EXT_CFLAGS = -fPIE ++ + @BIND9_MAKE_RULES@ + +-nsupdate@EXEEXT@: nsupdate.@O@ ${UOBJS} ${DEPLIBS} +- ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nsupdate.@O@ ${UOBJS} ${LIBS} ++LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack ++ ++.SUFFIXES: .c .o ++ ++nsupdate@EXEEXT@: nsupdate.o ${UOBJS} ${DEPLIBS} ++ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nsupdate.o ${UOBJS} ${LIBS} + + doc man:: ${MANOBJS} + diff --git a/bind-9.3.3-edns.patch b/bind-9.3.3-edns.patch index fa9004b..0a22b84 100644 --- a/bind-9.3.3-edns.patch +++ b/bind-9.3.3-edns.patch @@ -1,68 +1,78 @@ ---- bind-9.3.3rc2/doc/misc/options.edns 2005-05-13 04:43:27.000000000 +0200 -+++ bind-9.3.3rc2/doc/misc/options 2006-11-02 13:00:25.000000000 +0100 -@@ -83,6 +83,7 @@ - edns-udp-size ; - root-delegation-only [ exclude { ; ... } ]; - disable-algorithms { ; ... }; -+ edns-enable ; - dnssec-enable ; - dnssec-lookaside trust-anchor ; - dnssec-must-be-secure ; -@@ -263,6 +264,7 @@ - edns-udp-size ; - root-delegation-only [ exclude { ; ... } ]; - disable-algorithms { ; ... }; -+ edns-enable ; - dnssec-enable ; - dnssec-lookaside trust-anchor ; - dnssec-must-be-secure ; ---- bind-9.3.3rc2/lib/dns/view.c.edns 2004-03-10 03:55:58.000000000 +0100 -+++ bind-9.3.3rc2/lib/dns/view.c 2006-11-02 12:47:07.000000000 +0100 -@@ -156,6 +156,7 @@ +--- bind-9.4.0/lib/dns/view.c.edns 2006-03-10 00:38:21.000000000 +0100 ++++ bind-9.4.0/lib/dns/view.c 2007-03-06 14:55:44.000000000 +0100 +@@ -160,6 +160,7 @@ view->additionalfromcache = ISC_TRUE; view->additionalfromauth = ISC_TRUE; view->enablednssec = ISC_TRUE; + view->enableedns = ISC_TRUE; + view->enablevalidation = ISC_TRUE; + view->acceptexpired = ISC_FALSE; view->minimalresponses = ISC_FALSE; - view->transfer_format = dns_one_answer; - view->queryacl = NULL; ---- bind-9.3.3rc2/lib/dns/include/dns/view.h.edns 2004-03-10 03:55:58.000000000 +0100 -+++ bind-9.3.3rc2/lib/dns/include/dns/view.h 2006-11-02 12:47:07.000000000 +0100 -@@ -109,6 +109,7 @@ +--- bind-9.4.0/lib/dns/include/dns/view.h.edns 2006-03-10 00:38:21.000000000 +0100 ++++ bind-9.4.0/lib/dns/include/dns/view.h 2007-03-06 14:56:19.000000000 +0100 +@@ -112,6 +112,7 @@ isc_boolean_t additionalfromauth; isc_boolean_t minimalresponses; isc_boolean_t enablednssec; + isc_boolean_t enableedns; + isc_boolean_t enablevalidation; + isc_boolean_t acceptexpired; dns_transfer_format_t transfer_format; - dns_acl_t * queryacl; - dns_acl_t * recursionacl; ---- bind-9.3.3rc2/lib/isccfg/namedconf.c.edns 2006-03-02 01:37:20.000000000 +0100 -+++ bind-9.3.3rc2/lib/isccfg/namedconf.c 2006-11-02 12:47:07.000000000 +0100 -@@ -726,6 +726,7 @@ +--- bind-9.4.0/lib/isccfg/namedconf.c.edns 2006-05-03 03:46:40.000000000 +0200 ++++ bind-9.4.0/lib/isccfg/namedconf.c 2007-03-06 14:43:48.000000000 +0100 +@@ -767,6 +767,7 @@ { "root-delegation-only", &cfg_type_optional_exclude, 0 }, { "disable-algorithms", &cfg_type_disablealgorithm, CFG_CLAUSEFLAG_MULTI }, + { "edns-enable", &cfg_type_boolean, 0 }, { "dnssec-enable", &cfg_type_boolean, 0 }, + { "dnssec-validation", &cfg_type_boolean, 0 }, { "dnssec-lookaside", &cfg_type_lookaside, CFG_CLAUSEFLAG_MULTI }, - { "dnssec-must-be-secure", &cfg_type_mustbesecure, ---- bind-9.3.3rc2/bin/named/server.c.edns 2006-11-02 12:47:07.000000000 +0100 -+++ bind-9.3.3rc2/bin/named/server.c 2006-11-02 12:47:07.000000000 +0100 -@@ -1181,6 +1181,11 @@ - result = ns_config_get(maps, "provide-ixfr", &obj); - INSIST(result == ISC_R_SUCCESS); - view->provideixfr = cfg_obj_asboolean(obj); +--- bind-9.4.0/doc/misc/options.edns 2006-05-03 04:26:59.000000000 +0200 ++++ bind-9.4.0/doc/misc/options 2007-03-06 14:43:48.000000000 +0100 +@@ -85,6 +85,7 @@ + max-udp-size ; + root-delegation-only [ exclude { ; ... } ]; + disable-algorithms { ; ... }; ++ edns-enable ; + dnssec-enable ; + dnssec-validation ; + dnssec-lookaside trust-anchor ; +@@ -313,6 +314,7 @@ + max-udp-size ; + root-delegation-only [ exclude { ; ... } ]; + disable-algorithms { ; ... }; ++ edns-enable ; + dnssec-enable ; + dnssec-validation ; + dnssec-lookaside trust-anchor ; +--- bind-9.4.0/bin/named/config.c.edns 2006-05-03 03:46:40.000000000 +0200 ++++ bind-9.4.0/bin/named/config.c 2007-03-06 15:02:07.000000000 +0100 +@@ -135,6 +135,7 @@ + acache-enable no;\n\ + acache-cleaning-interval 60;\n\ + max-acache-size 0;\n\ ++ edns-enable yes;\n\ + dnssec-enable yes;\n\ + dnssec-validation no; /* Make yes for 9.5. */ \n\ + dnssec-accept-expired no;\n\ +--- bind-9.4.0/bin/named/server.c.edns 2007-03-06 14:43:48.000000000 +0100 ++++ bind-9.4.0/bin/named/server.c 2007-03-06 15:01:24.000000000 +0100 +@@ -1492,6 +1492,11 @@ + dns_resolver_setclientsperquery(view->resolver, + cfg_obj_asuint32(obj), + max_clients_per_query); + + obj = NULL; + (void)ns_config_get(maps, "edns-enable", &obj); -+ if (obj != NULL) -+ view->enableedns = cfg_obj_asboolean(obj); ++ if(obj != NULL) ++ view->enableedns = cfg_obj_asboolean(obj); obj = NULL; result = ns_config_get(maps, "dnssec-enable", &obj); ---- bind-9.3.3rc2/bin/named/query.c.edns 2006-08-31 05:57:11.000000000 +0200 -+++ bind-9.3.3rc2/bin/named/query.c 2006-11-02 12:47:07.000000000 +0100 -@@ -3558,6 +3558,12 @@ +--- bind-9.4.0/bin/named/query.c.edns 2007-01-08 03:41:59.000000000 +0100 ++++ bind-9.4.0/bin/named/query.c 2007-03-06 14:43:48.000000000 +0100 +@@ -4578,6 +4578,12 @@ if (client->view->enablednssec) message->flags |= DNS_MESSAGEFLAG_AD; @@ -75,13 +85,3 @@ qclient = NULL; ns_client_attach(client, &qclient); query_find(qclient, NULL, qtype); ---- bind-9.3.3rc2/bin/named/config.c.edns 2006-02-28 07:32:53.000000000 +0100 -+++ bind-9.3.3rc2/bin/named/config.c 2006-11-02 12:47:07.000000000 +0100 -@@ -125,6 +125,7 @@ - check-names master fail;\n\ - check-names slave warn;\n\ - check-names response ignore;\n\ -+ edns-enable yes;\n\ - dnssec-enable no; /* Make yes for 9.4. */ \n\ - " - diff --git a/bind-9.3.3rc2-dbus.patch b/bind-9.3.3rc2-dbus.patch index 0855f04..7eda95c 100644 --- a/bind-9.3.3rc2-dbus.patch +++ b/bind-9.3.3rc2-dbus.patch @@ -1,56 +1,298 @@ ---- bind-9.3.2b2/lib/dns/rbt.c.dbus 2005-06-17 21:03:24.000000000 -0400 -+++ bind-9.3.2b2/lib/dns/rbt.c 2005-11-15 12:45:05.000000000 -0500 -@@ -2172,6 +2172,47 @@ - dns_rbt_printtree(rbt->root, NULL, 0); +--- bind-9.4.0/lib/isc/include/isc/socket.h.dbus 2006-06-07 02:29:45.000000000 +0200 ++++ bind-9.4.0/lib/isc/include/isc/socket.h 2007-03-06 13:58:11.000000000 +0100 +@@ -135,6 +135,10 @@ + #define ISC_SOCKEVENT_NEWCONN (ISC_EVENTCLASS_SOCKET + 3) + #define ISC_SOCKEVENT_CONNECT (ISC_EVENTCLASS_SOCKET + 4) + ++#define ISC_SOCKEVENT_READ_READY (ISC_EVENTCLASS_SOCKET + 5) ++#define ISC_SOCKEVENT_WRITE_READY (ISC_EVENTCLASS_SOCKET + 6) ++#define ISC_SOCKEVENT_SELECTED (ISC_EVENTCLASS_SOCKET + 7) ++ + /* + * Internal events. + */ +@@ -144,7 +148,8 @@ + typedef enum { + isc_sockettype_udp = 1, + isc_sockettype_tcp = 2, +- isc_sockettype_unix = 3 ++ isc_sockettype_unix = 3, ++ isc_sockettype_fd = 8 + } isc_sockettype_t; + + /*@{*/ +@@ -747,6 +752,54 @@ + * \li #ISC_R_FAILURE + */ + ++isc_socketevent_t* ++isc_socket_fd_handle_reads( isc_socket_t *sock, isc_socketevent_t *dev ); ++/* register the "dev" event to be sent when the isc_sockettype_fd sock ++ * was select()-ed for read. If there is already an event registered, it ++ * is returned, otherwise 0 is returned. If dev is 0, removes any existing ++ * registered event. ++ */ ++ ++isc_socketevent_t* ++isc_socket_fd_handle_writes( isc_socket_t *sock, isc_socketevent_t *dev ); ++/* register the "dev" event to be sent when the isc_sockettype_fd sock ++ * was select()-ed for write. If there is already an event registered, it ++ * is returned, otherwise 0 is returned. If dev is 0, removes any existing ++ * registered event. ++ */ ++ ++isc_socketevent_t* ++isc_socket_fd_handle_selected( isc_socket_t *sock, isc_socketevent_t *dev ); ++/* register the "dev" event to be sent when ALL isc_sockettype_fd sockets ++ * have been select()-ed . If there is already an event registered, it ++ * is returned, otherwise 0 is returned. If dev is 0, removes any existing ++ * registered event. ++ */ ++ ++isc_socketevent_t* ++isc_socket_fd_handle_reads( isc_socket_t *sock, isc_socketevent_t *dev ); ++/* register the "dev" event to be sent when the isc_sockettype_fd sock ++ * was select()-ed for read. If there is already an event registered, it ++ * is returned, otherwise 0 is returned. If dev is 0, removes any existing ++ * registered event. ++ */ ++ ++isc_socketevent_t* ++isc_socket_fd_handle_writes( isc_socket_t *sock, isc_socketevent_t *dev ); ++/* register the "dev" event to be sent when the isc_sockettype_fd sock ++ * was select()-ed for write. If there is already an event registered, it ++ * is returned, otherwise 0 is returned. If dev is 0, removes any existing ++ * registered event. ++ */ ++ ++isc_socketevent_t* ++isc_socket_fd_handle_selected( isc_socket_t *sock, isc_socketevent_t *dev ); ++/* register the "dev" event to be sent when ALL isc_sockettype_fd sockets ++ * have been select()-ed . If there is already an event registered, it ++ * is returned, otherwise 0 is returned. If dev is 0, removes any existing ++ * registered event. ++ */ ++ + ISC_LANG_ENDDECLS + + #endif /* ISC_SOCKET_H */ +--- bind-9.4.0/lib/isc/unix/socket.c.dbus 2007-03-06 13:45:26.000000000 +0100 ++++ bind-9.4.0/lib/isc/unix/socket.c 2007-03-06 13:45:26.000000000 +0100 +@@ -159,6 +159,11 @@ + ISC_LIST(isc_socketevent_t) recv_list; + ISC_LIST(isc_socket_newconnev_t) accept_list; + isc_socket_connev_t *connect_ev; ++ ++ /* these are used only by isc_sockettype_fd sockets:*/ ++ isc_socketevent_t *read_ready_event; ++ isc_socketevent_t *write_ready_event; ++ isc_socketevent_t *selected_event; + + /* + * Internal events. Posted when a descriptor is readable or +@@ -315,7 +320,7 @@ + + static void + wakeup_socket(isc_socketmgr_t *manager, int fd, int msg) { +- isc_socket_t *sock; ++ isc_socket_t *sock=0L; + + /* + * This is a wakeup on a socket. If the socket is not in the +@@ -1311,6 +1316,9 @@ + sock->connected = 0; + sock->connecting = 0; + sock->bound = 0; ++ sock->read_ready_event = 0L; ++ sock->write_ready_event = 0L; ++ sock->selected_event = 0L; + + /* + * initialize the lock +@@ -1426,13 +1434,16 @@ + case isc_sockettype_unix: + sock->fd = socket(pf, SOCK_STREAM, 0); + break; ++ ++ case isc_sockettype_fd: ++ sock->fd = pf; + } + + #ifdef F_DUPFD + /* + * Leave a space for stdio to work in. + */ +- if (sock->fd >= 0 && sock->fd < 20) { ++ if ( (type != isc_sockettype_fd) && (sock->fd >= 0) && (sock->fd < 20) ) { + int new, tmp; + new = fcntl(sock->fd, F_DUPFD, 20); + tmp = errno; +@@ -1486,7 +1497,7 @@ + } + } + +- if (make_nonblock(sock->fd) != ISC_R_SUCCESS) { ++ if ((type != isc_sockettype_fd) && (make_nonblock(sock->fd) != ISC_R_SUCCESS)) { + (void)close(sock->fd); + free_socket(&sock); + return (ISC_R_UNEXPECTED); +@@ -1777,6 +1788,38 @@ + isc_task_send(ev->ev_sender, (isc_event_t **)&iev); } -+static void -+dns_rbt_traverse_tree(dns_rbtnode_t *root, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ) { -+/* -+ * This is used ONLY to traverse the forward table by dbus_mgr at the moment. -+ * Since the forward table is not likely to be large, this can be recursive. -+ */ -+ dns_name_t name; -+ dns_offsets_t offsets; -+ char buf[DNS_NAME_MAXWIRE]; -+ isc_buffer_t buffer; -+ -+ if (root != NULL) { -+ -+ if (DOWN(root)) -+ dns_rbt_traverse_tree(DOWN(root), cb, cb_arg1, cb_arg2); -+ -+ if( LEFT(root) != NULL ) -+ dns_rbt_traverse_tree(LEFT(root), cb, cb_arg1, cb_arg2); -+ -+ if( RIGHT(root) != NULL ) -+ dns_rbt_traverse_tree(RIGHT(root), cb, cb_arg1, cb_arg2); -+ -+ if( DATA(root) == 0L ) -+ return; -+ -+ dns_name_init(&name, offsets); -+ isc_buffer_init(&buffer, buf, DNS_NAME_MAXWIRE); -+ dns_name_setbuffer( &name, &buffer); -+ dns_rbt_fullnamefromnode(root, &name); -+ -+ (*cb)(&name, DATA(root), cb_arg1, cb_arg2); -+ } ++static ++isc_event_t *dispatch_read_ready(isc_socketmgr_t *manager, isc_socket_t *sock) ++{ ++ isc_event_t *dev = (isc_event_t*)sock->read_ready_event, *ev; ++ ++ ev = isc_mem_get(manager->mctx, dev->ev_size); ++ memcpy(ev,dev,dev->ev_size); ++ ISC_LINK_INIT(ev,ev_link); ++ isc_task_send(dev->ev_sender, &ev ); ++ return (isc_event_t *)sock->selected_event; +} + -+void dns_rbt_traverse( dns_rbt_t *rbt, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ) ++static ++isc_event_t *dispatch_write_ready(isc_socketmgr_t *manager,isc_socket_t *sock) +{ -+ REQUIRE(VALID_RBT(rbt)); ++ isc_event_t *dev = (isc_event_t*)sock->write_ready_event, *ev; ++ ev = isc_mem_get(manager->mctx, dev->ev_size); ++ memcpy(ev,dev,dev->ev_size); ++ ISC_LINK_INIT(ev,ev_link); ++ isc_task_send(dev->ev_sender, &ev ); ++ return (isc_event_t *)sock->selected_event; ++} + -+ dns_rbt_traverse_tree( rbt->root, cb, cb_arg1, cb_arg2 ); ++static ++void dispatch_selected(isc_socketmgr_t *manager, isc_event_t *dev) ++{ isc_event_t *ev; ++ ev = isc_mem_get(manager->mctx, dev->ev_size); ++ memcpy(ev,dev,dev->ev_size); ++ ISC_LINK_INIT(ev,ev_link); ++ isc_task_send(dev->ev_sender, &ev ); +} + /* - * Chain Functions - */ ---- bind-9.3.2b2/lib/dns/forward.c.dbus 2005-03-16 22:58:30.000000000 -0500 -+++ bind-9.3.2b2/lib/dns/forward.c 2005-11-15 12:45:05.000000000 -0500 -@@ -200,3 +200,89 @@ + * Dequeue an item off the given socket's read queue, set the result code + * in the done event to the one provided, and send it to the task it was +@@ -2184,6 +2227,7 @@ + int i; + isc_socket_t *sock; + isc_boolean_t unlock_sock; ++ isc_event_t *sock_selected = 0L; + + REQUIRE(maxfd <= (int)FD_SETSIZE); + +@@ -2217,11 +2261,15 @@ + unlock_sock = ISC_TRUE; + LOCK(&sock->lock); + if (!SOCK_DEAD(sock)) { ++ if( sock->type != isc_sockettype_fd ) ++ { + if (sock->listener) + dispatch_accept(sock); + else + dispatch_recv(sock); +- } ++ }else ++ sock_selected = dispatch_read_ready(manager,sock); ++ } + FD_CLR(i, &manager->read_fds); + } + check_write: +@@ -2235,16 +2283,24 @@ + LOCK(&sock->lock); + } + if (!SOCK_DEAD(sock)) { ++ if( sock->type != isc_sockettype_fd ) ++ { + if (sock->connecting) + dispatch_connect(sock); + else + dispatch_send(sock); ++ }else ++ sock_selected = dispatch_write_ready(manager,sock); + } + FD_CLR(i, &manager->write_fds); + } + if (unlock_sock) + UNLOCK(&sock->lock); + } ++ if( sock_selected != 0L ) ++ { ++ dispatch_selected(manager, sock_selected); ++ } + } + + #ifdef ISC_PLATFORM_USETHREADS +@@ -2263,7 +2319,7 @@ + int cc; + fd_set readfds; + fd_set writefds; +- int msg, fd; ++ int msg, fd = -1; + int maxfd; + char strbuf[ISC_STRERRORSIZE]; + +@@ -3784,3 +3840,55 @@ + return (ISC_R_SUCCESS); + } + #endif /* ISC_PLATFORM_USETHREADS */ ++ ++isc_socketevent_t* ++isc_socket_fd_handle_reads( isc_socket_t *sock, isc_socketevent_t *dev ) ++{ ++ REQUIRE(VALID_SOCKET(sock)); ++ if(dev != 0L) ++ { ++ sock->references=1; ++ sock->read_ready_event = dev; ++ select_poke(sock->manager, sock->fd, SELECT_POKE_READ); ++ }else ++ { ++ dev = sock->read_ready_event ; ++ sock->read_ready_event = 0L ; ++ } ++ return dev; ++} ++ ++isc_socketevent_t* ++isc_socket_fd_handle_writes( isc_socket_t *sock, isc_socketevent_t *dev ) ++{ ++ REQUIRE(VALID_SOCKET(sock)); ++ if(dev != 0L) ++ { ++ sock->references=1; ++ sock->write_ready_event = dev; ++ select_poke(sock->manager, sock->fd, SELECT_POKE_WRITE); ++ }else ++ { ++ dev = sock->write_ready_event; ++ sock->write_ready_event = 0L; ++ } ++ return dev; ++} ++ ++isc_socketevent_t* ++isc_socket_fd_handle_selected( isc_socket_t *sock, isc_socketevent_t *dev ) ++{ ++ REQUIRE(VALID_SOCKET(sock)); ++ if(dev != 0L) ++ { ++ sock->references=1; ++ sock->selected_event = dev; ++ }else ++ { ++ dev = sock->selected_event; ++ sock->selected_event = 0L; ++ sock->references=0; ++ destroy(&sock); ++ } ++ return dev; ++} +--- bind-9.4.0/lib/dns/forward.c.dbus 2005-07-12 03:22:20.000000000 +0200 ++++ bind-9.4.0/lib/dns/forward.c 2007-03-06 13:45:26.000000000 +0100 +@@ -197,3 +197,89 @@ } isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t)); } @@ -140,10 +382,80 @@ + + dns_rbt_traverse( fwdtable->table, dns_fwdtable_traverse, cb, cb_arg ); +} ---- bind-9.3.2b2/lib/dns/include/dns/forward.h.dbus 2005-03-16 22:58:31.000000000 -0500 -+++ bind-9.3.2b2/lib/dns/include/dns/forward.h 2005-11-15 12:45:05.000000000 -0500 -@@ -98,6 +98,37 @@ - * all memory associated with the forwarding table is freed. +--- bind-9.4.0/lib/dns/rbt.c.dbus 2005-10-13 03:26:06.000000000 +0200 ++++ bind-9.4.0/lib/dns/rbt.c 2007-03-06 13:45:26.000000000 +0100 +@@ -2175,6 +2175,47 @@ + dns_rbt_printtree(rbt->root, NULL, 0); + } + ++static void ++dns_rbt_traverse_tree(dns_rbtnode_t *root, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ) { ++/* ++ * This is used ONLY to traverse the forward table by dbus_mgr at the moment. ++ * Since the forward table is not likely to be large, this can be recursive. ++ */ ++ dns_name_t name; ++ dns_offsets_t offsets; ++ char buf[DNS_NAME_MAXWIRE]; ++ isc_buffer_t buffer; ++ ++ if (root != NULL) { ++ ++ if (DOWN(root)) ++ dns_rbt_traverse_tree(DOWN(root), cb, cb_arg1, cb_arg2); ++ ++ if( LEFT(root) != NULL ) ++ dns_rbt_traverse_tree(LEFT(root), cb, cb_arg1, cb_arg2); ++ ++ if( RIGHT(root) != NULL ) ++ dns_rbt_traverse_tree(RIGHT(root), cb, cb_arg1, cb_arg2); ++ ++ if( DATA(root) == 0L ) ++ return; ++ ++ dns_name_init(&name, offsets); ++ isc_buffer_init(&buffer, buf, DNS_NAME_MAXWIRE); ++ dns_name_setbuffer( &name, &buffer); ++ dns_rbt_fullnamefromnode(root, &name); ++ ++ (*cb)(&name, DATA(root), cb_arg1, cb_arg2); ++ } ++} ++ ++void dns_rbt_traverse( dns_rbt_t *rbt, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ) ++{ ++ REQUIRE(VALID_RBT(rbt)); ++ ++ dns_rbt_traverse_tree( rbt->root, cb, cb_arg1, cb_arg2 ); ++} ++ + /* + * Chain Functions + */ +--- bind-9.4.0/lib/dns/include/dns/rbt.h.dbus 2005-10-13 03:26:07.000000000 +0200 ++++ bind-9.4.0/lib/dns/include/dns/rbt.h 2007-03-06 13:45:26.000000000 +0100 +@@ -911,6 +911,17 @@ + } while (0) + #endif /* DNS_RBT_USEISCREFCOUNT */ + ++ ++typedef void (*dns_rbt_traverse_callback_t)( dns_name_t *name, ++ void *node_data, ++ void *cb_arg1, ++ void *cb_arg2); ++ ++void dns_rbt_traverse( dns_rbt_t *rbt, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ); ++/* tree traversal function (only used by D-BUS dynamic forwarding dbus_mgr at ++ * the moment) ++ */ ++ + ISC_LANG_ENDDECLS + + #endif /* DNS_RBT_H */ +--- bind-9.4.0/lib/dns/include/dns/forward.h.dbus 2005-04-27 07:01:33.000000000 +0200 ++++ bind-9.4.0/lib/dns/include/dns/forward.h 2007-03-06 13:45:26.000000000 +0100 +@@ -113,6 +113,37 @@ + * \li all memory associated with the forwarding table is freed. */ + @@ -180,297 +492,40 @@ ISC_LANG_ENDDECLS #endif /* DNS_FORWARD_H */ ---- bind-9.3.2b2/lib/dns/include/dns/rbt.h.dbus 2004-10-11 01:55:51.000000000 -0400 -+++ bind-9.3.2b2/lib/dns/include/dns/rbt.h 2005-11-15 12:45:05.000000000 -0500 -@@ -833,6 +833,17 @@ - * Any error result from dns_name_concatenate. - */ - -+ -+typedef void (*dns_rbt_traverse_callback_t)( dns_name_t *name, -+ void *node_data, -+ void *cb_arg1, -+ void *cb_arg2); -+ -+void dns_rbt_traverse( dns_rbt_t *rbt, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ); -+/* tree traversal function (only used by D-BUS dynamic forwarding dbus_mgr at -+ * the moment) -+ */ -+ - ISC_LANG_ENDDECLS - - #endif /* DNS_RBT_H */ ---- bind-9.3.2b2/lib/isc/unix/socket.c.dbus 2005-11-15 12:43:36.000000000 -0500 -+++ bind-9.3.2b2/lib/isc/unix/socket.c 2005-11-15 12:45:05.000000000 -0500 -@@ -148,6 +148,11 @@ - ISC_LIST(isc_socketevent_t) recv_list; - ISC_LIST(isc_socket_newconnev_t) accept_list; - isc_socket_connev_t *connect_ev; -+ -+ /* these are used only by isc_sockettype_fd sockets:*/ -+ isc_socketevent_t *read_ready_event; -+ isc_socketevent_t *write_ready_event; -+ isc_socketevent_t *selected_event; - - /* - * Internal events. Posted when a descriptor is readable or -@@ -304,7 +309,7 @@ +--- bind-9.4.0/bin/named/main.c.dbus 2006-11-10 19:51:14.000000000 +0100 ++++ bind-9.4.0/bin/named/main.c 2007-03-06 14:11:18.000000000 +0100 +@@ -248,7 +248,8 @@ + "usage: named [-4|-6] [-c conffile] [-d debuglevel] " + "[-f|-g] [-n number_of_cpus]\n" + " [-p port] [-s] [-t chrootdir] [-u username]\n" +- " [-m {usage|trace|record|size|mctx}]\n"); ++ " [-m {usage|trace|record|size|mctx}]\n" ++ " [-D ]\n"); + } static void - wakeup_socket(isc_socketmgr_t *manager, int fd, int msg) { -- isc_socket_t *sock; -+ isc_socket_t *sock=0L; +@@ -356,7 +357,7 @@ - /* - * This is a wakeup on a socket. If the socket is not in the -@@ -1266,6 +1271,9 @@ - sock->connected = 0; - sock->connecting = 0; - sock->bound = 0; -+ sock->read_ready_event = 0L; -+ sock->write_ready_event = 0L; -+ sock->selected_event = 0L; - - /* - * initialize the lock -@@ -1378,13 +1386,16 @@ - case isc_sockettype_tcp: - sock->fd = socket(pf, SOCK_STREAM, IPPROTO_TCP); - break; -+ -+ case isc_sockettype_fd: -+ sock->fd = pf; - } - - #ifdef F_DUPFD - /* - * Leave a space for stdio to work in. - */ -- if (sock->fd >= 0 && sock->fd < 20) { -+ if ( (type != isc_sockettype_fd) && (sock->fd >= 0) && (sock->fd < 20) ) { - int new, tmp; - new = fcntl(sock->fd, F_DUPFD, 20); - tmp = errno; -@@ -1438,7 +1449,7 @@ - } - } - -- if (make_nonblock(sock->fd) != ISC_R_SUCCESS) { -+ if ((type != isc_sockettype_fd) && (make_nonblock(sock->fd) != ISC_R_SUCCESS)) { - (void)close(sock->fd); - free_socket(&sock); - return (ISC_R_UNEXPECTED); -@@ -1706,6 +1717,38 @@ - isc_task_send(ev->ev_sender, (isc_event_t **)&iev); - } - -+static -+isc_event_t *dispatch_read_ready(isc_socketmgr_t *manager, isc_socket_t *sock) -+{ -+ isc_event_t *dev = (isc_event_t*)sock->read_ready_event, *ev; -+ -+ ev = isc_mem_get(manager->mctx, dev->ev_size); -+ memcpy(ev,dev,dev->ev_size); -+ ISC_LINK_INIT(ev,ev_link); -+ isc_task_send(dev->ev_sender, &ev ); -+ return (isc_event_t *)sock->selected_event; -+} -+ -+static -+isc_event_t *dispatch_write_ready(isc_socketmgr_t *manager,isc_socket_t *sock) -+{ -+ isc_event_t *dev = (isc_event_t*)sock->write_ready_event, *ev; -+ ev = isc_mem_get(manager->mctx, dev->ev_size); -+ memcpy(ev,dev,dev->ev_size); -+ ISC_LINK_INIT(ev,ev_link); -+ isc_task_send(dev->ev_sender, &ev ); -+ return (isc_event_t *)sock->selected_event; -+} -+ -+static -+void dispatch_selected(isc_socketmgr_t *manager, isc_event_t *dev) -+{ isc_event_t *ev; -+ ev = isc_mem_get(manager->mctx, dev->ev_size); -+ memcpy(ev,dev,dev->ev_size); -+ ISC_LINK_INIT(ev,ev_link); -+ isc_task_send(dev->ev_sender, &ev ); -+} -+ - /* - * Dequeue an item off the given socket's read queue, set the result code - * in the done event to the one provided, and send it to the task it was -@@ -2113,6 +2156,7 @@ - int i; - isc_socket_t *sock; - isc_boolean_t unlock_sock; -+ isc_event_t *sock_selected = 0L; - - REQUIRE(maxfd <= (int)FD_SETSIZE); - -@@ -2146,11 +2190,15 @@ - unlock_sock = ISC_TRUE; - LOCK(&sock->lock); - if (!SOCK_DEAD(sock)) { -+ if( sock->type != isc_sockettype_fd ) -+ { - if (sock->listener) - dispatch_accept(sock); - else - dispatch_recv(sock); -- } -+ }else -+ sock_selected = dispatch_read_ready(manager,sock); -+ } - FD_CLR(i, &manager->read_fds); - } - check_write: -@@ -2164,16 +2212,24 @@ - LOCK(&sock->lock); - } - if (!SOCK_DEAD(sock)) { -+ if( sock->type != isc_sockettype_fd ) -+ { - if (sock->connecting) - dispatch_connect(sock); - else - dispatch_send(sock); -+ }else -+ sock_selected = dispatch_write_ready(manager,sock); - } - FD_CLR(i, &manager->write_fds); - } - if (unlock_sock) - UNLOCK(&sock->lock); - } -+ if( sock_selected != 0L ) -+ { -+ dispatch_selected(manager, sock_selected); -+ } - } - - #ifdef ISC_PLATFORM_USETHREADS -@@ -2192,7 +2248,7 @@ - int cc; - fd_set readfds; - fd_set writefds; -- int msg, fd; -+ int msg, fd = -1; - int maxfd; - char strbuf[ISC_STRERRORSIZE]; - -@@ -3523,3 +3579,55 @@ - return (ISC_R_SUCCESS); - } - #endif /* ISC_PLATFORM_USETHREADS */ -+ -+isc_socketevent_t* -+isc_socket_fd_handle_reads( isc_socket_t *sock, isc_socketevent_t *dev ) -+{ -+ REQUIRE(VALID_SOCKET(sock)); -+ if(dev != 0L) -+ { -+ sock->references=1; -+ sock->read_ready_event = dev; -+ select_poke(sock->manager, sock->fd, SELECT_POKE_READ); -+ }else -+ { -+ dev = sock->read_ready_event ; -+ sock->read_ready_event = 0L ; -+ } -+ return dev; -+} -+ -+isc_socketevent_t* -+isc_socket_fd_handle_writes( isc_socket_t *sock, isc_socketevent_t *dev ) -+{ -+ REQUIRE(VALID_SOCKET(sock)); -+ if(dev != 0L) -+ { -+ sock->references=1; -+ sock->write_ready_event = dev; -+ select_poke(sock->manager, sock->fd, SELECT_POKE_WRITE); -+ }else -+ { -+ dev = sock->write_ready_event; -+ sock->write_ready_event = 0L; -+ } -+ return dev; -+} -+ -+isc_socketevent_t* -+isc_socket_fd_handle_selected( isc_socket_t *sock, isc_socketevent_t *dev ) -+{ -+ REQUIRE(VALID_SOCKET(sock)); -+ if(dev != 0L) -+ { -+ sock->references=1; -+ sock->selected_event = dev; -+ }else -+ { -+ dev = sock->selected_event; -+ sock->selected_event = 0L; -+ sock->references=0; -+ destroy(&sock); -+ } -+ return dev; -+} ---- bind-9.3.2b2/lib/isc/include/isc/socket.h.dbus 2004-03-08 04:04:53.000000000 -0500 -+++ bind-9.3.2b2/lib/isc/include/isc/socket.h 2005-11-15 12:45:05.000000000 -0500 -@@ -136,6 +136,10 @@ - #define ISC_SOCKEVENT_NEWCONN (ISC_EVENTCLASS_SOCKET + 3) - #define ISC_SOCKEVENT_CONNECT (ISC_EVENTCLASS_SOCKET + 4) - -+#define ISC_SOCKEVENT_READ_READY (ISC_EVENTCLASS_SOCKET + 5) -+#define ISC_SOCKEVENT_WRITE_READY (ISC_EVENTCLASS_SOCKET + 6) -+#define ISC_SOCKEVENT_SELECTED (ISC_EVENTCLASS_SOCKET + 7) -+ - /* - * Internal events. - */ -@@ -144,7 +148,8 @@ - - typedef enum { - isc_sockettype_udp = 1, -- isc_sockettype_tcp = 2 -+ isc_sockettype_tcp = 2, -+ isc_sockettype_fd = 8 - } isc_sockettype_t; - - /* -@@ -699,6 +704,30 @@ - * 'sock' is a valid socket. - */ - -+isc_socketevent_t* -+isc_socket_fd_handle_reads( isc_socket_t *sock, isc_socketevent_t *dev ); -+/* register the "dev" event to be sent when the isc_sockettype_fd sock -+ * was select()-ed for read. If there is already an event registered, it -+ * is returned, otherwise 0 is returned. If dev is 0, removes any existing -+ * registered event. -+ */ -+ -+isc_socketevent_t* -+isc_socket_fd_handle_writes( isc_socket_t *sock, isc_socketevent_t *dev ); -+/* register the "dev" event to be sent when the isc_sockettype_fd sock -+ * was select()-ed for write. If there is already an event registered, it -+ * is returned, otherwise 0 is returned. If dev is 0, removes any existing -+ * registered event. -+ */ -+ -+isc_socketevent_t* -+isc_socket_fd_handle_selected( isc_socket_t *sock, isc_socketevent_t *dev ); -+/* register the "dev" event to be sent when ALL isc_sockettype_fd sockets -+ * have been select()-ed . If there is already an event registered, it -+ * is returned, otherwise 0 is returned. If dev is 0, removes any existing -+ * registered event. -+ */ -+ - ISC_LANG_ENDDECLS - - #endif /* ISC_SOCKET_H */ ---- bind-9.3.2b2/bin/named/log.c.dbus 2005-05-24 19:58:17.000000000 -0400 -+++ bind-9.3.2b2/bin/named/log.c 2005-11-15 12:45:05.000000000 -0500 -@@ -41,6 +41,7 @@ + isc_commandline_errprint = ISC_FALSE; + while ((ch = isc_commandline_parse(argc, argv, +- "46c:C:d:fgi:lm:n:N:p:P:st:u:vx:")) != -1) { ++ "46c:C:d:fgi:lm:n:N:p:P:st:u:vx:D")) != -1) { + switch (ch) { + case '4': + if (disable4) +@@ -445,6 +446,9 @@ + case 'v': + printf("BIND %s\n", ns_g_version); + exit(0); ++ case 'D': ++ ns_g_dbus = 1; ++ break; + case '?': + usage(); + ns_main_earlyfatal("unknown option '-%c'", +--- bind-9.4.0/bin/named/log.c.dbus 2006-06-09 02:54:08.000000000 +0200 ++++ bind-9.4.0/bin/named/log.c 2007-03-06 13:45:26.000000000 +0100 +@@ -44,6 +44,7 @@ { "queries", 0 }, { "unmatched", 0 }, { "update-security", 0 }, @@ -478,7 +533,7 @@ { NULL, 0 } }; -@@ -60,6 +61,7 @@ +@@ -63,6 +64,7 @@ { "notify", 0 }, { "control", 0 }, { "lwresd", 0 }, @@ -486,19 +541,126 @@ { NULL, 0 } }; ---- bind-9.3.2b2/bin/named/Makefile.in.dbus 2005-11-15 12:43:36.000000000 -0500 -+++ bind-9.3.2b2/bin/named/Makefile.in 2005-11-15 12:45:05.000000000 -0500 -@@ -35,7 +35,8 @@ - ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \ - ${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \ - ${DBDRIVER_INCLUDES} -- -+DBUS_INCLUDES = \ -+ -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 - CDEFINES = - CWARNINGS = +--- bind-9.4.0/bin/named/include/named/server.h.dbus 2006-03-10 00:46:20.000000000 +0100 ++++ bind-9.4.0/bin/named/include/named/server.h 2007-03-06 14:12:02.000000000 +0100 +@@ -97,6 +97,8 @@ + ns_dispatchlist_t dispatches; -@@ -52,6 +53,7 @@ + dns_acache_t *acache; ++ ++ ns_dbus_mgr_t * dbus_mgr; + }; + + #define NS_SERVER_MAGIC ISC_MAGIC('S','V','E','R') +--- bind-9.4.0/bin/named/include/named/types.h.dbus 2005-04-29 02:15:38.000000000 +0200 ++++ bind-9.4.0/bin/named/include/named/types.h 2007-03-06 13:45:26.000000000 +0100 +@@ -40,4 +40,6 @@ + typedef struct ns_dispatch ns_dispatch_t; + typedef ISC_LIST(ns_dispatch_t) ns_dispatchlist_t; + ++typedef struct ns_dbus_mgr ns_dbus_mgr_t ; ++ + #endif /* NAMED_TYPES_H */ +--- bind-9.4.0/bin/named/include/named/globals.h.dbus 2007-03-06 13:45:26.000000000 +0100 ++++ bind-9.4.0/bin/named/include/named/globals.h 2007-03-06 13:45:26.000000000 +0100 +@@ -114,6 +114,8 @@ + + EXTERN int ns_g_listen INIT(3); + ++EXTERN int ns_g_dbus INIT(0); ++ + #undef EXTERN + #undef INIT + +--- bind-9.4.0/bin/named/include/named/log.h.dbus 2005-04-29 02:15:35.000000000 +0200 ++++ bind-9.4.0/bin/named/include/named/log.h 2007-03-06 13:45:26.000000000 +0100 +@@ -36,6 +36,7 @@ + #define NS_LOGCATEGORY_QUERIES (&ns_g_categories[4]) + #define NS_LOGCATEGORY_UNMATCHED (&ns_g_categories[5]) + #define NS_LOGCATEGORY_UPDATE_SECURITY (&ns_g_categories[6]) ++#define NS_LOGCATEGORY_DBUS (&ns_g_categories[7]) + + /* + * Backwards compatibility. +@@ -53,6 +54,7 @@ + #define NS_LOGMODULE_NOTIFY (&ns_g_modules[8]) + #define NS_LOGMODULE_CONTROL (&ns_g_modules[9]) + #define NS_LOGMODULE_LWRESD (&ns_g_modules[10]) ++#define NS_LOGMODULE_DBUS (&ns_g_modules[11]) + + isc_result_t + ns_log_init(isc_boolean_t safe); +--- bind-9.4.0/bin/named/server.c.dbus 2006-12-07 06:24:19.000000000 +0100 ++++ bind-9.4.0/bin/named/server.c 2007-03-06 13:45:26.000000000 +0100 +@@ -167,6 +167,8 @@ + ISC_LINK(struct zonelistentry) link; + }; + ++#include ++ + /* + * These zones should not leak onto the Internet. + */ +@@ -1985,12 +1987,12 @@ + if (result != ISC_R_SUCCESS) { + char namebuf[DNS_NAME_FORMATSIZE]; + dns_name_format(origin, namebuf, sizeof(namebuf)); +- cfg_obj_log(forwarders, ns_g_lctx, ISC_LOG_WARNING, +- "could not set up forwarding for domain '%s': %s", ++ cfg_obj_log(forwarders, ns_g_lctx, ISC_LOG_NOTICE, ++ "setting up forwarding failed for domain '%s': %s", + namebuf, isc_result_totext(result)); + goto cleanup; + } +- ++ + result = ISC_R_SUCCESS; + + cleanup: +@@ -3418,6 +3420,20 @@ + + CHECKFATAL(load_zones(server, ISC_FALSE), "loading zones"); + ++ server->dbus_mgr = 0L; ++ if( ns_g_dbus ) ++ if( dbus_mgr_create ++ ( ns_g_mctx, ns_g_taskmgr, ns_g_socketmgr, ns_g_timermgr, ++ &server->dbus_mgr ++ ) != ISC_R_SUCCESS ++ ) ++ { ++ isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, ++ NS_LOGMODULE_SERVER, ISC_LOG_WARNING, ++ "dbus_mgr initialization failed. D-BUS service is disabled." ++ ); ++ } ++ + ns_os_started(); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER, + ISC_LOG_NOTICE, "running"); +@@ -3481,6 +3497,9 @@ + + dns_db_detach(&server->in_roothints); + ++ if( server->dbus_mgr != 0L ) ++ dbus_mgr_shutdown(server->dbus_mgr); ++ + isc_task_endexclusive(server->task); + + isc_task_detach(&server->task); +--- bind-9.4.0/bin/named/Makefile.in.dbus 2007-03-06 13:45:26.000000000 +0100 ++++ bind-9.4.0/bin/named/Makefile.in 2007-03-06 14:08:10.000000000 +0100 +@@ -43,6 +43,9 @@ + ${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \ + ${DLZDRIVER_INCLUDES} ${DBDRIVER_INCLUDES} + ++DBUS_INCLUDES = \ ++ -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 ++ + CDEFINES = @USE_DLZ@ + + CWARNINGS = +@@ -60,6 +63,7 @@ ISCDEPLIBS = ../../lib/isc/libisc.@A@ LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@ BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@ @@ -506,25 +668,23 @@ DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} ${BIND9DEPLIBS} \ ${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS} -@@ -70,7 +72,8 @@ - tkeyconf.o tsigconf.o update.o xfrout.o \ +@@ -80,6 +84,7 @@ zoneconf.o \ lwaddr.o lwresd.o lwdclient.o lwderror.o lwdgabn.o \ -- lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o \ -+ lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o \ + lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o \ + dbus_service.o dbus_mgr.o \ - $(DBDRIVER_OBJS) + ${DLZDRIVER_OBJS} ${DBDRIVER_OBJS} UOBJS = unix/os.o -@@ -83,6 +86,7 @@ +@@ -92,6 +97,7 @@ zoneconf.c \ lwaddr.c lwresd.c lwdclient.c lwderror.c lwdgabn.c \ lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c \ -+ dbus_service.c dbus_mgr.c \ - $(DBDRIVER_SRCS) ++ dbus_service.c dbus_mgr.c \ + ${DLZDRIVER_SRCS} ${DBDRIVER_SRCS} MANPAGES = named.8 lwresd.8 named.conf.5 -@@ -111,9 +115,14 @@ +@@ -120,9 +126,14 @@ -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ -c ${srcdir}/config.c @@ -540,9 +700,9 @@ lwresd@EXEEXT@: named@EXEEXT@ rm -f lwresd@EXEEXT@ ---- bind-9.3.2b2/bin/named/named.8.dbus 2005-10-12 22:33:46.000000000 -0400 -+++ bind-9.3.2b2/bin/named/named.8 2005-11-15 12:48:31.000000000 -0500 -@@ -30,7 +30,7 @@ +--- bind-9.4.0/bin/named/named.8.dbus 2007-01-30 01:23:44.000000000 +0100 ++++ bind-9.4.0/bin/named/named.8 2007-03-06 13:45:26.000000000 +0100 +@@ -33,7 +33,7 @@ named \- Internet domain name server .SH "SYNOPSIS" .HP 6 @@ -551,10 +711,10 @@ .SH "DESCRIPTION" .PP \fBnamed\fR -@@ -143,6 +143,13 @@ - .B "Warning:" +@@ -172,6 +172,13 @@ This option must not be used. It is only of interest to BIND 9 developers and may be removed or changed in a future release. .RE + .RE +.sp +.TP +\fB\-D\fR @@ -565,7 +725,7 @@ .SH "SIGNALS" .PP In routine operation, signals should not be used to control the nameserver; -@@ -162,6 +169,73 @@ +@@ -195,6 +202,73 @@ \fBnamed\fR configuration file is too complex to describe in detail here. A complete description is provided in the BIND 9 Administrator Reference Manual. @@ -637,145 +797,5 @@ +by selecting the Help menu. +.PP .SH "FILES" - .TP + .PP \fI/etc/named.conf\fR ---- bind-9.3.2b2/bin/named/main.c.dbus 2005-04-28 21:04:47.000000000 -0400 -+++ bind-9.3.2b2/bin/named/main.c 2005-11-15 12:45:05.000000000 -0500 -@@ -239,7 +239,8 @@ - "usage: named [-4|-6] [-c conffile] [-d debuglevel] " - "[-f|-g] [-n number_of_cpus]\n" - " [-p port] [-s] [-t chrootdir] [-u username]\n" -- " [-m {usage|trace|record}]\n"); -+ " [-m {usage|trace|record}]\n" -+ " [-D ]\n"); - } - - static void -@@ -345,7 +346,7 @@ - - isc_commandline_errprint = ISC_FALSE; - while ((ch = isc_commandline_parse(argc, argv, -- "46c:C:d:fgi:lm:n:N:p:P:st:u:vx:")) != -1) { -+ "46c:C:d:fgi:lm:n:N:p:P:st:u:vx:D")) != -1) { - switch (ch) { - case '4': - if (disable4) -@@ -434,6 +435,9 @@ - case 'v': - printf("BIND %s\n", ns_g_version); - exit(0); -+ case 'D': -+ ns_g_dbus = 1; -+ break; - case '?': - usage(); - ns_main_earlyfatal("unknown option '-%c'", ---- bind-9.3.2b2/bin/named/server.c.dbus 2005-07-26 22:53:15.000000000 -0400 -+++ bind-9.3.2b2/bin/named/server.c 2005-11-15 12:45:05.000000000 -0500 -@@ -86,6 +86,8 @@ - #include - #endif - -+#include -+ - /* - * Check an operation for failure. Assumes that the function - * using it has a 'result' variable and a 'cleanup' label. -@@ -1496,12 +1498,12 @@ - if (result != ISC_R_SUCCESS) { - char namebuf[DNS_NAME_FORMATSIZE]; - dns_name_format(origin, namebuf, sizeof(namebuf)); -- cfg_obj_log(forwarders, ns_g_lctx, ISC_LOG_WARNING, -- "could not set up forwarding for domain '%s': %s", -+ cfg_obj_log(forwarders, ns_g_lctx, ISC_LOG_NOTICE, -+ "setting up forwarding failed for domain '%s': %s", - namebuf, isc_result_totext(result)); - goto cleanup; - } -- -+ - result = ISC_R_SUCCESS; - - cleanup: -@@ -2873,6 +2875,20 @@ - - CHECKFATAL(load_zones(server, ISC_FALSE), "loading zones"); - -+ server->dbus_mgr = 0L; -+ if( ns_g_dbus ) -+ if( dbus_mgr_create -+ ( ns_g_mctx, ns_g_taskmgr, ns_g_socketmgr, ns_g_timermgr, -+ &server->dbus_mgr -+ ) != ISC_R_SUCCESS -+ ) -+ { -+ isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, -+ NS_LOGMODULE_SERVER, ISC_LOG_WARNING, -+ "dbus_mgr initialization failed. D-BUS service is disabled." -+ ); -+ } -+ - ns_os_started(); - isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER, - ISC_LOG_NOTICE, "running"); -@@ -2935,6 +2951,9 @@ - - dns_db_detach(&server->in_roothints); - -+ if( server->dbus_mgr != 0L ) -+ dbus_mgr_shutdown(server->dbus_mgr); -+ - isc_task_endexclusive(server->task); - - isc_task_detach(&server->task); ---- bind-9.3.2b2/bin/named/include/named/globals.h.dbus 2005-11-15 12:43:36.000000000 -0500 -+++ bind-9.3.2b2/bin/named/include/named/globals.h 2005-11-15 12:45:05.000000000 -0500 -@@ -112,6 +112,8 @@ - - EXTERN int ns_g_listen INIT(3); - -+EXTERN int ns_g_dbus INIT(0); -+ - #undef EXTERN - #undef INIT - ---- bind-9.3.2b2/bin/named/include/named/server.h.dbus 2004-03-07 23:04:21.000000000 -0500 -+++ bind-9.3.2b2/bin/named/include/named/server.h 2005-11-15 12:45:05.000000000 -0500 -@@ -91,7 +91,8 @@ - ns_controls_t * controls; /* Control channels */ - unsigned int dispatchgen; - ns_dispatchlist_t dispatches; -- -+ -+ ns_dbus_mgr_t * dbus_mgr; - }; - - #define NS_SERVER_MAGIC ISC_MAGIC('S','V','E','R') ---- bind-9.3.2b2/bin/named/include/named/log.h.dbus 2004-03-07 23:04:21.000000000 -0500 -+++ bind-9.3.2b2/bin/named/include/named/log.h 2005-11-15 12:45:05.000000000 -0500 -@@ -34,6 +34,7 @@ - #define NS_LOGCATEGORY_QUERIES (&ns_g_categories[4]) - #define NS_LOGCATEGORY_UNMATCHED (&ns_g_categories[5]) - #define NS_LOGCATEGORY_UPDATE_SECURITY (&ns_g_categories[6]) -+#define NS_LOGCATEGORY_DBUS (&ns_g_categories[7]) - - /* - * Backwards compatibility. -@@ -51,6 +52,7 @@ - #define NS_LOGMODULE_NOTIFY (&ns_g_modules[8]) - #define NS_LOGMODULE_CONTROL (&ns_g_modules[9]) - #define NS_LOGMODULE_LWRESD (&ns_g_modules[10]) -+#define NS_LOGMODULE_DBUS (&ns_g_modules[11]) - - isc_result_t - ns_log_init(isc_boolean_t safe); ---- bind-9.3.2b2/bin/named/include/named/types.h.dbus 2004-03-06 05:21:26.000000000 -0500 -+++ bind-9.3.2b2/bin/named/include/named/types.h 2005-11-15 12:45:05.000000000 -0500 -@@ -38,4 +38,6 @@ - typedef struct ns_dispatch ns_dispatch_t; - typedef ISC_LIST(ns_dispatch_t) ns_dispatchlist_t; - -+typedef struct ns_dbus_mgr ns_dbus_mgr_t ; -+ - #endif /* NAMED_TYPES_H */ - diff --git a/bind-9.3.3rc2-rndckey.patch b/bind-9.3.3rc2-rndckey.patch index 4439aa0..42f0e26 100644 --- a/bind-9.3.3rc2-rndckey.patch +++ b/bind-9.3.3rc2-rndckey.patch @@ -1,17 +1,28 @@ ---- bind-9.3.3rc2/bin/rndc/rndc-confgen.c.key 2004-09-28 09:14:57.000000000 +0200 -+++ bind-9.3.3rc2/bin/rndc/rndc-confgen.c 2006-09-15 08:56:25.000000000 +0200 -@@ -46,7 +46,7 @@ +--- bind-9.4.0/bin/rndc/rndc-confgen.8.key 2007-01-30 01:23:44.000000000 +0100 ++++ bind-9.4.0/bin/rndc/rndc-confgen.8 2007-03-06 12:42:15.000000000 +0100 +@@ -125,7 +125,7 @@ + \-k \fIkeyname\fR + .RS 4 + Specifies the key name of the rndc authentication key. This must be a valid domain name. The default is +-\fBrndc\-key\fR. ++\fBrndckey\fR. + .RE + .PP + \-p \fIport\fR +--- bind-9.4.0/bin/rndc/rndc-confgen.c.key 2005-04-29 02:15:40.000000000 +0200 ++++ bind-9.4.0/bin/rndc/rndc-confgen.c 2007-03-06 12:41:33.000000000 +0100 +@@ -57,7 +57,7 @@ #include "util.h" - #define DEFAULT_KEYLENGTH 128 /* Bits. */ + #define DEFAULT_KEYLENGTH 128 /*% Bits. */ -#define DEFAULT_KEYNAME "rndc-key" +#define DEFAULT_KEYNAME "rndckey" #define DEFAULT_SERVER "127.0.0.1" #define DEFAULT_PORT 953 ---- bind-9.3.3rc2/bin/rndc/rndc.conf.key 2004-03-06 11:21:32.000000000 +0100 -+++ bind-9.3.3rc2/bin/rndc/rndc.conf 2006-09-15 08:56:25.000000000 +0200 -@@ -23,14 +23,11 @@ +--- bind-9.4.0/bin/rndc/rndc.conf.key 2004-06-18 06:39:39.000000000 +0200 ++++ bind-9.4.0/bin/rndc/rndc.conf 2007-03-06 12:44:06.000000000 +0100 +@@ -23,11 +23,11 @@ options { default-server localhost; @@ -24,30 +35,24 @@ + key "rndckey"; }; + key "cc64b3d1db63fc88d7cb5d2f9f57d258" { +@@ -41,7 +41,4 @@ + addresses { 10.53.0.1; }; + }; + -key "key" { - algorithm hmac-md5; - secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K"; -}; +include "/etc/rndc.key"; ---- bind-9.3.3rc2/bin/rndc/rndc-confgen.8.key 2006-09-15 09:00:01.000000000 +0200 -+++ bind-9.3.3rc2/bin/rndc/rndc-confgen.8 2006-09-15 08:56:25.000000000 +0200 -@@ -116,7 +116,7 @@ - .TP 3n - \-k \fIkeyname\fR - Specifies the key name of the rndc authentication key. This must be a valid domain name. The default is --\fBrndc\-key\fR. -+\fBrndckey\fR. - .TP 3n - \-p \fIport\fR - Specifies the command channel port where ---- bind-9.3.3rc2/bin/rndc/rndc-confgen.docbook.key 2005-05-13 03:22:34.000000000 +0200 -+++ bind-9.3.3rc2/bin/rndc/rndc-confgen.docbook 2006-09-15 08:56:25.000000000 +0200 -@@ -160,7 +160,7 @@ - - Specifies the key name of the rndc authentication key. - This must be a valid domain name. -- The default is rndc-key. -+ The default is rndckey. - - +--- bind-9.4.0/bin/rndc/rndc-confgen.docbook.key 2007-01-30 00:57:20.000000000 +0100 ++++ bind-9.4.0/bin/rndc/rndc-confgen.docbook 2007-03-06 12:44:45.000000000 +0100 +@@ -163,7 +163,7 @@ + + Specifies the key name of the rndc authentication key. + This must be a valid domain name. +- The default is rndc-key. ++ The default is rndckey. + + diff --git a/bind-bsdcompat.patch b/bind-bsdcompat.patch index a0316c5..01ae22b 100644 --- a/bind-bsdcompat.patch +++ b/bind-bsdcompat.patch @@ -1,11 +1,11 @@ ---- bind-9.2.2/lib/isc/unix/socket.c.bsdcompat 2003-02-18 02:28:41.000000000 -0500 -+++ bind-9.2.2/lib/isc/unix/socket.c 2003-07-19 15:40:49.784907968 -0400 -@@ -1365,7 +1365,7 @@ isc_socket_create(isc_socketmgr_t *manag +--- bind-9.4.0/lib/isc/unix/socket.c.bsdcompat 2006-06-06 02:56:09.000000000 +0200 ++++ bind-9.4.0/lib/isc/unix/socket.c 2007-03-06 12:53:12.000000000 +0100 +@@ -1492,7 +1492,7 @@ return (ISC_R_UNEXPECTED); } -#ifdef SO_BSDCOMPAT +#if 0 - if (setsockopt(sock->fd, SOL_SOCKET, SO_BSDCOMPAT, - (void *)&on, sizeof on) < 0) { - isc__strerror(errno, strbuf, sizeof(strbuf)); + if (type != isc_sockettype_unix && + setsockopt(sock->fd, SOL_SOCKET, SO_BSDCOMPAT, + (void *)&on, sizeof(on)) < 0) { diff --git a/bind-chroot-admin.in b/bind-chroot-admin.in index 1140383..c3f8f87 100644 --- a/bind-chroot-admin.in +++ b/bind-chroot-admin.in @@ -96,9 +96,9 @@ function check_dirs() [ ! -e "${BIND_CHROOT_PREFIX}/etc/localtime" ] && [ -e /etc/localtime ] && /bin/cp -fp /etc/localtime "${BIND_CHROOT_PREFIX}/etc/localtime"; /bin/chown --preserve-root root:named "${BIND_CHROOT_PREFIX}"/dev/{random,null,zero}; /bin/chmod --preserve-root 660 "${BIND_CHROOT_PREFIX}"/dev/{random,null,zero}; - if selinux_enabled && [ -x /usr/bin/chcon ]; then + if selinux_enabled && [ -x /sbin/restorecon ]; then for dev in random zero null; do - /usr/bin/chcon --reference=/dev/$dev ${BIND_CHROOT_PREFIX}/dev/$dev; + /sbin/restorecon ${BIND_CHROOT_PREFIX}/dev/$dev; done fi; } @@ -260,16 +260,16 @@ function sync_files() if selinux_enabled && [ -x /sbin/restorecon ]; then /sbin/restorecon -R ${BIND_CHROOT_PREFIX}/etc ${BIND_CHROOT_PREFIX}/var/named ${BIND_CHROOT_PREFIX}/var/run/named >/dev/null 2>&1; if [ -e ${BIND_CHROOT_PREFIX}/etc/localtime ] && [ -e /etc/localtime ] ; then - /usr/bin/chcon --reference=/etc/localtime ${BIND_CHROOT_PREFIX}/etc/localtime >/dev/null 2>&1; + /usr/bin/ ${BIND_CHROOT_PREFIX}/etc/localtime >/dev/null 2>&1; fi; - /usr/bin/chcon -h --reference=/etc/named.conf /etc/named.* >/dev/null 2>&1; - /usr/bin/chcon -h --reference=/etc/rndc.key /etc/rndc.key >/dev/null 2>&1; - /usr/bin/chcon -h --reference=/etc/rndc.conf /etc/rndc.conf >/dev/null 2>&1; - /usr/bin/chcon -h --reference=/var/named /var/named{/,/*} >/dev/null 2>&1; - /usr/bin/chcon -h --reference=${BIND_CHROOT_PREFIX}/var/named/slaves /var/named/{slaves,data}{/,/*} >/dev/null 2>&1; + /sbin/restorecon /etc/named.* >/dev/null 2>&1; + /sbin/restorecon /etc/rndc.key >/dev/null 2>&1; + /sbin/restorecon /etc/rndc.conf >/dev/null 2>&1; + /sbin/restorecon /var/named{/,/*} >/dev/null 2>&1; + /sbin/restorecon /var/named/{slaves,data}{/,/*} >/dev/null 2>&1; /sbin/restorecon /var/named/named.ca ${BIND_CHROOT_PREFIX}/var/named/named.ca >/dev/null 2>&1; /sbin/restorecon ${BIND_CHROOT_PREFIX} >/dev/null 2>&1; - /usr/bin/chcon -h --reference=${BIND_CHROOT_PREFIX}/var/named/named.ca /var/named/named.ca >/dev/null 2>&1; + /sbin/restorecon /var/named/named.ca >/dev/null 2>&1; fi; /sbin/service named condrestart rm -f $changed; diff --git a/bind.spec b/bind.spec index a815ffc..ebf90e3 100644 --- a/bind.spec +++ b/bind.spec @@ -16,14 +16,14 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server. Name: bind License: BSD-like -Version: 9.3.4 -Release: 7%{?dist} +Version: 9.4.0 +Release: 8%{?dist} Epoch: 31 Url: http://www.isc.org/products/BIND/ Buildroot: %{_tmppath}/%{name}-root Group: System Environment/Daemons # -Source: ftp://ftp.isc.org/isc/bind9/%{version}/bind-%{version}%{?prever}.tar.gz +Source: ftp://ftp.isc.org/isc/bind9/%{version}/bind-%{version}.tar.gz Source1: named.sysconfig Source2: named.init Source3: named.logrotate @@ -68,8 +68,8 @@ Patch14: libbind-9.3.1rc1-fix_h_errno.patch Patch15: bind-9.3.3rc2-dbus.patch Patch16: bind-9.3.2-redhat_doc.patch Patch17: bind-9.3.2b1-fix_sdb_ldap.patch -Patch19: bind-9.3.1-next_server_on_referral.patch -Patch20: bind-9.3.2b2-no_servfail_stops.patch +#Patch19: bind-9.3.1-next_server_on_referral.patch +#Patch20: bind-9.3.2b2-no_servfail_stops.patch Patch22: bind-9.3.1-sdb_dbus.patch Patch23: bind-9.3.1-dbus_archdep_libdir.patch Patch32: bind-9.3.2-prctl_set_dumpable.patch @@ -257,8 +257,8 @@ cp -fp contrib/sdb/pgsql/zonetodb.c bin/sdb_tools %if %{SDB} %patch17 -p1 -b .fix_sdb_ldap %endif -%patch19 -p1 -b .next_server_on_referral -%patch20 -p1 -b .no_servfail_stops +#%patch19 -p1 -b .next_server_on_referral +#%patch20 -p1 -b .no_servfail_stops %if %{WITH_DBUS} # # this must follow all dbus patches: @@ -481,6 +481,7 @@ chmod 0755 ${RPM_BUILD_ROOT}%{_libdir}/lib*so.* %{_sbindir}/named-bootconf %{_sbindir}/rndc* %{_sbindir}/bind-chroot-admin +%{_sbindir}/named-compilezone %defattr(0644,root,root,0755) %{_mandir}/man5/named.conf.5* %{_mandir}/man5/rndc.conf.5* @@ -490,6 +491,7 @@ chmod 0755 ${RPM_BUILD_ROOT}%{_libdir}/lib*so.* %{_mandir}/man8/dnssec*.8* %{_mandir}/man8/named-checkconf.8* %{_mandir}/man8/named-checkzone.8* +%{_mandir}/man8/named-compilezone.8* %{_mandir}/man8/rndc-confgen.8* %doc CHANGES COPYRIGHT README %doc doc/arm doc/misc @@ -744,6 +746,10 @@ rm -rf ${RPM_BUILD_ROOT} :; %changelog +* Tue Mar 06 2007 Adam Tkac 31:9.3.4-8.fc7 +- updated to 9.4.0 +- bind-chroot-admin now sets EAs correctly (#213926) + * Thu Feb 15 2007 Adam Tkac 31:9.3.4-7.fc7 - minor cleanup in bind-chroot-admin script diff --git a/sources b/sources index 0a33df5..857534b 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -df5417e7e7cf017fa28b65d0a3d6e999 bind-9.3.4.tar.gz -3567c35a24cb83a8a69443a399bbb6c8 bind-chroot.tar.gz +e85347f03f0d841b596422d5252a0869 bind-9.4.0.tar.gz 13fef79f99fcefebb51d84b08805de51 libbind-man.tar.gz +3567c35a24cb83a8a69443a399bbb6c8 bind-chroot.tar.gz