diff --git a/bin/named/win32/named.dsp.in b/bin/named/win32/named.dsp.in
index 14cace436e..76f97a63dc 100644
--- a/bin/named/win32/named.dsp.in
+++ b/bin/named/win32/named.dsp.in
@@ -294,6 +294,10 @@ SOURCE=..\include\named\query.h
# End Source File
# Begin Source File
+SOURCE=..\include\named\seccomp.h
+# End Source File
+# Begin Source File
+
SOURCE=..\include\named\server.h
# End Source File
# Begin Source File
diff --git a/bin/named/win32/named.vcxproj.filters.in b/bin/named/win32/named.vcxproj.filters.in
index e7d65c5970..8cc6a7b21f 100644
--- a/bin/named/win32/named.vcxproj.filters.in
+++ b/bin/named/win32/named.vcxproj.filters.in
@@ -177,6 +177,9 @@
Header Files
+
+ Header Files
+
Header Files
diff --git a/bin/named/win32/named.vcxproj.in b/bin/named/win32/named.vcxproj.in
index 605fbd7b39..d03288fd8c 100644
--- a/bin/named/win32/named.vcxproj.in
+++ b/bin/named/win32/named.vcxproj.in
@@ -156,6 +156,7 @@
+
diff --git a/config.h.win32 b/config.h.win32
index 84cc06a120..412931bc81 100644
--- a/config.h.win32
+++ b/config.h.win32
@@ -358,14 +358,14 @@ typedef __int64 off_t;
/* HMAC_*() return ints */
@HMAC_RETURN_INT@
-/* Use AES for Source Identity Token generation */
-@AES_SIT@
+/* Use AES for Client Cookie generation */
+@AES_CC@
-/* Use HMAC-SHA1 for Source Identity Token generation */
-@HMAC_SHA1_SIT@
+/* Use HMAC-SHA1 for Client Cookie generation */
+@HMAC_SHA1_CC@
-/* Use HMAC-SHA256 for Source Identity Token generation */
-@HMAC_SHA256_SIT@
+/* Use HMAC-SHA256 for Client Cookie generation */
+@HMAC_SHA256_CC@
/* Define to 1 if you have the `readline' function. */
@HAVE_READLINE@
@@ -382,6 +382,9 @@ typedef __int64 off_t;
/* Build with GeoIP Country IPv6 support */
@HAVE_GEOIP_V6@
+/* Define if zlib was found */
+@HAVE_ZLIB@
+
/* Define to enable rpz-nsdname rules. */
@ENABLE_RPZ_NSDNAME@
diff --git a/lib/bind9/win32/libbind9.dsp.in b/lib/bind9/win32/libbind9.dsp.in
index f9387593df..a1337bd28d 100644
--- a/lib/bind9/win32/libbind9.dsp.in
+++ b/lib/bind9/win32/libbind9.dsp.in
@@ -118,6 +118,10 @@ SOURCE=..\include\bind9\check.h
# End Source File
# Begin Source File
+SOURCE=..\include\bind9\getaddresses.h
+# End Source File
+# Begin Source File
+
SOURCE=..\include\bind9\version.h
# End Source File
# End Group
diff --git a/lib/bind9/win32/libbind9.vcxproj.filters.in b/lib/bind9/win32/libbind9.vcxproj.filters.in
index d90db87746..4e283308b7 100644
--- a/lib/bind9/win32/libbind9.vcxproj.filters.in
+++ b/lib/bind9/win32/libbind9.vcxproj.filters.in
@@ -38,5 +38,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/lib/bind9/win32/libbind9.vcxproj.in b/lib/bind9/win32/libbind9.vcxproj.in
index 1651373298..8c1819ddcf 100644
--- a/lib/bind9/win32/libbind9.vcxproj.in
+++ b/lib/bind9/win32/libbind9.vcxproj.in
@@ -115,6 +115,7 @@
+
diff --git a/lib/dns/dyndb.c b/lib/dns/dyndb.c
index 03b35a6712..0034f5a4a2 100644
--- a/lib/dns/dyndb.c
+++ b/lib/dns/dyndb.c
@@ -17,6 +17,12 @@
#include
+#if HAVE_DLFCN_H
+#include
+#elif _WIN32
+#include
+#endif
+
#include
#include
#include
@@ -35,10 +41,6 @@
#include
-#if HAVE_DLFCN_H
-#include
-#endif
-
#define CHECK(op) \
do { result = (op); \
if (result != ISC_R_SUCCESS) goto cleanup; \
@@ -213,7 +215,122 @@ unload_library(dyndb_implementation_t **impp) {
*impp = NULL;
}
-#else /* HAVE_DLFCN_H */
+#elif _WIN32
+static isc_result_t
+load_symbol(HMODULE handle, const char *filename,
+ const char *symbol_name, void **symbolp)
+{
+ void *symbol;
+
+ REQUIRE(handle != NULL);
+ REQUIRE(symbolp != NULL && *symbolp == NULL);
+
+ symbol = GetProcAddress(handle, symbol_name);
+ if (symbol == NULL) {
+ int errstatus = GetLastError();
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
+ DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR,
+ "failed to lookup symbol %s in "
+ "dyndb module '%s': %d",
+ symbol_name, filename, errstatus);
+ return (ISC_R_FAILURE);
+ }
+
+ *symbolp = symbol;
+
+ return (ISC_R_SUCCESS);
+}
+
+static isc_result_t
+load_library(isc_mem_t *mctx, const char *filename, const char *instname,
+ dyndb_implementation_t **impp)
+{
+ isc_result_t result;
+ HMODULE handle;
+ dyndb_implementation_t *imp = NULL;
+ dns_dyndb_register_t *register_func = NULL;
+ dns_dyndb_destroy_t *destroy_func = NULL;
+ dns_dyndb_version_t *version_func = NULL;
+ int version;
+
+ REQUIRE(impp != NULL && *impp == NULL);
+
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
+ DNS_LOGMODULE_DYNDB, ISC_LOG_INFO,
+ "loading DynDB instance '%s' driver '%s'",
+ instname, filename);
+
+ handle = LoadLibraryA(filename);
+ if (handle == NULL)
+ CHECK(ISC_R_FAILURE);
+
+ CHECK(load_symbol(handle, filename, "dyndb_version",
+ (void **)&version_func));
+
+ version = version_func(NULL);
+ if (version < (DNS_DYNDB_VERSION - DNS_DYNDB_AGE) ||
+ version > DNS_DYNDB_VERSION)
+ {
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
+ DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR,
+ "driver API version mismatch: %d/%d",
+ version, DNS_DYNDB_VERSION);
+ CHECK(ISC_R_FAILURE);
+ }
+
+ CHECK(load_symbol(handle, filename, "dyndb_init",
+ (void **)®ister_func));
+ CHECK(load_symbol(handle, filename, "dyndb_destroy",
+ (void **)&destroy_func));
+
+ imp = isc_mem_get(mctx, sizeof(dyndb_implementation_t));
+ if (imp == NULL)
+ CHECK(ISC_R_NOMEMORY);
+
+ imp->mctx = NULL;
+ isc_mem_attach(mctx, &imp->mctx);
+ imp->handle = handle;
+ imp->register_func = register_func;
+ imp->destroy_func = destroy_func;
+ imp->name = isc_mem_strdup(mctx, instname);
+ if (imp->name == NULL)
+ CHECK(ISC_R_NOMEMORY);
+
+ imp->inst = NULL;
+ INIT_LINK(imp, link);
+
+ *impp = imp;
+ imp = NULL;
+
+cleanup:
+ if (result != ISC_R_SUCCESS)
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
+ DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR,
+ "failed to dynamically load instance '%s' "
+ "driver '%s': %d (%s)", instname, filename,
+ GetLastError(), isc_result_totext(result));
+ if (imp != NULL)
+ isc_mem_putanddetach(&imp->mctx, imp, sizeof(dyndb_implementation_t));
+ if (result != ISC_R_SUCCESS && handle != NULL)
+ FreeLibrary(handle);
+
+ return (result);
+}
+
+static void
+unload_library(dyndb_implementation_t **impp) {
+ dyndb_implementation_t *imp;
+
+ REQUIRE(impp != NULL && *impp != NULL);
+
+ imp = *impp;
+
+ isc_mem_free(imp->mctx, imp->name);
+ isc_mem_putanddetach(&imp->mctx, imp, sizeof(dyndb_implementation_t));
+
+ *impp = NULL;
+}
+#else /* HAVE_DLFCN_H || _WIN32 */
static isc_result_t
load_library(isc_mem_t *mctx, const char *filename, const char *instname,
dyndb_implementation_t **impp)
diff --git a/lib/dns/include/dns/dyndb.h b/lib/dns/include/dns/dyndb.h
index aea92b3aee..17720e6ae6 100644
--- a/lib/dns/include/dns/dyndb.h
+++ b/lib/dns/include/dns/dyndb.h
@@ -107,7 +107,7 @@ dns_dyndb_load(const char *libname, const char *name, const char *parameters,
/*%
* Load a dyndb module.
*
- * This loads a dyndb module using dlopen(), calls its register
+ * This loads a dyndb module using dlopen() or equivalent, calls its register
* function (see dns_dyndb_register_t above), and if successful, adds
* the instance handle to a list of dyndb instances so it can be cleaned
* up later.
diff --git a/lib/dns/win32/libdns.def.in b/lib/dns/win32/libdns.def.in
index f5ddcafe90..21134e9523 100644
--- a/lib/dns/win32/libdns.def.in
+++ b/lib/dns/win32/libdns.def.in
@@ -99,9 +99,9 @@ dns_cache_getcleaninginterval
dns_cache_getname
dns_cache_getstats
dns_cache_load
-@IF JSON
+@IF NOTYET
dns_cache_renderjson
-@END JSON
+@END NOTYET
@IF LIBXML2
dns_cache_renderxml
@END LIBXML2
@@ -330,7 +330,7 @@ dns_dyndb_load
dns_dyndb_cleanup
dns_dyndb_createctx
dns_dyndb_destroyctx
-@IF DNSTAP
+@IF NOTYET
dns_dt_create
dns_dt_setidentity
dns_dt_setversion
@@ -344,7 +344,7 @@ dns_dtdata_free
dns_dt_open
dns_dt_getframe
dns_dt_close
-@END DNSTAP
+@END NOTYET
dns_ecdb_register
dns_ecdb_unregister
dns_fwdtable_add
diff --git a/lib/dns/win32/libdns.dsp.in b/lib/dns/win32/libdns.dsp.in
index 11197c1c61..14d98a5056 100644
--- a/lib/dns/win32/libdns.dsp.in
+++ b/lib/dns/win32/libdns.dsp.in
@@ -182,6 +182,10 @@ SOURCE=..\include\dns\dnssec.h
# End Source File
# Begin Source File
+SOURCE=..\include\dns\dnstap.h
+# End Source File
+# Begin Source File
+
SOURCE=..\include\dns\ds.h
# End Source File
# Begin Source File
@@ -194,6 +198,10 @@ SOURCE=..\include\dns\ecdb.h
# End Source File
# Begin Source File
+SOURCE=..\include\dns\edns.h
+# End Source File
+# Begin Source File
+
SOURCE=..\include\dns\enumclass.h
# End Source File
# Begin Source File
@@ -316,6 +324,10 @@ SOURCE=..\rbtdb64.h
# End Source File
# Begin Source File
+SOURCE=..\rdatalist_p.h
+# End Source File
+# Begin Source File
+
SOURCE=..\include\dns\rcode.h
# End Source File
# Begin Source File
diff --git a/lib/dns/win32/libdns.vcxproj.filters.in b/lib/dns/win32/libdns.vcxproj.filters.in
index 5cd1987a34..17f51a507f 100644
--- a/lib/dns/win32/libdns.vcxproj.filters.in
+++ b/lib/dns/win32/libdns.vcxproj.filters.in
@@ -344,6 +344,9 @@
Library Header Files
+
+ Library Header Files
+
Library Header Files
@@ -404,6 +407,9 @@
Library Header Files
+
+ Library Header Files
+
Library Header Files
@@ -416,6 +422,9 @@
Library Header Files
+
+ Library Header Files
+
Library Header Files
diff --git a/lib/dns/win32/libdns.vcxproj.in b/lib/dns/win32/libdns.vcxproj.in
index f532bea6dc..cf330fc03e 100644
--- a/lib/dns/win32/libdns.vcxproj.in
+++ b/lib/dns/win32/libdns.vcxproj.in
@@ -246,10 +246,12 @@
+
+
@@ -326,6 +328,7 @@
+
diff --git a/lib/irs/win32/libirs.vcxproj.filters.in b/lib/irs/win32/libirs.vcxproj.filters.in
index 5bfd27c867..eae47de958 100644
--- a/lib/irs/win32/libirs.vcxproj.filters.in
+++ b/lib/irs/win32/libirs.vcxproj.filters.in
@@ -62,5 +62,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/lib/irs/win32/libirs.vcxproj.in b/lib/irs/win32/libirs.vcxproj.in
index 8910c5a6af..6d778eaa89 100644
--- a/lib/irs/win32/libirs.vcxproj.in
+++ b/lib/irs/win32/libirs.vcxproj.in
@@ -123,6 +123,7 @@
+
diff --git a/lib/isc/win32/libisc.def.in b/lib/isc/win32/libisc.def.in
index 791856fd74..42e32e1d78 100644
--- a/lib/isc/win32/libisc.def.in
+++ b/lib/isc/win32/libisc.def.in
@@ -402,9 +402,9 @@ isc_mem_ondestroy
isc_mem_printallactive
isc_mem_references
isc_mem_register
-@IF JSON
+@IF NOTYET
isc_mem_renderjson
-@END JSON
+@END NOTYET
@IF LIBXML2
isc_mem_renderxml
@END LIBXML2
@@ -657,9 +657,9 @@ isc_taskmgr_createinctx
isc_taskmgr_destroy
isc_taskmgr_excltask
isc_taskmgr_mode
-@IF JSON
+@IF NOTYET
isc_taskmgr_renderjson
-@END JSON
+@END NOTYET
@IF LIBXML2
isc_taskmgr_renderxml
@END LIBXML2
diff --git a/lib/isc/win32/libisc.dsp.in b/lib/isc/win32/libisc.dsp.in
index ca53976086..c6ec1b0f66 100644
--- a/lib/isc/win32/libisc.dsp.in
+++ b/lib/isc/win32/libisc.dsp.in
@@ -44,9 +44,9 @@ RSC=rc.exe
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 @COPTX@ @COPTI@ /O2 /D "BIND9" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" @COPTY@ /FD /c
@IF PKCS11
-# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /D "BIND9" @CRYPTO@ @PK11_LIB_LOCATION@ /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" @COPTY@ /FD /c
+# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @ZLIB_INC@ /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /D "BIND9" @CRYPTO@ @PK11_LIB_LOCATION@ /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" @COPTY@ /FD /c
@ELSE PKCS11
-# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /D "BIND9" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" @COPTY@ /FD /c
+# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @ZLIB_INC@ /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /D "BIND9" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" @COPTY@ /FD /c
@END PKCS11
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
@@ -57,7 +57,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll @MACHINE@
-# ADD LINK32 @LIBXML2_LIB@ @OPENSSL_LIB@ user32.lib advapi32.lib ws2_32.lib /nologo /dll @MACHINE@ /out:"../../../Build/Release/libisc.dll"
+# ADD LINK32 @LIBXML2_LIB@ @OPENSSL_LIB@ @ZLIB_LIB@ user32.lib advapi32.lib ws2_32.lib /nologo /dll @MACHINE@ /out:"../../../Build/Release/libisc.dll"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "libisc - @PLATFORM@ Debug"
@@ -75,9 +75,9 @@ LINK32=link.exe
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "BIND9" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" @COPTY@ /FD /GZ /c
@IF PKCS11
-# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /D "BIND9" @CRYPTO@ @PK11_LIB_LOCATION@ /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR @COPTY@ /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @ZLIB_INC@ /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /D "BIND9" @CRYPTO@ @PK11_LIB_LOCATION@ /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR @COPTY@ /FD /GZ /c
@ELSE PKCS11
-# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /D "BIND9" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR @COPTY@ /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @ZLIB_INC@ /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /D "BIND9" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR @COPTY@ /FD /GZ /c
@END PKCS11
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
@@ -88,7 +88,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug @MACHINE@ /pdbtype:sept
-# ADD LINK32 @LIBXML2_LIB@ @OPENSSL_LIB@ user32.lib advapi32.lib ws2_32.lib /nologo /dll /map /debug @MACHINE@ /out:"../../../Build/Debug/libisc.dll" /pdbtype:sept
+# ADD LINK32 @LIBXML2_LIB@ @OPENSSL_LIB@ @ZLIB_LIB@ user32.lib advapi32.lib ws2_32.lib /nologo /dll /map /debug @MACHINE@ /out:"../../../Build/Debug/libisc.dll" /pdbtype:sept
!ENDIF
@@ -411,7 +411,7 @@ SOURCE=..\include\isc\mem.h
# End Source File
# Begin Source File
-SOURCE=.\include\isc\meminfo.h
+SOURCE=..\include\isc\meminfo.h
# End Source File
# Begin Source File
@@ -571,7 +571,11 @@ SOURCE=..\include\isc\socket.h
# End Source File
# Begin Source File
-SOURCE=.\include\isc\stats.h
+SOURCE=.\include\isc\stat.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\include\isc\stats.h
# End Source File
# Begin Source File
diff --git a/lib/isc/win32/libisc.mak.in b/lib/isc/win32/libisc.mak.in
index 8c129aa25b..4b55d5ff33 100644
--- a/lib/isc/win32/libisc.mak.in
+++ b/lib/isc/win32/libisc.mak.in
@@ -216,9 +216,9 @@ CLEAN :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@IF PKCS11
-CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /I "../../dns/win32/include" /I "../../dns/include" @LIBXML2_INC@ @OPENSSL_INC@ /D "BIND9" @CRYPTO@ @PK11_LIB_LOCATION@ /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /Fp"$(INTDIR)\libisc.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /I "../../dns/win32/include" /I "../../dns/include" @LIBXML2_INC@ @OPENSSL_INC@ @ZLIB_INC@ /D "BIND9" @CRYPTO@ @PK11_LIB_LOCATION@ /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /Fp"$(INTDIR)\libisc.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
@ELSE PKCS11
-CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" @LIBXML2_INC@ @OPENSSL_INC@ /D "BIND9" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /Fp"$(INTDIR)\libisc.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" @LIBXML2_INC@ @OPENSSL_INC@ @ZLIB_INC@ /D "BIND9" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /Fp"$(INTDIR)\libisc.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
@END PKCS11
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
BSC32=bscmake.exe
@@ -226,7 +226,7 @@ BSC32_FLAGS=/nologo /o"$(OUTDIR)\libisc.bsc"
BSC32_SBRS= \
LINK32=link.exe
-LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib $(LIBXML) @OPENSSL_LIB@ /nologo /dll /incremental:no /pdb:"$(OUTDIR)\libisc.pdb" @MACHINE@ /def:".\libisc.def" /out:"../../../Build/Release/libisc.dll" /implib:"$(OUTDIR)\libisc.lib"
+LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib $(LIBXML) @OPENSSL_LIB@ @ZLIB_LIB@ /nologo /dll /incremental:no /pdb:"$(OUTDIR)\libisc.pdb" @MACHINE@ /def:".\libisc.def" /out:"../../../Build/Release/libisc.dll" /implib:"$(OUTDIR)\libisc.lib"
DEF_FILE= \
".\libisc.def"
LINK32_OBJS= \
@@ -535,9 +535,9 @@ CLEAN :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@IF PKCS11
-CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /I "../../dns/win32/include" /I "../../dns/include" @LIBXML2_INC@ @OPENSSL_INC@ /D "BIND9" @CRYPTO@ @PK11_LIB_LOCATION@ /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libisc.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /I "../../dns/win32/include" /I "../../dns/include" @LIBXML2_INC@ @OPENSSL_INC@ @ZLIB_INC@ /D "BIND9" @CRYPTO@ @PK11_LIB_LOCATION@ /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libisc.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
@ELSE PKCS11
-CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" @LIBXML2_INC@ @OPENSSL_INC@ /D "BIND9" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libisc.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" @LIBXML2_INC@ @OPENSSL_INC@ @ZLIB_INC@ /D "BIND9" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libisc.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
@END PKCS11
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
BSC32=bscmake.exe
@@ -644,7 +644,7 @@ BSC32_SBRS= \
<<
LINK32=link.exe
-LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib $(LIBXML) @OPENSSL_LIB@ /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\libisc.pdb" /map:"$(INTDIR)\libisc.map" /debug @MACHINE@ /def:".\libisc.def" /out:"../../../Build/Debug/libisc.dll" /implib:"$(OUTDIR)\libisc.lib" /pdbtype:sept
+LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib $(LIBXML) @OPENSSL_LIB@ @ZLIB_LIB@ /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\libisc.pdb" /map:"$(INTDIR)\libisc.map" /debug @MACHINE@ /def:".\libisc.def" /out:"../../../Build/Debug/libisc.dll" /implib:"$(OUTDIR)\libisc.lib" /pdbtype:sept
DEF_FILE= \
".\libisc.def"
LINK32_OBJS= \
diff --git a/lib/isc/win32/libisc.vcxproj.filters.in b/lib/isc/win32/libisc.vcxproj.filters.in
index 9f68909f96..997979a8e1 100644
--- a/lib/isc/win32/libisc.vcxproj.filters.in
+++ b/lib/isc/win32/libisc.vcxproj.filters.in
@@ -142,6 +142,9 @@
Library Header Files
+
+ Win32 Header Files
+
Library Header Files
@@ -229,6 +232,9 @@
Library Header Files
+
+ Library Header Files
+
Library Header Files
@@ -309,9 +315,6 @@
Win32 Header Files
-
- Win32 Header Files
-
Win32 Header Files
diff --git a/lib/isc/win32/libisc.vcxproj.in b/lib/isc/win32/libisc.vcxproj.in
index 0d4215f1b0..dee0804fcd 100644
--- a/lib/isc/win32/libisc.vcxproj.in
+++ b/lib/isc/win32/libisc.vcxproj.in
@@ -55,10 +55,10 @@
Disabled
@IF PKCS11
BIND9;@CRYPTO@@PK11_LIB_LOCATION@WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBISC_EXPORTS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)
- .\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@include;..\include;win32;..\..\isccfg\include;..\..\dns\win32\include;..\..\dns\include;%(AdditionalIncludeDirectories)
+ .\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@@ZLIB_INC@include;..\include;win32;..\..\isccfg\include;..\..\dns\win32\include;..\..\dns\include;%(AdditionalIncludeDirectories)
@ELSE PKCS11
BIND9;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBISC_EXPORTS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)
- .\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@include;..\include;win32;..\..\isccfg\include;%(AdditionalIncludeDirectories)
+ .\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@@ZLIB_INC@include;..\include;win32;..\..\isccfg\include;%(AdditionalIncludeDirectories)
@END PKCS11
false
.\$(Configuration)\$(TargetName).pch
@@ -71,7 +71,7 @@
Console
true
..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)
- @LIBXML2_LIB@@OPENSSL_LIB@ws2_32.lib;%(AdditionalDependencies)
+ @LIBXML2_LIB@@OPENSSL_LIB@@ZLIB_LIB@ws2_32.lib;%(AdditionalDependencies)
$(ProjectName).def
.\$(Configuration)\$(ProjectName).lib
@@ -121,6 +121,12 @@ copy @IDN_DLL@ ..\Build\Debug\
copy @ICONV_DLL@ ..\Build\Debug\
@END IDNKIT
+@IF ZLIB
+echo Copying the zlib DLL.
+
+copy @ZLIB_DLL@ ..\Build\Debug\
+@END ZLIB
+
echo Copying Visual C x86 Redistributable Installer.
copy /Y @VCREDIST_PATH@ ..\Build\Debug\
@@ -143,10 +149,10 @@ copy InstallFiles ..\Build\Debug\
@INTRINSIC@
@IF PKCS11
BIND9;@CRYPTO@@PK11_LIB_LOCATION@WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBISC_EXPORTS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)
- .\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@include;..\include;win32;..\..\isccfg\include;..\..\dns\win32\include;..\..\dns\include;%(AdditionalIncludeDirectories)
+ .\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@@ZLIB_INC@include;..\include;win32;..\..\isccfg\include;..\..\dns\win32\include;..\..\dns\include;%(AdditionalIncludeDirectories)
@ELSE PKCS11
BIND9;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBISC_EXPORTS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)
- .\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@include;..\include;win32;..\..\isccfg\include;%(AdditionalIncludeDirectories)
+ .\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@@ZLIB_INC@include;..\include;win32;..\..\isccfg\include;%(AdditionalIncludeDirectories)
@END PKCS11
OnlyExplicitInline
false
@@ -162,7 +168,7 @@ copy InstallFiles ..\Build\Debug\
true
true
..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)
- @LIBXML2_LIB@@OPENSSL_LIB@ws2_32.lib;%(AdditionalDependencies)
+ @LIBXML2_LIB@@OPENSSL_LIB@@ZLIB_LIB@ws2_32.lib;%(AdditionalDependencies)
$(ProjectName).def
.\$(Configuration)\$(ProjectName).lib
Default
@@ -262,6 +268,12 @@ copy @IDN_DLL@ ..\Build\Release\
copy @ICONV_DLL@ ..\Build\Release\
@END IDNKIT
+@IF ZLIB
+echo Copying the zlib DLL.
+
+copy @ZLIB_DLL@ ..\Build\Release\
+@END ZLIB
+
echo Copying Visual C x86 Redistributable Installer.
copy /Y @VCREDIST_PATH@ ..\Build\Release\
@@ -319,6 +331,7 @@ copy InstallFiles ..\Build\Release\
+
@@ -348,6 +361,7 @@ copy InstallFiles ..\Build\Release\
+
@@ -382,7 +396,6 @@ copy InstallFiles ..\Build\Release\
-
diff --git a/lib/isccc/win32/libisccc.dsp.in b/lib/isccc/win32/libisccc.dsp.in
index 44f0e76762..82c731efc8 100644
--- a/lib/isccc/win32/libisccc.dsp.in
+++ b/lib/isccc/win32/libisccc.dsp.in
@@ -184,6 +184,10 @@ SOURCE=..\include\isccc\types.h
SOURCE=..\include\isccc\util.h
# End Source File
+# Begin Source File
+
+SOURCE=..\include\isccc\version.h
+# End Source File
# End Group
# Begin Group "Resource Files"
diff --git a/lib/isccc/win32/libisccc.vcxproj.filters.in b/lib/isccc/win32/libisccc.vcxproj.filters.in
index 822ac956d0..b17d13c078 100644
--- a/lib/isccc/win32/libisccc.vcxproj.filters.in
+++ b/lib/isccc/win32/libisccc.vcxproj.filters.in
@@ -86,5 +86,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/lib/isccc/win32/libisccc.vcxproj.in b/lib/isccc/win32/libisccc.vcxproj.in
index f0e5d4bcd5..eeea37f3b3 100644
--- a/lib/isccc/win32/libisccc.vcxproj.in
+++ b/lib/isccc/win32/libisccc.vcxproj.in
@@ -131,6 +131,7 @@
+
diff --git a/lib/isccfg/win32/libisccfg.dsp.in b/lib/isccfg/win32/libisccfg.dsp.in
index 869fb85a2f..425af5af14 100644
--- a/lib/isccfg/win32/libisccfg.dsp.in
+++ b/lib/isccfg/win32/libisccfg.dsp.in
@@ -152,6 +152,10 @@ SOURCE=..\include\isccfg\log.h
SOURCE=..\include\isccfg\namedconf.h
# End Source File
+# Begin Source File
+
+SOURCE=..\include\isccfg\version.h
+# End Source File
# End Group
# Begin Group "Resource Files"
diff --git a/lib/isccfg/win32/libisccfg.vcxproj.filters.in b/lib/isccfg/win32/libisccfg.vcxproj.filters.in
index 27d33a0acb..46b4e54bc5 100644
--- a/lib/isccfg/win32/libisccfg.vcxproj.filters.in
+++ b/lib/isccfg/win32/libisccfg.vcxproj.filters.in
@@ -59,5 +59,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/lib/isccfg/win32/libisccfg.vcxproj.in b/lib/isccfg/win32/libisccfg.vcxproj.in
index 9f2bea1e98..c5b5a85c03 100644
--- a/lib/isccfg/win32/libisccfg.vcxproj.in
+++ b/lib/isccfg/win32/libisccfg.vcxproj.in
@@ -122,6 +122,7 @@
+
diff --git a/lib/lwres/win32/liblwres.dsp.in b/lib/lwres/win32/liblwres.dsp.in
index 527a718db8..5a66a95adc 100644
--- a/lib/lwres/win32/liblwres.dsp.in
+++ b/lib/lwres/win32/liblwres.dsp.in
@@ -244,6 +244,10 @@ SOURCE=..\include\lwres\stdlib.h
SOURCE=..\include\lwres\string.h
# End Source File
+# Begin Source File
+
+SOURCE=..\include\lwres\version.h
+# End Source File
# End Group
# Begin Group "Resource Files"
diff --git a/lib/lwres/win32/liblwres.vcxproj.filters.in b/lib/lwres/win32/liblwres.vcxproj.filters.in
index 7b7c614a21..990684d1a0 100644
--- a/lib/lwres/win32/liblwres.vcxproj.filters.in
+++ b/lib/lwres/win32/liblwres.vcxproj.filters.in
@@ -131,5 +131,8 @@
Header Files
+
+ Header Files
+
diff --git a/lib/lwres/win32/liblwres.vcxproj.in b/lib/lwres/win32/liblwres.vcxproj.in
index 49cdeda095..b6de5f6c24 100644
--- a/lib/lwres/win32/liblwres.vcxproj.in
+++ b/lib/lwres/win32/liblwres.vcxproj.in
@@ -140,6 +140,7 @@
+
diff --git a/win32utils/Configure b/win32utils/Configure
index 2476d45c40..a48fa64270 100644
--- a/win32utils/Configure
+++ b/win32utils/Configure
@@ -348,7 +348,7 @@ my @projectlist = ("..\\bin\\check\\win32\\checkconf.vcxproj",
my %configdefh;
-my @substdefh = ("AES_SIT",
+my @substdefh = ("AES_CC",
"ALLOW_FILTER_AAAA",
"CONFIGARGS",
"DNS_RDATASET_FIXED",
@@ -369,9 +369,10 @@ my @substdefh = ("AES_SIT",
"HAVE_PKCS11_ECDSA",
"HAVE_PKCS11_GOST",
"HAVE_READLINE",
+ "HAVE_ZLIB",
"HMAC_RETURN_INT",
- "HMAC_SHA1_SIT",
- "HMAC_SHA256_SIT",
+ "HMAC_SHA1_CC",
+ "HMAC_SHA256_CC",
"ISC_LIST_CHECKINIT",
"PREFER_GOSTASN1",
"TUNE_LARGE",
@@ -389,7 +390,6 @@ my @substdefp = ("ISC_PLATFORM_HAVEATOMICSTORE",
"ISC_PLATFORM_HAVEXADDQ",
"ISC_PLATFORM_NEEDSTRCASESTR",
"ISC_PLATFORM_USEBACKTRACE",
- "ISC_PLATFORM_USESIT",
"ISC_PLATFORM_WANTAES");
# includes
@@ -401,7 +401,8 @@ my @substinc = ("GSSAPI_INC",
"IDN_INC",
"LIBXML2_INC",
"OPENSSL_INC",
- "READLINE_INC");
+ "READLINE_INC",
+ "ZLIB_INC");
# libraries
@@ -414,7 +415,8 @@ my @substlib = ("GSSAPI_LIB",
"LIBXML2_LIB",
"OPENSSL_LIB",
"READLINE_LIB",
- "READLINE_LIBD");
+ "READLINE_LIBD",
+ "ZLIB_LIB");
# DLLs
@@ -429,7 +431,8 @@ my @substdll = ("COMERR_DLL",
"K5SPRT_DLL",
"LIBXML2_DLL",
"OPENSSL_DLL",
- "WSHELP_DLL");
+ "WSHELP_DLL",
+ "ZLIB_DLL");
# variables
@@ -477,7 +480,10 @@ my @substcond = ("AES",
"PYTHON",
"SAMPLES",
"TESTS",
- "XTESTS");
+ "XTESTS",
+ "ZLIB");
+
+my @allcond = (@substcond, "NOTYET", "NOLONGER");
# arguments
@@ -492,8 +498,7 @@ my @enablelist = ("developer",
"filter-aaaa",
"querytrace",
"rpz-nsdname",
- "rpz-nsip",
- "sit");
+ "rpz-nsip");
# with-xxx/without-xxx
@@ -512,10 +517,11 @@ my @withlist = ("aes",
"python",
"readline",
"samples",
- "sit-alg",
+ "cc-alg",
"tests",
"tuning",
- "vcredist");
+ "vcredist",
+ "zlib");
# general arguments
@@ -551,7 +557,6 @@ my @help = (
" enable-querytrace enable very verbose query trace [default=no]\n",
" enable-rpz-nsip enable rpz-nsip rules [default=yes]\n",
" enable-rpz-nsdname enable rpz-nsdname rules [default=yes]\n",
-" enable-sit enable source identity token [default=yes]\n",
"\nOptional Packages:\n",
" with-tests build with test suite\n",
" with-extra-tests build with extra test suite\n",
@@ -561,7 +566,7 @@ my @help = (
" with-ecdsa crypto ECDSA\n",
" with-gost[=ENC] crypto GOST yes|no|raw|ans1\n",
" with-aes crypto AES\n",
-" with-sit-alg choose the algorithm for SIT aes|sha1|sha256\n",
+" with-cc-alg choose the algorithm for cookies aes|sha1|sha256\n",
" with-gssapi[=PATH] build with MIT KfW GSSAPI yes|no|path\n",
" with-libxml2[=PATH] build with libxml2 library yes|no|path\n",
" with-geoip[=PATH] build with GeoIP support yes|no|path\n",
@@ -569,6 +574,7 @@ my @help = (
" with-readline[=PATH] build with readline library support yes|no|path\n",
" with-idn[=PATH] build with IDN kit support yes|no|path\n",
" with-iconv[=PATH] path of the iconv DLL [default=same than idn]\n",
+" with-zlib[=PATH] build with zlib library yes|no|path\n",
" with-vcredist[=PATH] visual C++ redistributable package yes|path\n",
" with-tuning=OPTION tune for plaform size (large|default)\n",
" with-cross-compile 32 / 64 bit build / host plaforms\n");
@@ -593,7 +599,6 @@ my $enable_developer = "no";
my $enable_querytrace = "no";
my $enable_rpz_nsip = "yes";
my $enable_rpz_nsdname = "yes";
-my $enable_sit = "yes";
my $use_tests = "no";
my $use_xtests = "no";
my $use_samples = "no";
@@ -605,7 +610,7 @@ my $use_ecdsa = "auto";
my $use_gost = "auto";
my $gost_encoding = "raw";
my $use_aes = "auto";
-my $sit_algorithm = "aes";
+my $cookie_algorithm = "aes";
my $use_gssapi = "no";
my $gssapi_path = "C:\\Program\ Files\\MIT\\Kerberos\\";
my $use_geoip = "no";
@@ -619,6 +624,8 @@ my $readline_path = "..\\..\\";
my $use_idn = "no";
my $idn_path = "..\\..\\";
my $iconv_path = " --idn-- ";
+my $use_zlib = "no";
+my $zlib_path = "..\\..\\";
my $use_vcredist = "yes";
my $vcredist_path = " --infer-- ";
my $cross_compile = "no";
@@ -761,10 +768,6 @@ sub myenable {
if ($val =~ /^no$/i) {
$enable_rpz_nsdname = "no";
}
- } elsif ($key =~ /^sit$/i) {
- if ($val =~ /^no$/i) {
- $enable_sit = "no";
- }
} else {
$want_unknown = "yes";
if ($val eq "no") {
@@ -786,7 +789,6 @@ if ($enable_developer eq "yes") {
# TODO: dlz filesystem
$use_tests = "yes";
$use_samples = "yes";
- $enable_sit = "yes";
}
# parse with/without
@@ -842,8 +844,8 @@ sub mywith {
} elsif ($val =~ /^yes$/i) {
$use_aes = "yes";
}
- } elsif ($key =~ /^sit-alg$/i) {
- $sit_algorithm = $val;
+ } elsif ($key =~ /^cc-alg$/i) {
+ $cookie_algorithm = $val;
} elsif ($key =~ /^gssapi$/i) {
if ($val !~ /^no$/i) {
$use_gssapi = "yes";
@@ -886,6 +888,13 @@ sub mywith {
} elsif ($val !~ /^yes$/i) {
$iconv_path = $val;
}
+ } elsif ($key =~ /^zlib$/i) {
+ if ($val !~ /^no$/i) {
+ $use_zlib = "yes";
+ if ($val !~ /^yes$/i) {
+ $zlib_path = $val;
+ }
+ }
} elsif ($key =~ /^python$/i) {
if ($val =~ /^no$/i) {
$use_python = "no";
@@ -1026,12 +1035,7 @@ if ($verbose) {
} else {
print "rpz-nsdname: disabled\n";
}
- if ($enable_sit eq "yes") {
- print "sit: enabled\n";
- print "sit algorithm: $sit_algorithm\n";
- } else {
- print "sit: disabled\n";
- }
+ print "cookie algorithm: $cookie_algorithm\n";
if ($use_openssl eq "no") {
print "openssl: disabled\n";
} else {
@@ -1095,6 +1099,11 @@ if ($verbose) {
print "iconv-path: $iconv_path\n";
}
}
+ if ($use_zlib eq "no") {
+ print "zlib: disabled\n";
+ } else {
+ print "zlib-path: $zlib_path\n";
+ }
if ($use_python eq "no") {
print "python: disabled\n";
} else {
@@ -1391,11 +1400,6 @@ if ($enable_rpz_nsdname ne "no") {
$configdefh{"ENABLE_RPZ_NSDNAME"} = 1;
}
-# enable-sit
-if ($enable_sit ne "no") {
- $configdefp{"ISC_PLATFORM_USESIT"} = 1;
-}
-
# with-tests
if ($use_tests eq "yes") {
$configcond{"TESTS"} = 1;
@@ -1878,23 +1882,21 @@ if ($use_aes eq "yes") {
$configcond{"AES"} = 1;
}
-# with-sit-alg
-if ($enable_sit ne "no") {
- if ($sit_algorithm eq "aes") {
- if ($use_aes ne "yes") {
- $sit_algorithm = "sha256";
- } else {
- $configdefh{"AES_SIT"} = 1;
- }
- }
- if ($sit_algorithm eq "sha1") {
- $configdefh{"HMAC_SHA1_SIT"} = 1;
- } elsif ($sit_algorithm eq "sha256") {
- $configdefh{"HMAC_SHA256_SIT"} = 1;
- } elsif ($sit_algorithm ne "aes") {
- die "Unrecognized SIT algorithm: $sit_algorithm\n";
+# with-cc-alg
+if ($cookie_algorithm eq "aes") {
+ if ($use_aes ne "yes") {
+ $cookie_algorithm = "sha256";
+ } else {
+ $configdefh{"AES_CC"} = 1;
}
}
+if ($cookie_algorithm eq "sha1") {
+ $configdefh{"HMAC_SHA1_CC"} = 1;
+} elsif ($cookie_algorithm eq "sha256") {
+ $configdefh{"HMAC_SHA256_CC"} = 1;
+} elsif ($cookie_algorithm ne "aes") {
+ die "Unrecognized cookie algorithm: $cookie_algorithm\n";
+}
# enable-openssl-hash
if ($enable_openssl_hash eq "yes") {
@@ -2287,6 +2289,34 @@ if ($use_libxml2 eq "yes") {
$configdll{"LIBXML2_DLL"} = "$libxml2_dll";
}
+# with-zlib
+if ($use_zlib eq "no") {
+ if ($verbose) {
+ print "zlib library is disabled\n";
+ }
+} else {
+ $configcond{"ZLIB"} = 1;
+ $zlib_path = File::Spec->rel2abs($zlib_path);
+ if ($verbose) {
+ print "checking for zlib directory at \"$zlib_path\"\n";
+ }
+ if (!-f File::Spec->catfile($zlib_path, "zlib.h")) {
+ die "can't find zlib.h include\n";
+ }
+ if (!-f File::Spec->catfile($zlib_path, "zdll.lib")) {
+ die "can't find zdll.lib library\n";
+ }
+ if (!-f File::Spec->catfile($zlib_path, "zlib1.dll")) {
+ die "can't find zlib1.dll DLL\n";
+ }
+ $configdefh{"HAVE_ZLIB"} = 1;
+ $configinc{"ZLIB_INC"} = "$zlib_path";
+ my $zlib_lib = File::Spec->catfile($zlib_path, "zdll.lib");
+ $configlib{"ZLIB_LIB"} = "$zlib_lib";
+ my $zlib_dll = File::Spec->catfile($zlib_path, "zlib1.dll");
+ $configdll{"ZLIB_DLL"} = "$zlib_dll";
+}
+
# with-python
if ($use_python eq "no") {
if ($verbose) {
@@ -2426,11 +2456,15 @@ sub setupfile {
unshift(@conds, $cond);
unshift(@passes, $pass);
}
- $cond = $1;
- if (defined($configcond{$cond})) {
- # do nothing
+ if ($1 ~~ @allcond) {
+ $cond = $1;
+ if (defined($configcond{$cond})) {
+ # do nothing
+ } else {
+ $pass = 0;
+ }
} else {
- $pass = 0;
+ die "unknown condition \@IF $1 in $filename\n";
}
next;
} elsif ($line =~ /^\@ELSE (.*)$/) {
@@ -2541,11 +2575,15 @@ sub setupproject {
unshift(@conds, $cond);
unshift(@passes, $pass);
}
- $cond = $1;
- if (defined($configcond{$cond})) {
- # do nothing
+ if ($1 ~~ @allcond) {
+ $cond = $1;
+ if (defined($configcond{$cond})) {
+ # do nothing
+ } else {
+ $pass = 0;
+ }
} else {
- $pass = 0;
+ die "unknown condition \@IF $1 in $projectname\n";
}
next;
} elsif ($line =~ /^\@ELSE (.*)$/) {
@@ -3051,7 +3089,6 @@ exit 0;
# Notes: Unix configure.in options
# --enable-developer partially supported
-# --enable-dnstap not supported (requires libfstrm support on win32)
# --enable-newstats (9.9/9.9sub only)
# --enable-native-pkcs11 supported
# --enable-openssl-version-check included without a way to disable it
@@ -3059,38 +3096,40 @@ exit 0;
# --enable-threads included without a way to disable it
# --enable-backtrace backtrace included without a way to disable it
# --enable-symtable incompatible with DLLs (or libtool)
-# --enable-exportlib TODO (obsolete)
# --enable-ipv6 included without a way to disable it
# --enable-atomic supported (renamed to intrinsic)
-# --enable-spnego support (part of GSSAPI)
+# --enable-isc-spnego supported (part of GSSAPI)
# --enable-fixed-rrset supported
# --enable-querytrace supported
# --disable-rpz-nsip supported
# --disable-rpz-nsdname supported
# --enable-filter-aaaa supported
-# --enable-sit supported
# --enable-full-report supported by verbose
+# --enable-dnstap not supported (requires libfstrm support on WIN32)
+# --enable-seccomp not supported (Linux specific)
# --with-python supported
# --with-openssl supported
# --with-pkcs11 supported
# --with-ecdsa supported
# --with-gost supported
# --with-aes supported
-# --with-sit-alg supported
+# --with-cc-alg supported
# --with-geoip supported
# --with-gssapi supported with MIT (K)erberos (f)or (W)indows
# --with-libxml2 supported
# --with-libjson not supported on WIN32 (package not available on WIN32)
-# --with-purify ? (package available on WIN32 but for free?)
-# --with-gperftools-profiler (package not available on WIN32)
+# --with-zlib supported
+# --with-purify not supported (package available on WIN32 but for free?)
+# --with-gperftools-profiler not supported (package not available on WIN32)
# --with-libtool not supported on WIN32 (never)
# --with-locktype not supported on WIN32 (not yet available on WIN32)
# --with-readline supported
-# --with-idn support
-# --with-[lib]iconv (part of IDN)
-# --with-atf not supported on WIN32 (package not available on WIN32)
-# --with-libfrtrm not supported (not yet available on WIN32)
# --with-protobuf-c not supported (no reason to until libfstrm is ready)
+# --with-libfrtrm not supported (not yet available on WIN32)
+# --with-docbook-xsl not supported (?)
+# --with-idn[lib] supported
+# --with-[lib]iconv supported (part of IDN)
+# --with-atf not supported on WIN32 (package not available on WIN32)
# --with-tuning supported
# --with-dlopen included without a way to disable it
# --with-dlz-* ?
diff --git a/win32utils/build.txt b/win32utils/build.txt
index 721ecdbd40..869b4dbac5 100644
--- a/win32utils/build.txt
+++ b/win32utils/build.txt
@@ -23,6 +23,10 @@ If you wish to use IP geolocation, GeoIP API and database must be
downloaded, patched and built on the system on which you are building
BIND.
+If you wish to use zlib/deflate on the statistics channel, zlib
+must be downloaded and built on the system on which you are building
+BIND.
+
If you wish to use readline, the readline library must be downloaded
and built on the system on which you are building BIND.
@@ -82,7 +86,7 @@ Step 1: Download and build OpenSSL
Step 2: Download and build LibXML2
LibXML2 is required to use the statistics channel. If you wish to
- build BIND 9 without support for this feature, skip to step 3.
+ build BIND 9 without support for this feature, skip to step 4.
Download and untar the libxml2 sources from ftp://xmlsoft.org/libxml2.
Extract them in the same directory in which you extracted the BIND 9
@@ -102,10 +106,22 @@ Step 2: Download and build LibXML2
(in the libxml2-2.9.2 directory) when the correct file is configure.ac
so raises a 'not found' error.
-Step 3: Download and build GeoIP
+Step 3: Download and build zlib
+
+ The statistics channel (aka internal HTTP server) can support
+ zlib "deflate" compression method. If you don't want to this
+ feature, skip to step 4.
+
+ Download and untar the zlib sources from http://www.zlib.net,
+ extract them, read the win32\Makefile.msc for the Usage comment
+ at the beginning of this file, then build the zlib1.dll DLL for
+ the intended processor (i.e., win32 aka x86, or x64), e.g.,
+ running 'nmake /f win32\Makefile.msc'.
+
+Step 4: Download and build GeoIP
Geographic ("geoip") ACLs require libGeoIP. If you wish to build BIND 9
- without support for this feature, skip to step 4.
+ without support for this feature, skip to step 5.
The libGeoIP source code is available from:
@@ -118,14 +134,14 @@ Step 3: Download and build GeoIP
This patch has been submitted upstream, and will be included in
future versions of libGeoIP.
-Step 4: Download and build Readline
+Step 5: Download and build Readline
The readline library adds command-line editing in nslookup and nsupdate.
If you wish to build BIND 9 without support for this feature, skip to
- step 5.
+ step 6.
Because the original GNU source for the readline library has no WIN32
- support, it will be necessary to download a version of the static
+ support, it will be necessary to download a version of the static
readline library source that is ready to be built by Visual Studio. One
such version is available at:
@@ -134,7 +150,7 @@ Step 4: Download and build Readline
Note: Windows command (cmd.exe) provides an integrated line edition
feature so it is not recommended to configure bind with readline.
-Step 5: Make the redistributable runtime object available
+Step 6: Make the redistributable runtime object available
Check that the Microsoft redistributable object (vcredist_x86.exe or
vcredist_x64.exe) is available to the build. The file may be placed
@@ -143,10 +159,10 @@ Step 5: Make the redistributable runtime object available
may be placed in \build\vcredist_x86.exe). Or, the path to the file
can be specified via the VCREDIST_PATH environment variable, or via
the "with-vcredist=PATH" option to the configuration script (see
- step 4). If none of these options is used, Configure will attempt to
+ step 7). If none of these options is used, Configure will attempt to
find the redistributable based on clues in the build environment.
-Step 6: Configuring the BIND build
+Step 7: Configuring the BIND build
From the command prompt, cd to the win32utils directory under
the BIND 9 root:
@@ -170,7 +186,7 @@ Step 6: Configuring the BIND build
perl Configure clean
-Step 7: Building BIND
+Step 8: Building BIND
To build using 'nmake' or older versions of Visual Studio (e.g.
VS 2005 or VS 2008), go to the legacy subdirectory:
@@ -194,7 +210,7 @@ Step 7: Building BIND
Note: This mode does not support building for Windows XP.
-Step 8: Install
+Step 9: Install
Installation is accomplished by running the BINDInstall program. All
DLL's are copied to the Program Files area and all applications
diff --git a/win32utils/legacy/BuildSetup.bat.in b/win32utils/legacy/BuildSetup.bat.in
index d6afbb03ab..aa73570a76 100644
--- a/win32utils/legacy/BuildSetup.bat.in
+++ b/win32utils/legacy/BuildSetup.bat.in
@@ -139,6 +139,13 @@ copy @ICONV_DLL@ ..\Build\Release\
copy @ICONV_DLL@ ..\Build\Debug\
@END IDNKIT
+@IF ZLIB
+echo Copying the zlib DLL.
+
+copy @ZLIB_DLL@ ..\Build\Release\
+copy @ZLIB_DLL@ ..\Build\Debug\
+@END ZLIB
+
echo Copying the redistributable runtime object.
rem