From f50ae72ec3417cae55dd4e085991c01af9fdc5f1 Mon Sep 17 00:00:00 2001 From: Martin Nagy Date: Wed, 11 Feb 2009 20:37:59 +0100 Subject: Initial commit --- win32utils/BINDBuild.dsw | 482 ++++++++++++++++++++++++++++++++++++++++++++ win32utils/BuildAll.bat | 123 +++++++++++ win32utils/BuildOpenSSL.bat | 26 +++ win32utils/BuildPost.bat | 28 +++ win32utils/BuildSetup.bat | 109 ++++++++++ win32utils/dnsheadergen.bat | 26 +++ win32utils/index.html | 53 +++++ win32utils/makedefs.pl | 149 ++++++++++++++ win32utils/makeversion.pl | 125 ++++++++++++ win32utils/readme1st.txt | 159 +++++++++++++++ win32utils/updateopenssl.pl | 106 ++++++++++ win32utils/win32-build.txt | 146 ++++++++++++++ 12 files changed, 1532 insertions(+) create mode 100644 win32utils/BINDBuild.dsw create mode 100644 win32utils/BuildAll.bat create mode 100644 win32utils/BuildOpenSSL.bat create mode 100644 win32utils/BuildPost.bat create mode 100644 win32utils/BuildSetup.bat create mode 100644 win32utils/dnsheadergen.bat create mode 100644 win32utils/index.html create mode 100644 win32utils/makedefs.pl create mode 100644 win32utils/makeversion.pl create mode 100644 win32utils/readme1st.txt create mode 100644 win32utils/updateopenssl.pl create mode 100644 win32utils/win32-build.txt (limited to 'win32utils') diff --git a/win32utils/BINDBuild.dsw b/win32utils/BINDBuild.dsw new file mode 100644 index 0000000..481c17f --- /dev/null +++ b/win32utils/BINDBuild.dsw @@ -0,0 +1,482 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "BINDInstall"="..\bin\win32\BINDInstall\BINDInstall.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "bindevt"="..\lib\win32\bindevt\bindevt.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "dig"="..\bin\dig\win32\dig.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libbind9 + End Project Dependency + Begin Project Dependency + Project_Dep_Name liblwres + End Project Dependency + Begin Project Dependency + Project_Dep_Name dighost + End Project Dependency +}}} + +############################################################################### + +Project: "dighost"="..\bin\dig\win32\dighost.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "host"="..\bin\dig\win32\host.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libbind9 + End Project Dependency + Begin Project Dependency + Project_Dep_Name liblwres + End Project Dependency + Begin Project Dependency + Project_Dep_Name dighost + End Project Dependency +}}} + +############################################################################### + +Project: "dsfromkey"="..\bin\dnssec\win32\dsfromkey.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name dnssectool + End Project Dependency +}}} + +############################################################################### + +Project: "keygen"="..\bin\dnssec\win32\keygen.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name dnssectool + End Project Dependency +}}} + +############################################################################### + +Project: "libbind9"="..\lib\bind9\win32\libbind9.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisccfg + End Project Dependency +}}} + +############################################################################### + +Project: "libdns"="..\lib\dns\win32\libdns.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency +}}} + +############################################################################### + +Project: "libisc"="..\lib\isc\win32\libisc.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libisccc"="..\lib\isccc\win32\libisccc.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency +}}} + +############################################################################### + +Project: "libisccfg"="..\lib\isccfg\win32\libisccfg.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency +}}} + +############################################################################### + +Project: "liblwres"="..\lib\lwres\win32\liblwres.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "named"="..\bin\named\win32\named.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisccc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisccfg + End Project Dependency + Begin Project Dependency + Project_Dep_Name liblwres + End Project Dependency + Begin Project Dependency + Project_Dep_Name libbind9 + End Project Dependency +}}} + +############################################################################### + +Project: "namedcheckconf"="..\bin\check\win32\namedcheckconf.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisccfg + End Project Dependency + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name checktool + End Project Dependency +}}} + +############################################################################### + +Project: "namedcheckzone"="..\bin\check\win32\namedcheckzone.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name checktool + End Project Dependency +}}} + +############################################################################### + +Project: "nslookup"="..\bin\dig\win32\nslookup.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libbind9 + End Project Dependency + Begin Project Dependency + Project_Dep_Name liblwres + End Project Dependency + Begin Project Dependency + Project_Dep_Name dighost + End Project Dependency +}}} + +############################################################################### + +Project: "nsupdate"="..\bin\nsupdate\win32\nsupdate.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libbind9 + End Project Dependency +}}} + +############################################################################### + +Project: "rndc"="..\bin\rndc\win32\rndc.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisccc + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisccfg + End Project Dependency + Begin Project Dependency + Project_Dep_Name libbind9 + End Project Dependency + Begin Project Dependency + Project_Dep_Name rndcutil + End Project Dependency +}}} + +############################################################################### + +Project: "rndcconfgen"="..\bin\rndc\win32\confgen.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name rndcutil + End Project Dependency +}}} + +############################################################################### + +Project: "signzone"="..\bin\dnssec\win32\signzone.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name dnssectool + End Project Dependency +}}} + +############################################################################### + +Project: "keyfromlabel"="..\bin\dnssec\win32\keyfromlabel.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libdns + End Project Dependency + Begin Project Dependency + Project_Dep_Name libisc + End Project Dependency + Begin Project Dependency + Project_Dep_Name dnssectool + End Project Dependency +}}} + +############################################################################### + +Project: "dnssectool"="..\bin\dnssec\win32\dnssectool.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "rndcutil"="..\bin\rndc\win32\rndcutil.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "checktool"="..\bin\check\win32\checktool.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/win32utils/BuildAll.bat b/win32utils/BuildAll.bat new file mode 100644 index 0000000..8abecc4 --- /dev/null +++ b/win32utils/BuildAll.bat @@ -0,0 +1,123 @@ +echo off +rem +rem Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC") +rem Copyright (C) 2001-2002 Internet Software Consortium. +rem +rem Permission to use, copy, modify, and distribute this software for any +rem purpose with or without fee is hereby granted, provided that the above +rem copyright notice and this permission notice appear in all copies. +rem +rem THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +rem REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +rem AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +rem LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +rem OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +rem PERFORMANCE OF THIS SOFTWARE. + +rem BuildAll.bat +rem This script sets up the files necessary ready to build BIND 9 +rem and then builds all of the binaries that make up the installation kit. +rem This requires perl to be installed on the system. + +rem IMPORTANT NOTE: +rem OpenSSL is a prerequisite for building and running this release of +rem BIND 9. You must fetch the OpenSSL sources yourself from +rem http://www.OpenSSL.org/ and compile it yourself. The code must reside +rem at the same level as the bind 9.2.0 source tree and it's top-level +rem directory be named openssl-0.9.6k. This restriction will be lifted in +rem a future release of BIND 9 for Windows NT/2000/XP. + +echo Setting up the BIND files required for the build + +rem Setup the files +call BuildSetup.bat + +echo Build all of the Library files + +cd ..\lib + +cd isc\win32 +nmake /nologo -f libisc.mak CFG="libisc - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd dns\win32 +nmake /nologo -f libdns.mak CFG="libdns - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd isccfg\win32 +nmake /nologo -f libisccfg.mak CFG="libisccfg - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd isccc\win32 +nmake /nologo -f libisccc.mak CFG="libisccc - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd bind9\win32 +nmake /nologo -f libbind9.mak CFG="libbind9 - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd lwres\win32 +nmake /nologo -f liblwres.mak CFG="liblwres - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +rem This is the DLL required for the event Viewer + +cd win32\bindevt +nmake /nologo -f bindevt.mak CFG="bindevt - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd .. + +echo Now build the apps + +cd bin + +cd named\win32 +nmake /nologo -f named.mak CFG="named - Win32 Release" NO_EXTERNAL_DEPS="1" + +cd ..\.. + +cd rndc\win32 +nmake /nologo -f rndc.mak CFG="rndc - Win32 Release" NO_EXTERNAL_DEPS="1" +nmake /nologo -f confgen.mak CFG="rndcconfgen - Win32 Release" NO_EXTERNAL_DEPS="1" + +cd ..\.. + +cd dig\win32 +nmake /nologo -f dig.mak CFG="dig - Win32 Release" NO_EXTERNAL_DEPS="1" +nmake /nologo /nologo -f host.mak CFG="host - Win32 Release" NO_EXTERNAL_DEPS="1" +nmake /nologo -f nslookup.mak CFG="nslookup - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd nsupdate\win32 +nmake /nologo -f nsupdate.mak CFG="nsupdate - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd check\win32 +nmake /nologo -f namedcheckconf.mak CFG="namedcheckconf - Win32 Release" NO_EXTERNAL_DEPS="1" +nmake /nologo -f namedcheckzone.mak CFG="namedcheckzone - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd dnssec\win32 +nmake /nologo -f keygen.mak CFG="keygen - Win32 Release" NO_EXTERNAL_DEPS="1" +nmake /nologo -f signzone.mak CFG="signzone - Win32 Release" NO_EXTERNAL_DEPS="1" +nmake /nologo -f dsfromkey.mak CFG="dsfromkey - Win32 Release" NO_EXTERNAL_DEPS="1" +nmake /nologo -f keyfromlabel.mak CFG="keyfromlabel - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +rem This is the BIND 9 Installer + +cd win32\BINDInstall +nmake /nologo -f BINDInstall.mak CFG="BINDInstall - Win32 Release" NO_EXTERNAL_DEPS="1" +cd ..\.. + +cd .. + +cd win32utils + +call BuildPost.bat + +echo Done. + +rem exit here. diff --git a/win32utils/BuildOpenSSL.bat b/win32utils/BuildOpenSSL.bat new file mode 100644 index 0000000..7d597f3 --- /dev/null +++ b/win32utils/BuildOpenSSL.bat @@ -0,0 +1,26 @@ +echo off +rem +rem Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +rem +rem Permission to use, copy, modify, and distribute this software for any +rem purpose with or without fee is hereby granted, provided that the above +rem copyright notice and this permission notice appear in all copies. +rem +rem THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +rem REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +rem AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +rem LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +rem OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +rem PERFORMANCE OF THIS SOFTWARE. + +rem BuildOpenSSL.bat +rem This script copys the OpenSSL dlls into place. +rem This script may be modified by updateopenssl.pl. + +echo Copying the OpenSSL DLL. + +copy ..\..\openssl-0.9.8d\out32dll\libeay32.dll ..\Build\Release\ +copy ..\..\openssl-0.9.8d\out32dll\libeay32.dll ..\Build\Debug\ + +rem Done diff --git a/win32utils/BuildPost.bat b/win32utils/BuildPost.bat new file mode 100644 index 0000000..4d30fc7 --- /dev/null +++ b/win32utils/BuildPost.bat @@ -0,0 +1,28 @@ +echo off +rem +rem Copyright (C) 2005 Internet Systems Consortium, Inc. ("ISC") +rem +rem Permission to use, copy, modify, and distribute this software for any +rem purpose with or without fee is hereby granted, provided that the above +rem copyright notice and this permission notice appear in all copies. +rem +rem THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +rem REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +rem AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +rem LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +rem OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +rem PERFORMANCE OF THIS SOFTWARE. + +rem BuildPost.bat +rem This script does the final stages if BINDBuild.dsw is used. + +echo Copying named-checkzone.exe to named-compilezone.exe + +copy /Y ..\Build\Release\named-checkzone.exe ..\Build\Release\named-compilezone.exe +if exist ..\Build\Debug\named-checkzone.exe copy /Y ..\Build\Debug\named-checkzone.exe ..\Build\Debug\named-compilezone.exe +if exist ..\Build\Debug\named-checkzone.ilk copy /Y ..\Build\Debug\named-checkzone.ilk ..\Build\Debug\named-compilezone.ilk + +echo Done. + +rem exit here. diff --git a/win32utils/BuildSetup.bat b/win32utils/BuildSetup.bat new file mode 100644 index 0000000..49beb58 --- /dev/null +++ b/win32utils/BuildSetup.bat @@ -0,0 +1,109 @@ +echo off +rem +rem Copyright (C) 2004,2005 Internet Systems Consortium, Inc. ("ISC") +rem Copyright (C) 2001-2002 Internet Software Consortium. +rem +rem Permission to use, copy, modify, and distribute this software for any +rem purpose with or without fee is hereby granted, provided that the above +rem copyright notice and this permission notice appear in all copies. +rem +rem THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +rem REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +rem AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +rem LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +rem OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +rem PERFORMANCE OF THIS SOFTWARE. + +rem BuildSetup.bat +rem This script sets up the files necessary ready to build BIND 9. +rem This requires perl to be installed on the system. + +rem Get and update for the latest build of the openssl library +perl updateopenssl.pl + +rem Set up the configuration file +cd .. +copy config.h.win32 config.h +cd win32utils + +rem Generate the version information +perl makeversion.pl + +rem Generate header files for lib/dns + +call dnsheadergen.bat + +rem Make sure that the Build directories are there. + +if NOT Exist ..\Build mkdir ..\Build +if NOT Exist ..\Build\Release mkdir ..\Build\Release +if NOT Exist ..\Build\Debug mkdir ..\Build\Debug + +echo Copying the ARM and the Installation Notes. + +copy ..\COPYRIGHT ..\Build\Release +copy ..\README ..\Build\Release +copy readme1st.txt ..\Build\Release +copy index.html ..\Build\Release +copy ..\doc\arm\*.html ..\Build\Release +copy ..\doc\arm\Bv9ARM.pdf ..\Build\Release +copy ..\CHANGES ..\Build\Release +copy ..\FAQ ..\Build\Release + +echo Copying the standalone manual pages. + +copy ..\bin\named\named.html ..\Build\Release +copy ..\bin\rndc\*.html ..\Build\Release +copy ..\bin\dig\*.html ..\Build\Release +copy ..\bin\nsupdate\*.html ..\Build\Release +copy ..\bin\check\*.html ..\Build\Release +copy ..\bin\dnssec\dnssec-keygen.html ..\Build\Release +copy ..\bin\dnssec\dnssec-signzone.html ..\Build\Release +copy ..\bin\dnssec\dnssec-dsfromkey.html ..\Build\Release +copy ..\bin\dnssec\dnssec-keyfromlabel.html ..\Build\Release + +echo Copying the migration notes. + +copy ..\doc\misc\migration ..\Build\Release +copy ..\doc\misc\migration-4to9 ..\Build\Release + +call BuildOpenSSL.bat + +rem +rem set vcredist here so that it is correctly expanded in the if body +rem +set vcredist=BootStrapper\Packages\vcredist_x86\vcredist_x86.exe + +if Defined FrameworkSDKDir ( + +rem +rem vcredist_x86.exe path relative to FrameworkSDKDir +rem + +if Exist "%FrameworkSDKDir%\%vcredist%" ( + +echo Copying Visual C x86 Redistributable Installer + +rem +rem Use /Y so we allways have the current version of the installer. +rem + +copy /Y "%FrameworkSDKDir%\%vcredist%" ..\Build\Release\ +copy /Y "%FrameworkSDKDir%\%vcredist%" ..\Build\Debug\ + +) else ( + echo "**** %FrameworkSDKDir%\%vcredist% not found ****" +) +) else ( + echo "**** Warning FrameworkSDKDir not defined ****" + echo "**** Run vsvars32.bat ****" +) + +echo Running Message Compiler + +cd ..\lib\win32\bindevt +mc bindevt.mc +cd ..\..\..\win32utils + +rem Done diff --git a/win32utils/dnsheadergen.bat b/win32utils/dnsheadergen.bat new file mode 100644 index 0000000..664dcdc --- /dev/null +++ b/win32utils/dnsheadergen.bat @@ -0,0 +1,26 @@ +echo off +rem +rem Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC") +rem Copyright (C) 2001-2002 Internet Software Consortium. +rem +rem Permission to use, copy, modify, and distribute this software for any +rem purpose with or without fee is hereby granted, provided that the above +rem copyright notice and this permission notice appear in all copies. +rem +rem THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +rem REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +rem AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +rem LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +rem OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +rem PERFORMANCE OF THIS SOFTWARE. + +cd ..\lib\dns +cd win32 +nmake /nologo /f gen.mak CFG="gen - Win32 Release" NO_EXTERNAL_DEPS="1" +cd .. +gen -s . -t > include/dns/enumtype.h +gen -s . -c > include/dns/enumclass.h +gen -s . -i -P ./rdata/rdatastructpre.h -S ./rdata/rdatastructsuf.h > include/dns/rdatastruct.h +gen -s . > code.h +cd ..\..\win32utils diff --git a/win32utils/index.html b/win32utils/index.html new file mode 100644 index 0000000..afc9798 --- /dev/null +++ b/win32utils/index.html @@ -0,0 +1,53 @@ + + + + + + +Bind9 docs index + + +Bind 9.x documents + +BIND tools: + + + diff --git a/win32utils/makedefs.pl b/win32utils/makedefs.pl new file mode 100644 index 0000000..6c2e2b4 --- /dev/null +++ b/win32utils/makedefs.pl @@ -0,0 +1,149 @@ +#!/usr/bin/perl +# +# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2001 Internet Software Consortium. +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# $Id: makedefs.pl,v 1.8 2007/06/19 23:47:24 tbox Exp $ + +# makedefs.pl +# This script goes through all of the lib header files and creates a .def file +# for each DLL for Win32. It recurses as necessary through the subdirectories +# +# This program should only be run if it is necessary to regenerate +# the .def files. Normally these files should be updated by hand, adding +# new functions to the end and removing obsolete ones. +# If you do renerate them you will also need to modify them by hand to +# to pick up those routines not detected by this program (like openlog). +# +# Search String: ^(([_a-z0-9])*( ))*prefix_[_a-z0-9]+_[a-z0-9]+( )*\( +# List of directories + +@prefixlist = ("isc", "isccfg","dns", "isccc", "libres"); +@prefixlist = ("isccc"); +@iscdirlist = ("isc/include/isc","isc/win32/include/isc"); +@iscprefixlist = ("isc", "isc", "cfg"); + +@isccfgdirlist = ("isccfg/include/isccfg"); +@isccfgprefixlist = ("cfg"); + +@iscccdirlist = ("isccc/include/isccc"); +@iscccprefixlist = ("isccc"); + +@dnsdirlist = ("dns/include/dns","dns/sec/dst/include/dst"); +@dnsprefixlist = ("dns", "dst"); + +@lwresdirlist = ("lwres/include/lwres"); +@lwresprefixlist = ("lwres"); + +# Run the changes for each directory in the directory list + +$ind = 0; +createoutfile($iscprefixlist[0]); +foreach $dir (@iscdirlist) { + createdeffile($dir, $iscprefixlist[$ind]); + $ind++; +} +close OUTDEFFILE; + +$ind = 0; +createoutfile($isccfgprefixlist[0]); +foreach $dir (@isccfgdirlist) { + createdeffile($dir, $isccfgprefixlist[$ind]); + $ind++; +} +close OUTDEFFILE; + +$ind = 0; +createoutfile($dnsprefixlist[0]); +foreach $dir (@dnsdirlist) { + createdeffile($dir, $dnsprefixlist[$ind]); + $ind++; +} +close OUTDEFFILE; + +$ind = 0; +createoutfile($iscccprefixlist[0]); +foreach $dir (@iscccdirlist) { + createdeffile($dir, $iscccprefixlist[$ind]); + $ind++; +} +close OUTDEFFILE; + +$ind = 0; +createoutfile($lwresprefixlist[0]); +foreach $dir (@lwresdirlist) { + createdeffile($dir, $lwresprefixlist[$ind]); + $ind++; +} +close OUTDEFFILE; + +exit; + +# +# Subroutines +# +sub createdeffile { + $xdir = $_[0]; + + # + # Get the List of files in the directory to be processed. + # + #^(([_a-z0-9])*( ))*prefix_[_a-z]+_[a-z]+( )*\( + $prefix = $_[1]; + $pattern = "\^\(\(\[\_a\-z0\-9\]\)\*\( \)\)\*\(\\*\( \)\+\)\*$prefix"; + $pattern = "$pattern\_\[\_a\-z0\-9\]\+_\[a\-z0\-9\]\+\( \)\*\\\("; + + opendir(DIR,$xdir) || die "No Directory: $!"; + @files = grep(/\.h$/i, readdir(DIR)); + closedir(DIR); + + foreach $filename (sort @files) { + # + # Open the file and locate the pattern. + # + open (HFILE, "$xdir/$filename") || + die "Can't open file $filename : $!"; + + while () { + if(/$pattern/) { + $func = $&; + chop($func); + $space = rindex($func, " ") + 1; + if($space >= 0) { + # strip out return values + $func = substr($func, $space, 100); + } + print OUTDEFFILE "$func\n"; + } + } + # Set up the Patterns + close(HFILE); + } +} + +# This is the routine that applies the changes + +# output the result to the platform specific directory. +sub createoutfile { + $outfile = "lib$_[0].def"; + + open (OUTDEFFILE, ">$outfile") + || die "Can't open output file $outfile: $!"; + print OUTDEFFILE "LIBRARY lib$_[0]\n"; + print OUTDEFFILE "\n"; + print OUTDEFFILE "; Exported Functions\n"; + print OUTDEFFILE "EXPORTS\n"; + print OUTDEFFILE "\n"; +} diff --git a/win32utils/makeversion.pl b/win32utils/makeversion.pl new file mode 100644 index 0000000..70e05b2 --- /dev/null +++ b/win32utils/makeversion.pl @@ -0,0 +1,125 @@ +#!/usr/bin/perl +# +# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2001 Internet Software Consortium. +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# $Id: makeversion.pl,v 1.8 2007/06/19 23:47:24 tbox Exp $ + +# This script takes the version information from the version file located +# at the root of the source tree and the api files in each library directory +# and writes the resulting information into a version.h file that the build +# process uses to build the executable code. +# This program was written by PDM. danny.mayer@nominum.com 1-Jul-2001. + +# List of directories with version files +@dirlist = ("isc","dns","isccc","isccfg","lwres","bind9"); +$LibMacros{"isc"} = "LIBISC_EXPORTS"; +$LibMacros{"dns"} = "LIBDNS_EXPORTS"; +$LibMacros{"isccc"} = "LIBISCCC_EXPORTS"; +$LibMacros{"isccfg"} = "LIBISCCFG_EXPORTS"; +$LibMacros{"lwres"} = "LIBLWRES_EXPORTS"; +$LibMacros{"bind9"} = "LIBBIND9_EXPORTS"; + + +@VersionNames = ("LIBINTERFACE", "LIBREVISION", "LIBAGE"); +$versionfile = "versions.h"; +$versionpath = "../$versionfile"; + +# +# First get the version information +# +open (VERSIONFILE, "../version"); +while () { + chomp; + ($data) = split(/\#/); + if($data) { + ($name, $value) = split(/=/,$data); + ($name) = split(/\s+/, $name); + ($value) = split(/\s+/, $value); + $Versions{$name} = $value; + } +} +close(VERSIONFILE); + +# Now set up the output version file + +$ThisDate = scalar localtime(); +open (OUTVERSIONFILE, ">$versionpath") || + die "Can't open output file $versionpath: $!"; + +#Standard Header + +print OUTVERSIONFILE '/* + * Copyright (C) 2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +'; + +print OUTVERSIONFILE "/*\n"; +print OUTVERSIONFILE " * $versionfile."; +print OUTVERSIONFILE " Generated automatically by makeversion.pl.\n"; +print OUTVERSIONFILE " * Date generated: $ThisDate\n"; +print OUTVERSIONFILE " */\n\n"; + +print OUTVERSIONFILE ' +#ifndef VERSIONS_H +#define VERSIONS_H 1 + +'; + +$Version = "$Versions{'MAJORVER'}.$Versions{'MINORVER'}.$Versions{'PATCHVER'}"; +$Version = "$Version$Versions{'RELEASETYPE'}$Versions{'RELEASEVER'}"; +print "BIND Version: $Version\n"; + +print OUTVERSIONFILE "#define VERSION \"$Version\"\n\n"; + +foreach $dir (@dirlist) { + $apifile = "../lib/$dir/api"; + open (APIVERSION, $apifile); + while () { + chomp; + ($data) = split(/\#/); + if ($data) { + ($name, $value) = split(/=/, $data); + $name =~ s/\s+//; + $value =~ s/\s+//; + $ApiVersions{$name} = $value; + } + } + + print OUTVERSIONFILE "\n#ifdef $LibMacros{$dir}\n"; + foreach $name (@VersionNames) { + print OUTVERSIONFILE "#define $name\t$ApiVersions{$name}\n"; + } + print OUTVERSIONFILE "#endif\n\n"; +} + +print OUTVERSIONFILE "#endif /* VERSIONS_H */\n"; +close OUTVERSIONFILE; + + diff --git a/win32utils/readme1st.txt b/win32utils/readme1st.txt new file mode 100644 index 0000000..a56e729 --- /dev/null +++ b/win32utils/readme1st.txt @@ -0,0 +1,159 @@ +Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") +Copyright (C) 2001, 2003 Internet Software Consortium. +See COPYRIGHT in the source root or http://isc.org/copyright.html for terms. + +$Id: readme1st.txt,v 1.18.372.2 2008/12/14 21:33:07 tbox Exp $ + + Release of BIND 9.5 for Window 2000/XP/2003 + +This is a release of BIND 9.5 for Window 2000/XP/2003. +Only IPv4 stacks are supported on the box running this version of BIND. +IPv6 stacks will be supported in a future release. + + Important Kit Installation Information + +As of release 9.3.0, BINDInstall requires that you install +it under an account with restricted privileges. The installer +will prompt you for an account name, the default is "named", and +a password for that account. It will also check for the existence +of that account. If it does not exist is will create it with only +the privileges required to run BIND. If the account does exist it +will check that it has only the one privilege required: +"Log on as a service". If it has too many privileges it will prompt +you if you want to continue. + +With BIND running under an account name it is necessary for all +files and directories that BIND uses to have permissions set up +for the named account if the files are on an NTFS disk. BIND requires +that the account have read and write access to the directory for +the pid file, any files that are maintained either for slave zones +or for master zones supporting dynamic updates. The account will +also need read access to the named.conf and any other file that +it needs to read. + +It is important that on Windows the directory directive is used in +the options section to tell BIND where to find the files used in +named.conf (default %WINDOWS%\system32\dns\etc\named.conf). + +e.g. + options { + directory "C:\WINDOWS\system32\dns\etc"; + }; + +If you have previously installed BIND 8 or BIND 4 on the system that +you wish to install this kit, you MUST use the BIND 8 or BIND 4 installer +to uninstall the previous kit. For BIND 8.2.x, you can use the +BINDInstall that comes with the BIND 8 kit to uninstall it. The BIND 9 +installer will NOT uninstall the BIND 8 binaries. That will be fixed +in a future release. + +Unpack the kit into any convenient directory and run the BINDInstall +program. This will install the named and associated programs into +the correct directories and set up the required registry keys. + +Messages are logged to the Application log in the EventViewer. + + Controlling BIND + +Windows NT/2000 uses the same rndc program as is used on Unix +systems. The rndc.conf file must be configured for your system in +order to work. You will need to generate a key for this. To do this +use the rndc-confgen program. The program will be installed in the +same directory as named: dns/bin/. From the DOS prompt, use the +command this way: + +rndc-confgen -a + +which will create a rndc.key file in the dns/etc directory. This will +allow you to run rndc without an explicit rndc.conf file or key and +control entry in named.conf file. See section 3.4.1.2 of the ARM for +details of this. An rndc.conf can also be generated by running: + +rndc-confgen > rndc.conf + +which will create the rndc.conf file in the current directory, but not +copy it to the dns/etc directory where it needs to reside. If you create +rndc.conf this way you will need to copy the same key statement into +named.conf. + +The additions look like the following: + +key "rndc-key" { algorithm hmac-md5; secret "xxxxxxxxx=="; }; + +controls { + inet 127.0.0.1 port 953 allow { localhost; } keys { "rndc-key"; }; +}; + +Note that the value of the secret must come from the key generated +above for rndc and must be the same key value for both. Details of +this may be found in section 3.4.1.2 of the ARM. If you have rndc +on a Unix box you can use it to control BIND on the NT/W2K box as +well as using the Windows version of rndc to control a BIND 9 +daemon on a Unix box. However you must have key statements valid for +the servers you wish to control, specifically the IP address and key +in both named.conf and rndc.conf. Again see section 3.4.1.2 of the +ARM for details. + +In order to you rndc from a different system it is important to +ensure that the clocks are synchronized. The clocks must be kept +within 5 minutes of each other or the rndc commands will fail +authentication. Use NTP or other time synchronization software +to keep your clocks accurate. NTP can be found at +http://www.ntp.org/. + +In addition BIND is installed as a win32 system service, can be +started and stopped in the same way as any other service and +automatically starts whenever the system is booted. Signals are +not supported and are in fact ignored. + +Note: Unlike most Windows applications, named does not, change its +working directory when started as a service. If you wish to use +relative files in named.conf you will need to specify a working +directory using the directory directive options. + + Documentation + +This kit includes Documentation in HTML format. The documentation is not +copied during the installation process so you should move it to any convenient +location for later reference. Of particular importance is the BIND 9 +Administrator's Reference Manual (Bv9ARM*.html) which provides detailed +information on BIND 9. In addition, there are HTML pages for each of the +BIND 9 applications. + + DNS Tools + +The following tools have been built for Windows NT: dig, nslookup, +host, nsupdate, rndc, rndc-confgen, named-checkconf, named-checkzone, +dnssec-keygen, dnssec-signzone, dnssec-dsfromkey and dnssec-keyfromlabel. +The tools will NOT run on Win9x, only WinNT and Win2000. The latter +tools are for use with DNSSEC. All tools are installed in the +dns/bin directory. + +IMPORTANT NOTE ON USING THE TOOLS: + +It is no longer necessary to create a resolv.conf file on Windows as +the tools will look in the registry for the required nameserver +information. However if you wish to create a resolv.conf file as +follows it will use it in preference to the registry nameserver +entries. + +To create a resolv.conf you need to place it in the System32\Drivers\etc +directory and it needs to contain a list of nameserver addresses to +use to find the nameserver authoritative for the zone. The format of +this file is: + +nameserver 1.2.3.4 +nameserver 5.6.7.8 + +Replace the IP addresses with your real addresses. 127.0.0.1 is a valid +address if you are running a nameserver on the localhost. + + Problems + +Please report all problems to bind9-bugs@isc.org and not to me. All +other questions should go to the bind-users@isc.org mailing list or the +comp.protocol.dns.bind news group. + + Danny Mayer + mayer@ntp.isc.org + diff --git a/win32utils/updateopenssl.pl b/win32utils/updateopenssl.pl new file mode 100644 index 0000000..6376a74 --- /dev/null +++ b/win32utils/updateopenssl.pl @@ -0,0 +1,106 @@ +#!/usr/bin/perl +# +# Copyright (C) 2006, 2007 Internet Systems Consortium, Inc. ("ISC") +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# $Id: updateopenssl.pl,v 1.8 2007/08/06 04:42:38 marka Exp $ + +# updateopenssl.pl +# This script locates the latest version of OpenSSL in the grandparent +# directory and updates the build scripts to use that version. +# +# Path and directory +$path = "..\\..\\"; + +# List of files that need to be updated with the actual version of the +# openssl directory +@filelist = ("BuildOpenSSL.bat", + "../lib/dns/win32/libdns.mak", + "../lib/dns/win32/libdns.dsp"); + +# Locate the openssl directory +$substr = getdirectory(); +if ($substr eq 0) { + print "No directory found\n"; +} +else { + print "Found $substr directory\n"; +} +#Update the list of files +if ($substr ne 0) { + $ind = 0; + foreach $file (@filelist) { + print "Updating file $file\n"; + updatefile($file, $substr); + $ind++; + } +} + +# Function to find the +sub getdirectory { + my(@namelist); + my($file, $name); + my($cnt); + opendir(DIR,$path) || die "No Directory: $!"; + @namelist = grep (/^openssl-[0-9]+\.[0-9]+\.[0-9]+[a-z]$/i, readdir(DIR)); + closedir(DIR); + + # Make sure we have something + if (scalar(@namelist) == 0) { + return (0); + } + # Now see if we have a directory or just a file. + # Make sure we are case insensitive + foreach $file (sort {uc($a) cmp uc($b)} @namelist) { + if (-d $path.$file) { + $name = $file; + } + } + + # If we have one use it otherwise report the error + # Note that we are only interested in the last one + # since the sort should have taken care of getting + # the latest + if (defined($name)) { + return ($name); + } + else { + return (0); + } +} + +# function to replace the openssl directory name with the latest one +sub updatefile { + my($filename, $substr, $line); + my(@Lines); + + $filename = $_[0]; + $substr = $_[1]; + + open (RFILE, $filename) || die "Can't open file $filename: $!"; + @Lines = ; + close (RFILE); + + # Replace the string + foreach $line (@Lines) { + $line =~ s/openssl-[0-9]+\.[0-9]+\.[0-9]+[a-z]/$substr/gi; + } + #update the file + open (RFILE, ">$filename") || die "Can't open file $filename: $!"; + foreach $line (@Lines) { + print RFILE $line; + } + close(RFILE); +} + diff --git a/win32utils/win32-build.txt b/win32utils/win32-build.txt new file mode 100644 index 0000000..97a2038 --- /dev/null +++ b/win32utils/win32-build.txt @@ -0,0 +1,146 @@ +Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC") +Copyright (C) 2001, 2002 Internet Software Consortium. +See COPYRIGHT in the source root or http://isc.org/copyright.html for terms. + +$Id: win32-build.txt,v 1.11.692.2 2008/12/14 21:33:07 tbox Exp $ + + BIND 9.4 for Win32 Source Build Instructions. 28-May-2005 + +Building BIND 9.4 on Windows NT/2000 has the following prerequisites: + +1) You need to install Perl for Windows NT/2000. ActiveState +(http://www.activestate.com/) is the one most people install and use; +2) OpenSSL (http://www.openssl.org) needs to be downloaded and built +on the system on which you are building BIND. +3) If you want to build using Visual C++ 6.0, you'll need some extra +files that are to be found in the Platform SDK (which you will need +to install), namely: + +iphlpapi.h +iptypes.h +ipexport.h +iphlpapi.lib + +You'll also need an updated Iprtrmib.h - using the VC++6.0 one will +get you some compilation errors. You can just overwrite the old one if +you're not using it for any purposes, and maybe keep a backup of it. + +You can copy the header files under VC98\INCLUDE and the library file +under VC98\LIB. I think you can also put them in a separate directory +and add it to the include search list, but I don't know if that can be +made persistent. + +For building on VC++ 7.0 no extra files are required. + +The instructions assume a Visual C++ 6.0 compiler with Visual Studio and +Visual Studio Service Pack 3 or later. It may build and work with earlier +versions but it has not been tested. The binaries may be built and run on +any of the following platforms: NT 4.0 Workstation (SP3 or later), NT 4.0 +Server (SP3 or later), Windows 2000 Professional (SP1 or later), +Windows 2000 Server or any kind (SP1 or later), Windows XP, Windows 2003 +Server. It will NOT build or run on Windows 95, Windows 98, etc. platforms. + +Step 1: Download and Build OpenSSL + +Download and untar the OpenSSL sources from http://www.openssl.org/. +if you have place the BIND sources in /BIND9 you should place the +OpenSSL sources in /openssl-0.9.7c or the appropriate directory name +created when you untarred the openssl tarball. + +Note: Building OpenSSL also requires that you install Perl as it uses +it during its build process. Follow the instructions for NT given +in the INSTALL.W32 file to build the kit. This will produce libeay32.lib +and libeay32.dll in the out32dll subdirectory. + + +Step 2 Building BIND + +You must build openssl first. + +From the command prompt cd to the win32utils under the BIND root. +Execute the BuildAll.bat file. This will do the following: +1) copy config.h.win32 to config.h in the root. +2) create the versions.h file in the root. +3) Build the gen application in the lib/dns directory. +4) Run the gen application and build the required lib/dns header + files. +5) Create the Build/Release subdirectory under the root of the BIND + source tree which will hold the binaries being built. +6) Build the libraries, named, application tools like dig, rndc + dnssec tools, installer, checkconf and checkzones programs, + BIND 9 Installer. +7) Copies the release notes and the OpenSSL DLL to the BUILD/Release + directory. +8) Copies the BIND 9 ARM HTML files and the application HTML files + to the Build\Release area. + +If you wish to use Visual Studio for building, you can just run the +BuildSetup.bat file which will create all the necessary files and you +can then use the BINDBuild.dsw to open the workspace for all of the +libraries and applications. These files reside in the same win32utils +directory as this file. + +The following files are built: + +libbind9.dll +libisc.dll +libdns.dll +libisccc.dll +libisccfg.dll +liblwres.dll +named.exe +bindevt.dll +BINDInstall.exe + +rndc.exe +dig.exe +host.exe +nslookup.exe +nsupdate.exe + +named-checkconf.exe +named-checkzone.exe + +dnssec-keygen.exe +dnssec-signzone.exe +dnssec-dsfromkey.exe +dnssec-keyfromlabel.exe + +If you are building with VS.NET (aka VC++ V7) you will need additional +system DLL's: + +mfc71.dll +msvcr71.dll + +or + +mfc70.dll +msvcr70.dll + +depending on your version of the compiler. + +You should end up with 18-20 binaries in the bind9/Build/Release +directory. The Install instructions Readme1st.txt from win32utils and +libeay32.dll from the openssl/out32dll/ directory are also copied into +the Build area. In addition you should have 22 HTML files and a number +of text files. + +The set of files in the directory bind9/Build/Release form the +installation kit which can then be zipped and distributed to any +suitable Windows NT 4.0 or Windows 2000 platform. + +Installation is accomplished by running the BINDInstall program. All DLL's +are copied to the system32 area and all applications (including BINDInstall +which may be necessary for uninstalling BIND 9) to the dns/bin directory. +If BIND 8 has previously been installed on the system it must be uninstalled +first by running it's own BINDInstall program. The BIND 9 installer does +not yet do this. + +All bugs found, whether in the process of building the application or +running BIND or the tools should be reported to the bind9 bugs email +account at bind9-bugs@isc.org. + + Danny Mayer + mayer@ntp.isc.org + + -- cgit