diff options
author | Internet Software Consortium, Inc <@isc.org> | 2007-09-07 14:13:49 -0600 |
---|---|---|
committer | LaMont Jones <lamont@debian.org> | 2007-09-07 14:13:49 -0600 |
commit | 145708f190bab1a282c04698db8f36f614ae7ac0 (patch) | |
tree | c56976d39ff8a40fff16ad71cd4620eabfe807e4 /win32utils | |
parent | 34691e625b8862a666f95b0ee39c10156ae6b9c6 (diff) | |
download | bind9-145708f190bab1a282c04698db8f36f614ae7ac0.tar.gz |
9.2.0b2
Diffstat (limited to 'win32utils')
-rw-r--r-- | win32utils/BINDBuild.dsw | 356 | ||||
-rw-r--r-- | win32utils/BuildAll.bat | 121 | ||||
-rw-r--r-- | win32utils/BuildSetup.bat | 43 | ||||
-rw-r--r-- | win32utils/dnsheadergen.bat | 26 | ||||
-rw-r--r-- | win32utils/makedefs.pl | 149 | ||||
-rw-r--r-- | win32utils/makeversion.pl | 123 | ||||
-rw-r--r-- | win32utils/readme1st.txt | 80 | ||||
-rw-r--r-- | win32utils/win32-build.txt | 103 |
8 files changed, 1001 insertions, 0 deletions
diff --git a/win32utils/BINDBuild.dsw b/win32utils/BINDBuild.dsw new file mode 100644 index 00000000..0cc1e0b3 --- /dev/null +++ b/win32utils/BINDBuild.dsw @@ -0,0 +1,356 @@ +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 +}}} + +############################################################################### + +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 +}}} + +############################################################################### + +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 +}}} + +############################################################################### + +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: "makekeyset"=..\bin\dnssec\win32\makekeyset.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 +}}} + +############################################################################### + +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 +}}} + +############################################################################### + +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 +}}} + +############################################################################### + +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 +}}} + +############################################################################### + +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 +}}} + +############################################################################### + +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 +}}} + +############################################################################### + +Project: "rndc"=..\bin\rndc\win32\rndc.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 +}}} + +############################################################################### + +Project: "rndcconfgen"=..\bin\rndc\win32\confgen.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "signkey"=..\bin\dnssec\win32\signkey.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 +}}} + +############################################################################### + +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 +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/win32utils/BuildAll.bat b/win32utils/BuildAll.bat new file mode 100644 index 00000000..d1aa372b --- /dev/null +++ b/win32utils/BuildAll.bat @@ -0,0 +1,121 @@ +echo off +rem +rem Copyright (C) 2001 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 INTERNET SOFTWARE CONSORTIUM +rem DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +rem IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +rem INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, +rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +rem FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +rem NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +rem WITH THE USE OR 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.6b. 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 + +call BuildSetup.bat + +echo Build all of the Library files + +cd ..\lib + +cd isc\win32 +nmake /nologo -f libisc.mak CFG="libisc - Win32 Release" +cd ..\.. + +cd dns\win32 +nmake /nologo -f libdns.mak CFG="libdns - Win32 Release" +cd ..\.. + +cd isccfg\win32 +nmake /nologo -f libisccfg.mak CFG="libisccfg - Win32 Release" +cd ..\.. + +cd isccc\win32 +nmake /nologo -f libisccc.mak CFG="libisccc - Win32 Release" +cd ..\.. + +cd lwres\win32 +nmake /nologo -f liblwres.mak CFG="liblwres - Win32 Release" +cd ..\.. + +rem This is the DLL required for the event Viewer + +cd win32\bindevt +nmake /nologo -f bindevt.mak CFG="bindevt - Win32 Release" +cd ..\.. + +cd .. + +echo Now build the apps + +cd bin + +cd named\win32 +nmake /nologo -f named.mak CFG="named - Win32 Release" +cd ..\.. + +cd rndc\win32 +nmake /nologo -f rndc.mak CFG="rndc - Win32 Release" +nmake /nologo -f confgen.mak CFG="rndcconfgen - Win32 Release" +cd ..\.. + +cd dig\win32 +nmake /nologo -f dig.mak CFG="dig - Win32 Release" +nmake /nologo /nologo -f host.mak CFG="host - Win32 Release" +nmake /nologo -f nslookup.mak CFG="nslookup - Win32 Release" +cd ..\.. + +cd nsupdate\win32 +nmake /nologo -f nsupdate.mak CFG="nsupdate - Win32 Release" +cd ..\.. + +cd check\win32 +nmake /nologo -f namedcheckconf.mak CFG="namedcheckconf - Win32 Release" +nmake /nologo -f namedcheckzone.mak CFG="namedcheckzone - Win32 Release" +cd ..\.. + +cd dnssec\win32 +nmake /nologo -f keygen.mak CFG="keygen - Win32 Release" +nmake /nologo -f makekeyset.mak CFG="makekeyset - Win32 Release" +nmake /nologo -f signkey.mak CFG="signkey - Win32 Release" +nmake /nologo -f signzone.mak CFG="signzone - Win32 Release" +cd ..\.. + +rem This is the BIND 9 Installer + +cd win32\BINDInstall +nmake /nologo -f BINDInstall.mak CFG="BINDInstall - Win32 Release" +cd ..\.. + +cd .. + +echo Copying the OpenSSL DLL and the Installation Notes. +rem Copy the OpenSSL DLL to the Build Directory + +copy ..\openssl-0.9.6b\out32dll\libeay32.dll Build\Release\ + +copy win32utils\readme1st.txt Build\Release\ + +cd win32utils + +echo Done. + +rem exit here. diff --git a/win32utils/BuildSetup.bat b/win32utils/BuildSetup.bat new file mode 100644 index 00000000..d8a40837 --- /dev/null +++ b/win32utils/BuildSetup.bat @@ -0,0 +1,43 @@ +echo off +rem +rem Copyright (C) 2000, 2001 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 INTERNET SOFTWARE CONSORTIUM +rem DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +rem IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +rem INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, +rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +rem FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +rem NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +rem WITH THE USE OR 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 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 + +echo Ensure that the OpenSSL sources are at the same level in +echo the directory tree and is named openssl-0.9.6b or libdns +echo will not build. + +rem Make sure that the Build directories are there. + +if NOT Exist ..\Build mkdir ..\Build +if NOT Exist ..\Build\Release mkdir ..\Build\Release + +rem Done diff --git a/win32utils/dnsheadergen.bat b/win32utils/dnsheadergen.bat new file mode 100644 index 00000000..25b18708 --- /dev/null +++ b/win32utils/dnsheadergen.bat @@ -0,0 +1,26 @@ +echo off +rem +rem Copyright (C) 2000, 2001 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 INTERNET SOFTWARE CONSORTIUM +rem DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +rem IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +rem INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, +rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +rem FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +rem NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +rem WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +cd ..\lib\dns +cd win32 +nmake /nologo /f gen.mak CFG="gen - Win32 Release" +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/makedefs.pl b/win32utils/makedefs.pl new file mode 100644 index 00000000..723e8b90 --- /dev/null +++ b/win32utils/makedefs.pl @@ -0,0 +1,149 @@ +#!/usr/bin/perl +# +# 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. + +# $Id: makedefs.pl,v 1.5 2001/07/31 00:03:19 gson 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 (<HFILE>) { + 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 00000000..7be62a2b --- /dev/null +++ b/win32utils/makeversion.pl @@ -0,0 +1,123 @@ +#!/usr/bin/perl +# +# 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. + +# $Id: makeversion.pl,v 1.4 2001/07/27 17:25:23 gson 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"); +$LibMacros{"isc"} = "LIBISC_EXPORTS"; +$LibMacros{"dns"} = "LIBDNS_EXPORTS"; +$LibMacros{"isccc"} = "LIBISCCC_EXPORTS"; +$LibMacros{"isccfg"} = "LIBISCCFG_EXPORTS"; +$LibMacros{"lwres"} = "LIBLWRES_EXPORTS"; + +@VersionNames = ("LIBINTERFACE", "LIBREVISION", "LIBAGE"); +$versionfile = "versions.h"; +$versionpath = "../$versionfile"; + +# +# First get the version information +# +open (VERSIONFILE, "../version"); +while (<VERSIONFILE>) { + 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 (<APIVERSION>) { + 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 00000000..3f0129b1 --- /dev/null +++ b/win32utils/readme1st.txt @@ -0,0 +1,80 @@ +Copyright (C) 2001 Internet Software Consortium. +See COPYRIGHT in the source root or http://isc.org/copyright.html for terms. + +$Id: readme1st.txt,v 1.5 2001/07/31 00:03:20 gson Exp $ + + Beta Release of BIND 9.2.0 for Window NT/2000 + +Date: 20-Jul-2001. + + This is a Beta Release of BIND 9.2.0 for Windows NT/2000. As such +it should not be installed on a production system or anywhere that is +considered critical for Internet access. The release has not been +thoroughly tested. While IPv6 addresses should work, there is no +support yet for a BIND server using an IPv6 stack. Only IPv4 stacks are +supported on the box running this version of BIND. IPv6 stacks will +be supported in a future release. + + Kit Installation Information + +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. + + 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/. Use the command this way: + +rndc-confgen > rndc.conf + +An rndc.conf will be generated in the current directory but not copied to +the dns/etc directory where it needs to reside. + +In addition the named.conf file will need to be modified in order +to allow rndc to control named. The additions look like the following: + +key rndckey { algorithm hmac-md5; secret "xxxxxxxxx=="; }; + +controls { + inet 127.0.0.1 allow { localhost; } keys { rndckey; }; +}; + +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. 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. + +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 at whenever the system is booted. + + DNS Tools + +I have built versions of the following tools for Windows NT: dig, +nslookup, host, nsupdate, named-checkconf, named-checkzone, dnssec-keygen, +dnssec-makekeyset, dnssec-signkey, dnssec-signzone. 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. + + 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 and +news group. + + Danny Mayer + danny.mayer@nominum.com + diff --git a/win32utils/win32-build.txt b/win32utils/win32-build.txt new file mode 100644 index 00000000..62426019 --- /dev/null +++ b/win32utils/win32-build.txt @@ -0,0 +1,103 @@ + BIND 9.2.0 Beta for Win32 Source Build Instructions. 12-Jul-2001 + +Building BIND 9.2 on Windows NT/2000 has two 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. + +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). It should run on the +to-be-released Windows XP platforms of various flavors. 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.6b. If you place the sources anywhere +else you will have to edit the libdns.dsp or libdns.mak files to point +the include directories and the link library location to the correct +places as well as move the DLL to the BUILD/Release subdirectory. + +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 + +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. + +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: + +lib/isc +lib/dns +lib/isccc +lib/isccfg +lib/lwres +bin/named +lib/win32/bindevt +bin/win32/BINDInstall + +bin/rndc +bin/dig (dig.dsw) +bin/dig (host.dsw) +bin/dig (nslookup.dsw) +bin/nsupdate + +bin/check/named-checkconf +bin/check/named-checkzone + +bin/dnssec (keygen.dsw) +bin/dnssec (makekeyset.dsw) +bin/dnssec (signkey.dsw) +bin/dnssec (signzone.dsw) + +You should end up with 20 binaries in the bind9/Build/Release +directory. Copy the Install instructions Readme1st.txt from win32utils +and libeay32.dll from the openssl/out32dll/ directory. + +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 + danny.mayer@nominum.com + + |