From 76786c2904942b708d8a7a4659df74da5dc9446e Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Fri, 12 Jun 2009 02:33:21 +0000 Subject: [PATCH] - assorted changes needed for windows build - began versioning for 9.7.0a1 --- README | 9 +- bin/named/win32/os.c | 4 +- bin/nsupdate/win32/nsupdate.mak | 14 +-- doc/arm/Bv9ARM-book.xml | 5 +- doc/arm/man.ddns-confgen.html | 157 ++++++++++++++++++++++++++++ lib/isc/win32/include/isc/ntpaths.h | 6 +- lib/isc/win32/ntpaths.c | 5 +- version | 6 +- win32utils/BuildSetup.bat | 4 +- 9 files changed, 190 insertions(+), 20 deletions(-) create mode 100644 doc/arm/man.ddns-confgen.html diff --git a/README b/README index 8abc9d4065..a3d663ca30 100644 --- a/README +++ b/README @@ -47,6 +47,13 @@ BIND 9.7.0 BIND 9.7.0 includes a number of changes from BIND 9.6 and earlier releases, including: + Support for RFC 5011, automated trust anchor maintenance. + + Simplified configuration of DNSSEC Lookaside Validation (DLV). + + Simplified configuration of Dynamic DNS using the "ddns-confgen" + command line tool or the "ddns-autoconf" zone option. + New named option "attach-cache" that allows multiple views to share a single cache. @@ -54,7 +61,7 @@ BIND 9.7.0 internal information about query failures, especially about server failures. - Add support for DNS rebinding attack prevention. + DNS rebinding attack prevention. BIND 9.6.0 diff --git a/bin/named/win32/os.c b/bin/named/win32/os.c index ec5a2182d9..73b65e0de0 100644 --- a/bin/named/win32/os.c +++ b/bin/named/win32/os.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: os.c,v 1.33 2009/06/11 23:47:55 tbox Exp $ */ +/* $Id: os.c,v 1.34 2009/06/12 02:33:21 each Exp $ */ #include #include @@ -66,7 +66,7 @@ ns_paths_init() { ns_g_defaultpidfile = isc_ntpaths_get(NAMED_PID_PATH); lwresd_g_defaultpidfile = isc_ntpaths_get(LWRESD_PID_PATH); ns_g_keyfile = isc_ntpaths_get(RNDC_KEY_PATH); - ns_g_defaultddnskeyfile = isc_ntpaths_get(NAMED_DDNSKEY_PATH); + ns_g_defaultddnskeyfile = isc_ntpaths_get(DDNS_KEY_PATH); Initialized = TRUE; } diff --git a/bin/nsupdate/win32/nsupdate.mak b/bin/nsupdate/win32/nsupdate.mak index d4ffb384f2..21d431ca3b 100644 --- a/bin/nsupdate/win32/nsupdate.mak +++ b/bin/nsupdate/win32/nsupdate.mak @@ -131,18 +131,19 @@ CLEAN : "$(OUTDIR)" : if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" -CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nsupdate.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c +CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nsupdate.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c BSC32=bscmake.exe BSC32_FLAGS=/nologo /o"$(OUTDIR)\nsupdate.bsc" BSC32_SBRS= \ LINK32=link.exe -LINK32_FLAGS=../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/lwres/win32/Release/liblwres.lib user32.lib advapi32.lib ws2_32.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\nsupdate.pdb" /machine:I386 /out:"../../../Build/Release/nsupdate.exe" +LINK32_FLAGS=../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/lwres/win32/Release/liblwres.lib user32.lib advapi32.lib ws2_32.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/isccfg/win32/Release/libisccfg.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\nsupdate.pdb" /machine:I386 /out:"../../../Build/Release/nsupdate.exe" LINK32_OBJS= \ "$(INTDIR)\nsupdate.obj" \ "..\..\..\lib\dns\win32\Release\libdns.lib" \ "..\..\..\lib\isc\win32\Release\libisc.lib" \ - "..\..\..\lib\bind9\win32\Release\libbind9.lib" + "..\..\..\lib\bind9\win32\Release\libbind9.lib" \ + "..\..\..\lib\bind9\win32\Release\libisccfg.lib" "..\..\..\Build\Release\nsupdate.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @<< @@ -186,7 +187,7 @@ CLEAN : "$(OUTDIR)" : if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" -CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c +CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c BSC32=bscmake.exe BSC32_FLAGS=/nologo /o"$(OUTDIR)\nsupdate.bsc" BSC32_SBRS= \ @@ -198,12 +199,13 @@ BSC32_SBRS= \ << LINK32=link.exe -LINK32_FLAGS=../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/lwres/win32/Debug/liblwres.lib user32.lib advapi32.lib ws2_32.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\nsupdate.pdb" /debug /machine:I386 /out:"../../../Build/Debug/nsupdate.exe" /pdbtype:sept +LINK32_FLAGS=../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/lwres/win32/Debug/liblwres.lib user32.lib advapi32.lib ws2_32.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\nsupdate.pdb" /debug /machine:I386 /out:"../../../Build/Debug/nsupdate.exe" /pdbtype:sept LINK32_OBJS= \ "$(INTDIR)\nsupdate.obj" \ "..\..\..\lib\dns\win32\Debug\libdns.lib" \ "..\..\..\lib\isc\win32\Debug\libisc.lib" \ - "..\..\..\lib\bind9\win32\Debug\libbind9.lib" + "..\..\..\lib\bind9\win32\Debug\libbind9.lib" \ + "..\..\..\lib\bind9\win32\Release\libisccfg.lib" "..\..\..\Build\Debug\nsupdate.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @<< diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml index b25687e438..d39a78ec41 100644 --- a/doc/arm/Bv9ARM-book.xml +++ b/doc/arm/Bv9ARM-book.xml @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -15195,7 +15195,8 @@ zone "example.com" { - + + diff --git a/doc/arm/man.ddns-confgen.html b/doc/arm/man.ddns-confgen.html new file mode 100644 index 0000000000..8ff3a3b9de --- /dev/null +++ b/doc/arm/man.ddns-confgen.html @@ -0,0 +1,157 @@ + + + + + +ddns-confgen + + + + + + + +
+
+
+

Name

+

ddns-confgen — ddns key generation tool

+
+
+

Synopsis

+

ddns-confgen [-a algorithm] [-h] [-k keyname] [-r randomfile] [-s] [-q] [name]

+
+
+

DESCRIPTION

+

ddns-confgen + generates a key for use by nsupdate + and named. It simplifies configuration + of dynamic zones by generating a key and providing the + nsupdate and named.conf + syntax that will be needed to use it, including an example + update-policy statement. +

+

+ If a domain name is specified on the command line, it will + be used in the name of the generated key and in the sample + named.conf syntax. For example, + ddns-confgen example.com would + generate a key called "ddns-key.example.com", and sample + named.conf command that could be used + in the zone definition for "example.com". +

+

+ Note that named itself can configure a + local DDNS key for use with nsupdate -l. + ddns-confgen is only needed when a + more elaborate configuration is required: for instance, if + nsupdate is to be used from a remote system. +

+
+
+

OPTIONS

+
+
-a algorithm
+

+ Specifies the algorithm to use for the TSIG key. Available + choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, + hmac-sha384 and hmac-sha512. The default is hmac-sha256. +

+
-h
+

+ Prints a short summary of the options and arguments to + ddns-confgen. +

+
-k keyname
+

+ Specifies the key name of the DDNS authentication key. + The default is ddns-key. + The key name must have the format of a valid domain name, + consisting of letters, digits, hyphens and periods. +

+
-q
+

+ Quiet mode: Print only the key, with no explanatory text or + usage examples. +

+
-r randomfile
+

+ Specifies a source of random data for generating the + authorization. If the operating system does not provide a + /dev/random or equivalent device, the + default source of randomness is keyboard input. + randomdev specifies the name of a + character device or file containing random data to be used + instead of the default. The special value + keyboard indicates that keyboard input + should be used. +

+
-s
+

+ Self mode: The example named.conf text + shows how to set an update policy using the "self" nametype, + using a single key per each domain name for updates, instead of + the "subdomain" nametype which allows matching on any name + within a specified domain. +

+
+
+
+

SEE ALSO

+

nsupdate(1), + named.conf(5), + named(8), + BIND 9 Administrator Reference Manual. +

+
+
+

AUTHOR

+

Internet Systems Consortium +

+
+
+ + + diff --git a/lib/isc/win32/include/isc/ntpaths.h b/lib/isc/win32/include/isc/ntpaths.h index 4d4d3a451e..ffcf48b268 100644 --- a/lib/isc/win32/include/isc/ntpaths.h +++ b/lib/isc/win32/include/isc/ntpaths.h @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: ntpaths.h,v 1.18 2009/06/11 23:47:55 tbox Exp $ */ +/* $Id: ntpaths.h,v 1.19 2009/06/12 02:33:21 each Exp $ */ /* * Windows-specific path definitions @@ -40,7 +40,8 @@ enum NtPaths { LWRESD_PID_PATH, LOCAL_STATE_DIR, SYS_CONF_DIR, - RNDC_KEY_PATH + RNDC_KEY_PATH, + DDNS_KEY_PATH }; /* @@ -49,6 +50,7 @@ enum NtPaths { #define NAMED_CONFFILE isc_ntpaths_get(NAMED_CONF_PATH) #define RNDC_CONFFILE isc_ntpaths_get(RNDC_CONF_PATH) #define RNDC_KEYFILE isc_ntpaths_get(RNDC_KEY_PATH) +#define DDNS_KEYFILE isc_ntpaths_get(DDNS_KEY_PATH) #define RESOLV_CONF isc_ntpaths_get(RESOLV_CONF_PATH) /* diff --git a/lib/isc/win32/ntpaths.c b/lib/isc/win32/ntpaths.c index 47a11dcbcb..f52aeb9746 100644 --- a/lib/isc/win32/ntpaths.c +++ b/lib/isc/win32/ntpaths.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: ntpaths.c,v 1.13 2009/06/11 23:47:55 tbox Exp $ */ +/* $Id: ntpaths.c,v 1.14 2009/06/12 02:33:21 each Exp $ */ /* * This module fetches the required path information that is specific @@ -44,6 +44,7 @@ static char lwresd_defaultpidfile[MAX_PATH]; static char local_state_dir[MAX_PATH]; static char sys_conf_dir[MAX_PATH]; static char rndc_keyFile[MAX_PATH]; +static char ddns_keyFile[MAX_PATH]; static DWORD baseLen = MAX_PATH; static BOOL Initialized = FALSE; @@ -137,7 +138,7 @@ isc_ntpaths_get(int ind) { case RNDC_KEY_PATH: return (rndc_keyFile); break; - case RNDC_KEY_PATH: + case DDNS_KEY_PATH: return (ddns_keyFile); break; default: diff --git a/version b/version index 91ec0ec9eb..8ff4c904dd 100644 --- a/version +++ b/version @@ -1,4 +1,4 @@ -# $Id: version,v 1.44 2009/02/21 21:34:07 jreed Exp $ +# $Id: version,v 1.45 2009/06/12 02:33:21 each Exp $ # # This file must follow /bin/sh rules. It is imported directly via # configure. @@ -6,5 +6,5 @@ MAJORVER=9 MINORVER=7 PATCHVER=0 -RELEASETYPE=pre-alpha -RELEASEVER= +RELEASETYPE=a +RELEASEVER=1 diff --git a/win32utils/BuildSetup.bat b/win32utils/BuildSetup.bat index bc667d8bf4..f8feff3ac7 100644 --- a/win32utils/BuildSetup.bat +++ b/win32utils/BuildSetup.bat @@ -55,6 +55,7 @@ echo Copying the standalone manual pages. copy ..\bin\named\named.html ..\Build\Release copy ..\bin\rndc\*.html ..\Build\Release +copy ..\bin\confgen\*.html ..\Build\Release copy ..\bin\dig\*.html ..\Build\Release copy ..\bin\nsupdate\*.html ..\Build\Release copy ..\bin\check\*.html ..\Build\Release @@ -79,8 +80,7 @@ if Defined FrameworkSDKDir ( rem rem vcredist_x86.exe path relative to FrameworkSDKDir -rem - +rem if Exist "%FrameworkSDKDir%\%vcredist%" ( echo Copying Visual C x86 Redistributable Installer