This commit was manufactured by cvs2git to create branch 'rt19943a'.

This commit is contained in:
cvs2git
2009-09-23 22:15:25 +00:00
20 changed files with 0 additions and 26325 deletions

8626
CHANGES

File diff suppressed because it is too large Load Diff

View File

@@ -1,107 +0,0 @@
# Microsoft Developer Studio Project File - Name="dig" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=dig - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "dig.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "dig.mak" CFG="dig - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "dig - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "dig - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "dig - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# 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 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 /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/dighost.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dig.exe"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /u /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# 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 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 /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/dighost.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "dig - Win32 Release"
# Name "dig - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\dig.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=..\include\dig\dig.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -1,425 +0,0 @@
# Microsoft Developer Studio Generated NMAKE File, Based on dig.dsp
!IF "$(CFG)" == ""
CFG=dig - Win32 Debug
!MESSAGE No configuration specified. Defaulting to dig - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "dig - Win32 Release" && "$(CFG)" != "dig - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "dig.mak" CFG="dig - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "dig - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "dig - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "dig - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "dig - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\dig.exe"
!ELSE
ALL : "liblwres - Win32 Release" "libbind9 - Win32 Release" "libisc - Win32 Release" "libdns - Win32 Release" "..\..\..\Build\Release\dig.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 ReleaseCLEAN" "libisc - Win32 ReleaseCLEAN" "libbind9 - Win32 ReleaseCLEAN" "liblwres - Win32 ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dig.obj"
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dig.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dig.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dig.pdb" /machine:I386 /out:"../../../Build/Release/dig.exe"
LINK32_OBJS= \
"$(INTDIR)\dig.obj" \
"$(INTDIR)\dighost.obj" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\lib\bind9\win32\Release\libbind9.lib" \
"..\..\..\lib\lwres\win32\Release\liblwres.lib"
"..\..\..\Build\Release\dig.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\dig.exe" "$(OUTDIR)\dig.bsc"
!ELSE
ALL : "liblwres - Win32 Debug" "libbind9 - Win32 Debug" "libisc - Win32 Debug" "libdns - Win32 Debug" "..\..\..\Build\Debug\dig.exe" "$(OUTDIR)\dig.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 DebugCLEAN" "libisc - Win32 DebugCLEAN" "libbind9 - Win32 DebugCLEAN" "liblwres - Win32 DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dig.obj"
-@erase "$(INTDIR)\dig.sbr"
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\dig.bsc"
-@erase "$(OUTDIR)\dig.pdb"
-@erase "..\..\..\Build\Debug\dig.exe"
-@erase "..\..\..\Build\Debug\dig.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dig.bsc"
BSC32_SBRS= \
"$(INTDIR)\dig.sbr" \
"$(INTDIR)\dighost.sbr"
"$(OUTDIR)\dig.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dig.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dig.obj" \
"$(INTDIR)\dighost.obj" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
"..\..\..\lib\bind9\win32\Debug\libbind9.lib" \
"..\..\..\lib\lwres\win32\Debug\liblwres.lib"
"..\..\..\Build\Debug\dig.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("dig.dep")
!INCLUDE "dig.dep"
!ELSE
!MESSAGE Warning: cannot find "dig.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release" || "$(CFG)" == "dig - Win32 Debug"
SOURCE=..\dig.c
!IF "$(CFG)" == "dig - Win32 Release"
"$(INTDIR)\dig.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"$(INTDIR)\dig.obj" "$(INTDIR)\dig.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\dighost.c
!IF "$(CFG)" == "dig - Win32 Release"
"$(INTDIR)\dighost.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"$(INTDIR)\dighost.obj" "$(INTDIR)\dighost.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release"
"libdns - Win32 Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"libdns - Win32 Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release"
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"libisc - Win32 Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release"
"libbind9 - Win32 Release" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"libbind9 - Win32 Debug" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 DebugCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release"
"liblwres - Win32 Release" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"liblwres - Win32 Debug" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 DebugCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -1,113 +0,0 @@
# Microsoft Developer Studio Project File - Name="dighost" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static-Link Library" 0x0104
CFG=dighost - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "dighost.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "dighost.mak" CFG="dighost - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "dighost - Win32 Release" (based on "Win32 (x86) Static-Link Library")
!MESSAGE "dighost - Win32 Debug" (based on "Win32 (x86) Static-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "dighost - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fddighost
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /out:"Release/dighost.lib"
!ELSEIF "$(CFG)" == "dighost - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fddighost
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /debug out:"Debug/dighost.lib"
!ENDIF
# Begin Target
# Name "dighost - Win32 Release"
# Name "dighost - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# Begin Group "Main Dns Lib"
# PROP Default_Filter "c"
# Begin Source File
SOURCE=..\dighost.c
# End Source File
# End Group
# End Target
# End Project

View File

@@ -1,103 +0,0 @@
# Microsoft Developer Studio Project File - Name="host" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=host - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "host.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "host.mak" CFG="host - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "host - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "host - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "host - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# 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 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 /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/dighost.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/host.exe"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /u /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# 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 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 /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/dighost.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "host - Win32 Release"
# Name "host - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\host.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -1,425 +0,0 @@
# Microsoft Developer Studio Generated NMAKE File, Based on host.dsp
!IF "$(CFG)" == ""
CFG=host - Win32 Debug
!MESSAGE No configuration specified. Defaulting to host - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "host - Win32 Release" && "$(CFG)" != "host - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "host.mak" CFG="host - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "host - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "host - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "host - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "host - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\host.exe"
!ELSE
ALL : "liblwres - Win32 Release" "libbind9 - Win32 Release" "libisc - Win32 Release" "libdns - Win32 Release" "..\..\..\Build\Release\host.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 ReleaseCLEAN" "libisc - Win32 ReleaseCLEAN" "libbind9 - Win32 ReleaseCLEAN" "liblwres - Win32 ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\host.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\host.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\host.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\host.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\host.pdb" /machine:I386 /out:"../../../Build/Release/host.exe"
LINK32_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\host.obj" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\lib\bind9\win32\Release\libbind9.lib" \
"..\..\..\lib\lwres\win32\Release\liblwres.lib"
"..\..\..\Build\Release\host.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "host - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\host.exe" "$(OUTDIR)\host.bsc"
!ELSE
ALL : "liblwres - Win32 Debug" "libbind9 - Win32 Debug" "libisc - Win32 Debug" "libdns - Win32 Debug" "..\..\..\Build\Debug\host.exe" "$(OUTDIR)\host.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 DebugCLEAN" "libisc - Win32 DebugCLEAN" "libbind9 - Win32 DebugCLEAN" "liblwres - Win32 DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\host.obj"
-@erase "$(INTDIR)\host.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\host.bsc"
-@erase "$(OUTDIR)\host.pdb"
-@erase "..\..\..\Build\Debug\host.exe"
-@erase "..\..\..\Build\Debug\host.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\host.bsc"
BSC32_SBRS= \
"$(INTDIR)\dighost.sbr" \
"$(INTDIR)\host.sbr"
"$(OUTDIR)\host.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\host.pdb" /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\host.obj" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
"..\..\..\lib\bind9\win32\Debug\libbind9.lib" \
"..\..\..\lib\lwres\win32\Debug\liblwres.lib"
"..\..\..\Build\Debug\host.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("host.dep")
!INCLUDE "host.dep"
!ELSE
!MESSAGE Warning: cannot find "host.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "host - Win32 Release" || "$(CFG)" == "host - Win32 Debug"
SOURCE=..\dighost.c
!IF "$(CFG)" == "host - Win32 Release"
"$(INTDIR)\dighost.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"$(INTDIR)\dighost.obj" "$(INTDIR)\dighost.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\host.c
!IF "$(CFG)" == "host - Win32 Release"
"$(INTDIR)\host.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"$(INTDIR)\host.obj" "$(INTDIR)\host.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!IF "$(CFG)" == "host - Win32 Release"
"libdns - Win32 Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"libdns - Win32 Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "host - Win32 Release"
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"libisc - Win32 Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "host - Win32 Release"
"libbind9 - Win32 Release" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"libbind9 - Win32 Debug" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 DebugCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "host - Win32 Release"
"liblwres - Win32 Release" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"liblwres - Win32 Debug" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 DebugCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -1,107 +0,0 @@
# Microsoft Developer Studio Project File - Name="nslookup" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=nslookup - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "nslookup.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "nslookup.mak" CFG="nslookup - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "nslookup - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "nslookup - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "nslookup - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# 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 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 /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/nslookup.exe"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /u /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# 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 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 /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "nslookup - Win32 Release"
# Name "nslookup - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\dighost.c
# End Source File
# Begin Source File
SOURCE=..\nslookup.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -1,425 +0,0 @@
# Microsoft Developer Studio Generated NMAKE File, Based on nslookup.dsp
!IF "$(CFG)" == ""
CFG=nslookup - Win32 Debug
!MESSAGE No configuration specified. Defaulting to nslookup - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "nslookup - Win32 Release" && "$(CFG)" != "nslookup - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "nslookup.mak" CFG="nslookup - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "nslookup - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "nslookup - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "nslookup - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "nslookup - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\nslookup.exe"
!ELSE
ALL : "liblwres - Win32 Release" "libbind9 - Win32 Release" "libisc - Win32 Release" "libdns - Win32 Release" "..\..\..\Build\Release\nslookup.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 ReleaseCLEAN" "libisc - Win32 ReleaseCLEAN" "libbind9 - Win32 ReleaseCLEAN" "liblwres - Win32 ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\nslookup.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\nslookup.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nslookup.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\nslookup.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\nslookup.pdb" /machine:I386 /out:"../../../Build/Release/nslookup.exe"
LINK32_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\nslookup.obj" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\lib\bind9\win32\Release\libbind9.lib" \
"..\..\..\lib\lwres\win32\Release\liblwres.lib"
"..\..\..\Build\Release\nslookup.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\nslookup.exe" "$(OUTDIR)\nslookup.bsc"
!ELSE
ALL : "liblwres - Win32 Debug" "libbind9 - Win32 Debug" "libisc - Win32 Debug" "libdns - Win32 Debug" "..\..\..\Build\Debug\nslookup.exe" "$(OUTDIR)\nslookup.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 DebugCLEAN" "libisc - Win32 DebugCLEAN" "libbind9 - Win32 DebugCLEAN" "liblwres - Win32 DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\nslookup.obj"
-@erase "$(INTDIR)\nslookup.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\nslookup.bsc"
-@erase "$(OUTDIR)\nslookup.pdb"
-@erase "..\..\..\Build\Debug\nslookup.exe"
-@erase "..\..\..\Build\Debug\nslookup.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\nslookup.bsc"
BSC32_SBRS= \
"$(INTDIR)\dighost.sbr" \
"$(INTDIR)\nslookup.sbr"
"$(OUTDIR)\nslookup.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\nslookup.pdb" /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\nslookup.obj" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
"..\..\..\lib\bind9\win32\Debug\libbind9.lib" \
"..\..\..\lib\lwres\win32\Debug\liblwres.lib"
"..\..\..\Build\Debug\nslookup.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("nslookup.dep")
!INCLUDE "nslookup.dep"
!ELSE
!MESSAGE Warning: cannot find "nslookup.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release" || "$(CFG)" == "nslookup - Win32 Debug"
SOURCE=..\dighost.c
!IF "$(CFG)" == "nslookup - Win32 Release"
"$(INTDIR)\dighost.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"$(INTDIR)\dighost.obj" "$(INTDIR)\dighost.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\nslookup.c
!IF "$(CFG)" == "nslookup - Win32 Release"
"$(INTDIR)\nslookup.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"$(INTDIR)\nslookup.obj" "$(INTDIR)\nslookup.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release"
"libdns - Win32 Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"libdns - Win32 Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release"
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"libisc - Win32 Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release"
"libbind9 - Win32 Release" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"libbind9 - Win32 Debug" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 DebugCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release"
"liblwres - Win32 Release" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"liblwres - Win32 Debug" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 DebugCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

File diff suppressed because it is too large Load Diff

View File

@@ -1,643 +0,0 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 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: dnssec-signzone.docbook,v 1.36 2009/09/02 06:29:00 each Exp $ -->
<refentry id="man.dnssec-signzone">
<refentryinfo>
<date>June 05, 2009</date>
</refentryinfo>
<refmeta>
<refentrytitle><application>dnssec-signzone</application></refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<refnamediv>
<refname><application>dnssec-signzone</application></refname>
<refpurpose>DNSSEC zone signing tool</refpurpose>
</refnamediv>
<docinfo>
<copyright>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<year>2009</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refsynopsisdiv>
<cmdsynopsis>
<command>dnssec-signzone</command>
<arg><option>-a</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-d <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-e <replaceable class="parameter">end-time</replaceable></option></arg>
<arg><option>-f <replaceable class="parameter">output-file</replaceable></option></arg>
<arg><option>-g</option></arg>
<arg><option>-h</option></arg>
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-k <replaceable class="parameter">key</replaceable></option></arg>
<arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
<arg><option>-i <replaceable class="parameter">interval</replaceable></option></arg>
<arg><option>-I <replaceable class="parameter">input-format</replaceable></option></arg>
<arg><option>-j <replaceable class="parameter">jitter</replaceable></option></arg>
<arg><option>-N <replaceable class="parameter">soa-serial-format</replaceable></option></arg>
<arg><option>-o <replaceable class="parameter">origin</replaceable></option></arg>
<arg><option>-O <replaceable class="parameter">output-format</replaceable></option></arg>
<arg><option>-p</option></arg>
<arg><option>-P</option></arg>
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
<arg><option>-S</option></arg>
<arg><option>-s <replaceable class="parameter">start-time</replaceable></option></arg>
<arg><option>-T <replaceable class="parameter">ttl</replaceable></option></arg>
<arg><option>-t</option></arg>
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg><option>-z</option></arg>
<arg><option>-3 <replaceable class="parameter">salt</replaceable></option></arg>
<arg><option>-H <replaceable class="parameter">iterations</replaceable></option></arg>
<arg><option>-A</option></arg>
<arg choice="req">zonefile</arg>
<arg rep="repeat">key</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para><command>dnssec-signzone</command>
signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
zone. The security status of delegations from the signed zone
(that is, whether the child zones are secure or not) is
determined by the presence or absence of a
<filename>keyset</filename> file for each child zone.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-a</term>
<listitem>
<para>
Verify all generated signatures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-c <replaceable class="parameter">class</replaceable></term>
<listitem>
<para>
Specifies the DNS class of the zone.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-C</term>
<listitem>
<para>
Compatibility mode: Generate a
<filename>keyset-<replaceable>zonename</replaceable></filename>
file in addition to
<filename>dsset-<replaceable>zonename</replaceable></filename>
when signing a zone, for use by older versions of
<command>dnssec-signzone</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-d <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
Look for <filename>dsset-</filename> or
<filename>keyset-</filename> files in <option>directory</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-g</term>
<listitem>
<para>
Generate DS records for child zones from
<filename>dsset-</filename> or <filename>keyset-</filename>
file. Existing DS records will be removed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-K <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
Key repository: Specify a directory to search for DNSSEC keys.
If not specified, defaults to the current directory.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-k <replaceable class="parameter">key</replaceable></term>
<listitem>
<para>
Treat specified key as a key signing key ignoring any
key flags. This option may be specified multiple times.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-l <replaceable class="parameter">domain</replaceable></term>
<listitem>
<para>
Generate a DLV set in addition to the key (DNSKEY) and DS sets.
The domain is appended to the name of the records.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable class="parameter">start-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated RRSIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
in YYYYMMDDHHMMSS notation; 20000530144500 denotes
14:45:00 UTC on May 30th, 2000. A relative start time is
indicated by +N, which is N seconds from the current time.
If no <option>start-time</option> is specified, the current
time minus 1 hour (to allow for clock skew) is used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-e <replaceable class="parameter">end-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated RRSIG records
expire. As with <option>start-time</option>, an absolute
time is indicated in YYYYMMDDHHMMSS notation. A time relative
to the start time is indicated with +N, which is N seconds from
the start time. A time relative to the current time is
indicated with now+N. If no <option>end-time</option> is
specified, 30 days from the start time is used as a default.
<option>end-time</option> must be later than
<option>start-time</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-f <replaceable class="parameter">output-file</replaceable></term>
<listitem>
<para>
The name of the output file containing the signed zone. The
default is to append <filename>.signed</filename> to
the
input filename.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Prints a short summary of the options and arguments to
<command>dnssec-signzone</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-i <replaceable class="parameter">interval</replaceable></term>
<listitem>
<para>
When a previously-signed zone is passed as input, records
may be resigned. The <option>interval</option> option
specifies the cycle interval as an offset from the current
time (in seconds). If a RRSIG record expires after the
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</para>
<para>
The default cycle interval is one quarter of the difference
between the signature end and start times. So if neither
<option>end-time</option> or <option>start-time</option>
are specified, <command>dnssec-signzone</command>
generates
signatures that are valid for 30 days, with a cycle
interval of 7.5 days. Therefore, if any existing RRSIG records
are due to expire in less than 7.5 days, they would be
replaced.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-I <replaceable class="parameter">input-format</replaceable></term>
<listitem>
<para>
The format of the input zone file.
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command>.
This option is primarily intended to be used for dynamic
signed zones so that the dumped zone file in a non-text
format containing updates can be signed directly.
The use of this option does not make much sense for
non-dynamic zones.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-j <replaceable class="parameter">jitter</replaceable></term>
<listitem>
<para>
When signing a zone with a fixed signature lifetime, all
RRSIG records issued at the time of signing expires
simultaneously. If the zone is incrementally signed, i.e.
a previously-signed zone is passed as input to the signer,
all expired signatures have to be regenerated at about the
same time. The <option>jitter</option> option specifies a
jitter window that will be used to randomize the signature
expire time, thus spreading incremental signature
regeneration over time.
</para>
<para>
Signature lifetime jitter also to some extent benefits
validators and servers by spreading out cache expiration,
i.e. if large numbers of RRSIGs don't expire at the same time
from all caches there will be less congestion than if all
validators need to refetch at mostly the same time.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n <replaceable class="parameter">ncpus</replaceable></term>
<listitem>
<para>
Specifies the number of threads to use. By default, one
thread is started for each detected CPU.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-N <replaceable class="parameter">soa-serial-format</replaceable></term>
<listitem>
<para>
The SOA serial number format of the signed zone.
Possible formats are <command>"keep"</command> (default),
<command>"increment"</command> and
<command>"unixtime"</command>.
</para>
<variablelist>
<varlistentry>
<term><command>"keep"</command></term>
<listitem>
<para>Do not modify the SOA serial number.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>"increment"</command></term>
<listitem>
<para>Increment the SOA serial number using RFC 1982
arithmetics.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>"unixtime"</command></term>
<listitem>
<para>Set the SOA serial number to the number of seconds
since epoch.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>-o <replaceable class="parameter">origin</replaceable></term>
<listitem>
<para>
The zone origin. If not specified, the name of the zone file
is assumed to be the origin.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-O <replaceable class="parameter">output-format</replaceable></term>
<listitem>
<para>
The format of the output file containing the signed zone.
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p</term>
<listitem>
<para>
Use pseudo-random data when signing the zone. This is faster,
but less secure, than using real random data. This option
may be useful when signing large zones or when the entropy
source is limited.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-P</term>
<listitem>
<para>
Disable post sign verification tests.
</para>
<para>
The post sign verification test ensures that for each algorithm
in use there is at least one non revoked self signed KSK key,
that all revoked KSK keys are self signed, and that all records
in the zone are signed by the algorithm.
This option skips these tests.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-r <replaceable class="parameter">randomdev</replaceable></term>
<listitem>
<para>
Specifies the source of randomness. If the operating
system does not provide a <filename>/dev/random</filename>
or equivalent device, the default source of randomness
is keyboard input. <filename>randomdev</filename>
specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
<filename>keyboard</filename> indicates that keyboard
input should be used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-S</term>
<listitem>
<para>
Smart signing: Instructs <command>dnssec-signzone</command> to
search the key repository for keys that match the zone being
signed, and to include them in the zone if appropriate.
</para>
<para>
When a key is found, its timing metadata is examined to
determine how it should be used, according to the following
rules. Each successive rule takes priority over the prior
ones:
</para>
<variablelist>
<varlistentry>
<listitem>
<para>
If no timing metadata has been set for the key, the key is
published in the zone and used to sign the zone.
</para>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>
If the key's publication date is set and is in the past, the
key is published in the zone.
</para>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>
If the key's activation date is set and in the past, the
key is published (regardless of publication date) and
used to sign the zone.
</para>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>
If the key's revocation date is set and in the past, and the
key is published, then the key is revoked, and the revoked key
is used to sign the zone.
</para>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>
If either of the key's unpublication or deletion dates are set
and in the past, the key is NOT published or used to sign the
zone, regardless of any other metadata.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>-T <replaceable class="parameter">ttl</replaceable></term>
<listitem>
<para>
Specifies the TTL to be used for new DNSKEY records imported
into the zone from the key repository. If not specified,
the default is the minimum TTL value from the zone's SOA
record. This option is ignored when signing without
<option>-S</option>, since DNSKEY records are not imported
from the key repository in that case. It is also ignored if
there are any pre-existing DNSKEY records at the zone apex,
in which case new records' TTL values will be set to match
them.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t</term>
<listitem>
<para>
Print statistics at completion.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v <replaceable class="parameter">level</replaceable></term>
<listitem>
<para>
Sets the debugging level.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-z</term>
<listitem>
<para>
Ignore KSK flag on key when determining what to sign.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-3 <replaceable class="parameter">salt</replaceable></term>
<listitem>
<para>
Generate a NSEC3 chain with the given hex encoded salt.
A dash (<replaceable class="parameter">salt</replaceable>) can
be used to indicate that no salt is to be used when generating the NSEC3 chain.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-H <replaceable class="parameter">iterations</replaceable></term>
<listitem>
<para>
When generating a NSEC3 chain use this many interations. The
default is 100.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-A</term>
<listitem>
<para>
When generating a NSEC3 chain set the OPTOUT flag on all
NSEC3 records and do not generate NSEC3 records for insecure
delegations.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>zonefile</term>
<listitem>
<para>
The file containing the zone to be signed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>key</term>
<listitem>
<para>
Specify which keys should be used to sign the zone. If
no keys are specified, then the zone will be examined
for DNSKEY records at the zone apex. If these are found and
there are matching private keys, in the current directory,
then these will be used for signing.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>EXAMPLE</title>
<para>
The following command signs the <userinput>example.com</userinput>
zone with the DSA key generated by <command>dnssec-keygen</command>
(Kexample.com.+003+17247). The zone's keys must be in the master
file (<filename>db.example.com</filename>). This invocation looks
for <filename>keyset</filename> files, in the current directory,
so that DS records can be generated from them (<command>-g</command>).
</para>
<programlisting>% dnssec-signzone -g -o example.com db.example.com \
Kexample.com.+003+17247
db.example.com.signed
%</programlisting>
<para>
In the above example, <command>dnssec-signzone</command> creates
the file <filename>db.example.com.signed</filename>. This
file should be referenced in a zone statement in a
<filename>named.conf</filename> file.
</para>
<para>
This example re-signs a previously signed zone with default parameters.
The private keys are assumed to be in the current directory.
</para>
<programlisting>% cp db.example.com.signed db.example.com
% dnssec-signzone -o example.com db.example.com
db.example.com.signed
%</programlisting>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><citerefentry>
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
<citetitle>RFC 4033</citetitle>.
</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para><corpauthor>Internet Systems Consortium</corpauthor>
</para>
</refsect1>
</refentry><!--
- Local variables:
- mode: sgml
- End:
-->

View File

@@ -1,224 +0,0 @@
#!/bin/sh
#
# Copyright (C) 2004, 2006-2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 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: sign.sh,v 1.27 2009/06/04 02:56:47 tbox Exp $
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
RANDFILE=../random.data
zone=secure.example.
infile=secure.example.db.in
zonefile=secure.example.db
keyname=`$KEYGEN -r $RANDFILE -a RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
zone=bogus.example.
infile=bogus.example.db.in
zonefile=bogus.example.db
keyname=`$KEYGEN -r $RANDFILE -a RSAMD5 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
zone=dynamic.example.
infile=dynamic.example.db.in
zonefile=dynamic.example.db
keyname1=`$KEYGEN -r $RANDFILE -a RSAMD5 -b 768 -n zone $zone`
keyname2=`$KEYGEN -r $RANDFILE -a RSAMD5 -b 1024 -n zone -f KSK $zone`
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
zone=keyless.example.
infile=keyless.example.db.in
zonefile=keyless.example.db
keyname=`$KEYGEN -r $RANDFILE -a RSAMD5 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
# Change the signer field of the a.b.keyless.example SIG A
# to point to a provably nonexistent KEY record.
mv $zonefile.signed $zonefile.tmp
<$zonefile.tmp perl -p -e 's/ keyless.example/ b.keyless.example/
if /^a.b.keyless.example/../NXT/;' >$zonefile.signed
rm -f $zonefile.tmp
#
# NSEC3/NSEC test zone
#
zone=secure.nsec3.example.
infile=secure.nsec3.example.db.in
zonefile=secure.nsec3.example.db
keyname=`$KEYGEN -r $RANDFILE -a RSAMD5 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
#
# NSEC3/NSEC3 test zone
#
zone=nsec3.nsec3.example.
infile=nsec3.nsec3.example.db.in
zonefile=nsec3.nsec3.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -3 - -r $RANDFILE -o $zone $zonefile > /dev/null
#
# OPTOUT/NSEC3 test zone
#
zone=optout.nsec3.example.
infile=optout.nsec3.example.db.in
zonefile=optout.nsec3.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -3 - -A -r $RANDFILE -o $zone $zonefile > /dev/null
#
# A nsec3 zone (non-optout).
#
zone=nsec3.example.
infile=nsec3.example.db.in
zonefile=nsec3.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -g -3 - -r $RANDFILE -o $zone $zonefile > /dev/null
#
# OPTOUT/NSEC test zone
#
zone=secure.optout.example.
infile=secure.optout.example.db.in
zonefile=secure.optout.example.db
keyname=`$KEYGEN -r $RANDFILE -a RSAMD5 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
#
# OPTOUT/NSEC3 test zone
#
zone=nsec3.optout.example.
infile=nsec3.optout.example.db.in
zonefile=nsec3.optout.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -3 - -r $RANDFILE -o $zone $zonefile > /dev/null
#
# OPTOUT/OPTOUT test zone
#
zone=optout.optout.example.
infile=optout.optout.example.db.in
zonefile=optout.optout.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -3 - -A -r $RANDFILE -o $zone $zonefile > /dev/null
#
# A optout nsec3 zone.
#
zone=optout.example.
infile=optout.example.db.in
zonefile=optout.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -g -3 - -A -r $RANDFILE -o $zone $zonefile > /dev/null
#
# A nsec3 zone (non-optout) with unknown hash algorithm.
#
zone=nsec3-unknown.example.
infile=nsec3-unknown.example.db.in
zonefile=nsec3-unknown.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -3 - -U -r $RANDFILE -o $zone $zonefile > /dev/null
#
# A optout nsec3 zone.
#
zone=optout-unknown.example.
infile=optout-unknown.example.db.in
zonefile=optout-unknown.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -3 - -U -A -r $RANDFILE -o $zone $zonefile > /dev/null
#
# A multiple parameter nsec3 zone.
#
zone=multiple.example.
infile=multiple.example.db.in
zonefile=multiple.example.db
keyname=`$KEYGEN -r $RANDFILE -a NSEC3RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
mv $zonefile.signed $zonefile
$SIGNER -P -3 - -r $RANDFILE -o $zone $zonefile > /dev/null
mv $zonefile.signed $zonefile
$SIGNER -P -3 AAAA -r $RANDFILE -o $zone $zonefile > /dev/null
mv $zonefile.signed $zonefile
$SIGNER -P -3 BBBB -r $RANDFILE -o $zone $zonefile > /dev/null
mv $zonefile.signed $zonefile
$SIGNER -P -3 CCCC -r $RANDFILE -o $zone $zonefile > /dev/null
mv $zonefile.signed $zonefile
$SIGNER -P -3 DDDD -r $RANDFILE -o $zone $zonefile > /dev/null

View File

@@ -1,952 +0,0 @@
DNS Extensions Working Group S. Rose
Internet-Draft NIST
Obsoletes: 2672 (if approved) W. Wijngaards
Updates: 3363,4294 NLnet Labs
(if approved) May 2, 2008
Intended status: Standards Track
Expires: November 3, 2008
Update to DNAME Redirection in the DNS
draft-ietf-dnsext-rfc2672bis-dname-13
Status of This Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on November 3, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2008).
Abstract
The DNAME record provides redirection for a sub-tree of the domain
name tree in the DNS system. That is, all names that end with a
particular suffix are redirected to another part of the DNS. This is
an update of the original specification in RFC 2672, also aligning
RFC 3363 and RFC 4294 with this revision.
Rose & Wijngaards Expires November 3, 2008 [Page 1]
Internet-Draft DNAME Redirection May 2008
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. The DNAME Resource Record . . . . . . . . . . . . . . . . . . 3
2.1. Format . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. The DNAME Substitution . . . . . . . . . . . . . . . . . . 4
2.3. DNAME Apex not Redirected itself . . . . . . . . . . . . . 5
2.4. Names Next to and Below a DNAME Record . . . . . . . . . . 6
2.5. Compression of the DNAME record. . . . . . . . . . . . . . 6
3. Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1. CNAME synthesis and UD bit . . . . . . . . . . . . . . . . 7
3.2. Server algorithm . . . . . . . . . . . . . . . . . . . . . 8
3.3. Wildcards . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4. Acceptance and Intermediate Storage . . . . . . . . . . . 10
4. DNAME Discussions in Other Documents . . . . . . . . . . . . . 10
5. Other Issues with DNAME . . . . . . . . . . . . . . . . . . . 12
5.1. Canonical hostnames cannot be below DNAME owners . . . . . 12
5.2. Dynamic Update and DNAME . . . . . . . . . . . . . . . . . 12
5.3. DNSSEC and DNAME . . . . . . . . . . . . . . . . . . . . . 12
5.3.1. DNAME bit in NSEC type map . . . . . . . . . . . . . . 12
5.3.2. Validators Must Understand DNAME . . . . . . . . . . . 12
5.3.2.1. DNAME in Bitmap Causes Invalid Name Error . . . . 13
5.3.2.2. Valid Name Error Response Involving DNAME in
Bitmap . . . . . . . . . . . . . . . . . . . . . . 13
5.3.2.3. Response With Synthesized CNAME . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
7. Security Considerations . . . . . . . . . . . . . . . . . . . 14
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . . 15
Rose & Wijngaards Expires November 3, 2008 [Page 2]
Internet-Draft DNAME Redirection May 2008
1. Introduction
DNAME is a DNS Resource Record type originally defined in RFC 2672
[RFC2672]. DNAME provides redirection from a part of the DNS name
tree to another part of the DNS name tree.
The DNAME RR and the CNAME RR [RFC1034] cause a lookup to
(potentially) return data corresponding to a domain name different
from the queried domain name. The difference between the two
resource records is that the CNAME RR directs the lookup of data at
its owner to another single name, a DNAME RR directs lookups for data
at descendents of its owner's name to corresponding names under a
different (single) node of the tree.
Take for example, looking through a zone (see RFC 1034 [RFC1034],
section 4.3.2, step 3) for the domain name "foo.example.com" and a
DNAME resource record is found at "example.com" indicating that all
queries under "example.com" be directed to "example.net". The lookup
process will return to step 1 with the new query name of
"foo.example.net". Had the query name been "www.foo.example.com" the
new query name would be "www.foo.example.net".
This document is an update of the original specification of DNAME in
RFC 2672 [RFC2672]. DNAME was conceived to help with the problem of
maintaining address-to-name mappings in a context of network
renumbering. With a careful set-up, a renumbering event in the
network causes no change to the authoritative server that has the
address-to-name mappings. Examples in practice are classless reverse
address space delegations.
Another usage of DNAME lies in redirection of name spaces. For
example, a zone administrator may want sub-trees of the DNS to
contain the same information. Examples include punycode alternates
for domain spaces. DNAME is also used for the redirection of ENUM
domains to another maintaining party.
This update to DNAME does not change the wire format or the handling
of DNAME Resource Records by existing software. A new UD (Understand
DNAME) bit in the EDNS flags field can be used to signal that CNAME
synthesis is not needed. Discussion is added on problems that may be
encountered when using DNAME.
2. The DNAME Resource Record
2.1. Format
The DNAME RR has mnemonic DNAME and type code 39 (decimal). It is
not class-sensitive.
Rose & Wijngaards Expires November 3, 2008 [Page 3]
Internet-Draft DNAME Redirection May 2008
Its RDATA is comprised of a single field, <target>, which contains a
fully qualified domain name that must be sent in uncompressed form
[RFC1035], [RFC3597]. The <target> field MUST be present. The
presentation format of <target> is that of a domain name [RFC1035].
<owner> <ttl> <class> DNAME <target>
The effect of the DNAME RR is the substitution of the record's
<target> for its owner name, as a suffix of a domain name. This
substitution has to be applied for every DNAME RR found in the
resolution process, which allows fairly lengthy valid chains of DNAME
RRs.
Details of the substitution process, methods to avoid conflicting
resource records, and rules for specific corner cases are given in
the following subsections.
2.2. The DNAME Substitution
When following RFC 1034 [RFC1034], section 4.3.2's algorithm's third
step, "start matching down, label by label, in the zone" and a node
is found to own a DNAME resource record a DNAME substitution occurs.
The name being sought may be the original query name or a name that
is the result of a CNAME resource record being followed or a
previously encountered DNAME. As is the case of finding a CNAME
resource record or NS resource record set, the processing of a DNAME
will happen prior to finding the desired domain name.
A DNAME substitution is performed by replacing the suffix labels of
the name being sought matching the owner name of the DNAME resource
record with the string of labels in the RDATA field. The matching
labels end with the root label in all cases. Only whole labels are
replaced. See the table of examples for common cases and corner
cases.
Rose & Wijngaards Expires November 3, 2008 [Page 4]
Internet-Draft DNAME Redirection May 2008
In the table below, the QNAME refers to the query name. The owner is
the DNAME owner domain name, and the target refers to the target of
the DNAME record. The result is the resulting name after performing
the DNAME substitution on the query name. "no match" means that the
query did not match the DNAME and thus no substitution is performed
and a possible error message is returned (if no other result is
possible). In the examples below, 'cyc' and 'shortloop' contain
loops.
QNAME owner DNAME target result
---------------- -------------- -------------- -----------------
com. example.com. example.net. <no match>
example.com. example.com. example.net. <no match>
a.example.com. example.com. example.net. a.example.net.
a.b.example.com. example.com. example.net. a.b.example.net.
ab.example.com. b.example.com. example.net. <no match>
foo.example.com. example.com. example.net. foo.example.net.
a.x.example.com. x.example.com. example.net. a.example.net.
a.example.com. example.com. y.example.net. a.y.example.net.
cyc.example.com. example.com. example.com. cyc.example.com.
cyc.example.com. example.com. c.example.com. cyc.c.example.com.
shortloop.x.x. x. . shortloop.x.
shortloop.x. x. . shortloop.
Table 1. DNAME Substitution Examples.
It is possible for DNAMEs to form loops, just as CNAMEs can form
loops. DNAMEs and CNAMEs can chain together to form loops. A single
corner case DNAME can form a loop. Resolvers and servers should be
cautious in devoting resources to a query, but be aware that fairly
long chains of DNAMEs may be valid. Zone content administrators
should take care to insure that there are no loops that could occur
when using DNAME or DNAME/CNAME redirection.
The domain name can get too long during substitution. For example,
suppose the target name of the DNAME RR is 250 octets in length
(multiple labels), if an incoming QNAME that has a first label over 5
octets in length, the result of the result would be a name over 255
octets. If this occurs the server returns an RCODE of YXDOMAIN
[RFC2136]. The DNAME record and its signature (if the zone is
signed) are included in the answer as proof for the YXDOMAIN (value
6) RCODE.
2.3. DNAME Apex not Redirected itself
Unlike a CNAME RR, a DNAME RR redirects DNS names subordinate to its
owner name; the owner name of a DNAME is not redirected itself. The
domain name that owns a DNAME record is allowed to have other
Rose & Wijngaards Expires November 3, 2008 [Page 5]
Internet-Draft DNAME Redirection May 2008
resource record types at that domain name, except DNAMEs or CNAMEs.
This means that DNAME RRs are not allowed at the parent side of a
delegation point but are allowed at a zone apex.
The reason for this decision was that one can have a DNAME at the
zone apex. There still is a need to have the customary SOA and NS
resource records at the zone apex. This means that DNAME does not
mirror a zone completely, as it does not mirror the zone apex.
These rules also allow DNAME records to be queried through RFC 1034
[RFC1034] compliant, DNAME-unaware caches.
2.4. Names Next to and Below a DNAME Record
Resource records MUST NOT exist at any domain name subordinate to the
owner of a DNAME RR. To get the contents for names subordinate to
that owner, the DNAME redirection must be invoked and the resulting
target queried. A server MAY refuse to load a zone that has data at
a domain name subordinate to a domain name owning a DNAME RR. If the
server does load the zone, those names below the DNAME RR will be
occluded, RFC 2136 [RFC2136], section 7.18. Also a server SHOULD
refuse to load a zone subordinate to the owner of a DNAME record in
the ancestor zone. See Section 5.2 for further discussion related to
dynamic update.
DNAME is a singleton type, meaning only one DNAME is allowed per
name. The owner name of a DNAME can only have one DNAME RR, and no
CNAME RRs can exist at that name. These rules make sure that for a
single domain name only one redirection exists, and thus no confusion
which one to follow. A server SHOULD refuse to load a zone that
violates these rules.
2.5. Compression of the DNAME record.
The DNAME owner name can be compressed like any other owner name.
The DNAME RDATA target name MUST NOT be sent out in compressed form,
so that a DNAME RR can be treated as an unknown type [RFC3597].
Although the previous DNAME specification [RFC2672] (that is
obsoleted by this specification) talked about signaling to allow
compression of the target name, such signaling is not specified.
RFC 2672 stated that the EDNS version had a meaning for understanding
of DNAME and DNAME target name compression. This document updates
RFC 2672, in that there is no EDNS version signaling for DNAME.
However, the flags section of EDNS(0) is updated with a Understand-
DNAME flag by this document (See Section 3.3).
Rose & Wijngaards Expires November 3, 2008 [Page 6]
Internet-Draft DNAME Redirection May 2008
3. Processing
The DNAME RR causes type NS additional section processing.
3.1. CNAME synthesis and UD bit
When preparing an response, a server upon performing a DNAME
substitution will in all cases include the DNAME RR used in the
answer section. A CNAME RR record with TTL equal to the
corresponding DNAME RR is synthesized and included in the answer
section for old resolvers. The owner name of the CNAME is the QNAME
of the query. DNSSEC [RFC4033], [RFC4034], [RFC4035] says that the
synthesized CNAME does not have to be signed. The DNAME has an RRSIG
and a validating resolver can check the CNAME against the DNAME
record and validate the DNAME record.
Resolvers MUST be able to handle a synthesized CNAME TTL of zero or
equal to the TTL of the corresponding DNAME record. A TTL of zero
means that the CNAME can be discarded immediately after processing
the answer. DNAME aware resolvers can set the Understand-DNAME (UD
bit) to receive a response with only the DNAME RR and no synthesized
CNAMEs.
The UD bit is part of the EDNS [RFC2671] extended RCODE and Flags
field. It is used to omit server processing, transmission and
resolver processing of unsigned synthesized CNAMEs. Resolvers can
set this in a query to request omission of the synthesized CNAMEs.
Servers copy the UD bit to the response, and can omit synthesized
CNAMEs from the answer. Older resolvers do not set the UD bit, and
older servers do not copy the UD bit to the answer, and will not omit
synthesized CNAMEs.
Updated EDNS extended RCODE and Flags field.
+0 (MSB) +1 (LSB)
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
0: | EXTENDED-RCODE | VERSION |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
2: |DO|UD| Z |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Servers MUST be able to answer a query for a synthesized CNAME. Like
other query types this invokes the DNAME, and synthesizes the CNAME
into the answer.
Rose & Wijngaards Expires November 3, 2008 [Page 7]
Internet-Draft DNAME Redirection May 2008
3.2. Server algorithm
Below the server algorithm, which appeared in RFC 2672 Section 4.1,
is expanded to handle the UD (Understand DNAME) bit.
1. Set or clear the value of recursion available in the response
depending on whether the name server is willing to provide
recursive service. If recursive service is available and
requested via the RD bit in the query, go to step 5, otherwise
step 2.
2. Search the available zones for the zone which is the nearest
ancestor to QNAME. If such a zone is found, go to step 3,
otherwise step 4.
3. Start matching down, label by label, in the zone. The matching
process can terminate several ways:
A. If the whole of QNAME is matched, we have found the node.
If the data at the node is a CNAME, and QTYPE does not match
CNAME, copy the CNAME RR into the answer section of the
response, change QNAME to the canonical name in the CNAME RR,
and go back to step 1.
Otherwise, copy all RRs which match QTYPE into the answer
section and go to step 6.
B. If a match would take us out of the authoritative data, we
have a referral. This happens when we encounter a node with
NS RRs marking cuts along the bottom of a zone.
Copy the NS RRs for the sub-zone into the authority section
of the reply. Put whatever addresses are available into the
additional section, using glue RRs if the addresses are not
available from authoritative data or the cache. Go to step
4.
C. If at some label, a match is impossible (i.e., the
corresponding label does not exist), look to see whether the
last label matched has a DNAME record.
If a DNAME record exists at that point, copy that record into
the answer section. If substitution of its <target> for its
<owner> in QNAME would overflow the legal size for a <domain-
name>, set RCODE to YXDOMAIN [RFC2136] and exit; otherwise
perform the substitution and continue. If the EDNS OPT
record is present in the query and the UD bit is set, the
Rose & Wijngaards Expires November 3, 2008 [Page 8]
Internet-Draft DNAME Redirection May 2008
server MAY copy the UD bit to the answer EDNS OPT record, and
omit CNAME synthesis. Else the server MUST synthesize a
CNAME record as described above and include it in the answer
section. Go back to step 1.
If there was no DNAME record, look to see if the "*" label
exists.
If the "*" label does not exist, check whether the name we
are looking for is the original QNAME in the query or a name
we have followed due to a CNAME or DNAME. If the name is
original, set an authoritative name error in the response and
exit. Otherwise just exit.
If the "*" label does exist, match RRs at that node against
QTYPE. If any match, copy them into the answer section, but
set the owner of the RR to be QNAME, and not the node with
the "*" label. If the data at the node with the "*" label is
a CNAME, and QTYPE doesn't match CNAME, copy the CNAME RR
into the answer section of the response changing the owner
name to the QNAME, change QNAME to the canonical name in the
CNAME RR, and go back to step 1. Otherwise, Go to step 6.
4. Start matching down in the cache. If QNAME is found in the
cache, copy all RRs attached to it that match QTYPE into the
answer section. If QNAME is not found in the cache but a DNAME
record is present at an ancestor of QNAME, copy that DNAME record
into the answer section. If there was no delegation from
authoritative data, look for the best one from the cache, and put
it in the authority section. Go to step 6.
5. Use the local resolver or a copy of its algorithm to answer the
query. Store the results, including any intermediate CNAMEs and
DNAMEs, in the answer section of the response.
6. Using local data only, attempt to add other RRs which may be
useful to the additional section of the query. Exit.
Note that there will be at most one ancestor with a DNAME as
described in step 4 unless some zone's data is in violation of the
no-descendants limitation in section 3. An implementation might take
advantage of this limitation by stopping the search of step 3c or
step 4 when a DNAME record is encountered.
3.3. Wildcards
The use of DNAME in conjunction with wildcards is discouraged
[RFC4592]. Thus records of the form "*.example.com DNAME
Rose & Wijngaards Expires November 3, 2008 [Page 9]
Internet-Draft DNAME Redirection May 2008
example.net" SHOULD NOT be used.
The interaction between the expansion of the wildcard and the
redirection of the DNAME is non-deterministic. Because the
processing is non-deterministic, DNSSEC validating resolvers may not
be able to validate a wildcarded DNAME.
A server MAY give a warning that the behavior is unspecified if such
a wildcarded DNAME is loaded. The server MAY refuse it, refuse to
load or refuse dynamic update.
3.4. Acceptance and Intermediate Storage
DNS caches can encounter data at names below the owner name of a
DNAME RR, due to a change at the authoritative server where data from
before and after the change resides in the cache. This conflict
situation is a transitional phase, that ends when the old data times
out. The cache can opt to store both old and new data and treat each
as if the other did not exist, or drop the old data, or drop the
longer domain name. In any approach, consistency returns after the
older data TTL times out.
DNS caches MUST perform CNAME synthesis on behalf of DNAME-ignorant
clients. A DNS cache that understands DNAMEs can send out queries on
behalf of clients with the UD bit set (See Section 3.1). After
receiving the answers the DNS cache sends replies to DNAME ignorant
clients that include DNAMEs and synthesized CNAMEs.
4. DNAME Discussions in Other Documents
In [RFC2181], in Section 10.3., the discussion on MX and NS records
touches on redirection by CNAMEs, but this also holds for DNAMEs.
Rose & Wijngaards Expires November 3, 2008 [Page 10]
Internet-Draft DNAME Redirection May 2008
Excerpt from 10.3. MX and NS records (in RFC 2181).
The domain name used as the value of a NS resource record,
or part of the value of a MX resource record must not be
an alias. Not only is the specification clear on this
point, but using an alias in either of these positions
neither works as well as might be hoped, nor well fulfills
the ambition that may have led to this approach. This
domain name must have as its value one or more address
records. Currently those will be A records, however in
the future other record types giving addressing
information may be acceptable. It can also have other
RRs, but never a CNAME RR.
The DNAME RR is discussed in RFC 3363, section 4, on A6 and DNAME.
The opening premise of this section is demonstrably wrong, and so the
conclusion based on that premise is wrong. In particular, [RFC3363]
deprecates the use of DNAME in the IPv6 reverse tree, which is then
carried forward as a recommendation in [RFC4294]. Based on the
experience gained in the meantime, [RFC3363] should be revised,
dropping all constraints on having DNAME RRs in these zones. This
would greatly improve the manageability of the IPv6 reverse tree.
These changes are made explicit below.
In [RFC3363], the paragraph
"The issues for DNAME in the reverse mapping tree appears to be
closely tied to the need to use fragmented A6 in the main tree: if
one is necessary, so is the other, and if one isn't necessary, the
other isn't either. Therefore, in moving RFC 2874 to experimental,
the intent of this document is that use of DNAME RRs in the reverse
tree be deprecated."
is to be replaced with the word "DELETED".
In [RFC4294], the reference to DNAME was left in as an editorial
oversight. The paragraph
"Those nodes are NOT RECOMMENDED to support the experimental A6 and
DNAME Resource Records [RFC3363]."
is to be replaced by
"Those nodes are NOT RECOMMENDED to support the experimental
A6 Resource Record [RFC3363]."
Rose & Wijngaards Expires November 3, 2008 [Page 11]
Internet-Draft DNAME Redirection May 2008
5. Other Issues with DNAME
There are several issues to be aware of about the use of DNAME.
5.1. Canonical hostnames cannot be below DNAME owners
The names listed as target names of MX, NS, PTR and SRV [RFC2782]
records must be canonical hostnames. This means no CNAME or DNAME
redirection may be present during DNS lookup of the address records
for the host. This is discussed in RFC 2181 [RFC2181], section 10.3,
and RFC 1912 [RFC1912], section 2.4. For SRV see RFC 2782 [RFC2782]
page 4.
The upshot of this is that although the lookup of a PTR record can
involve DNAMEs, the name listed in the PTR record can not fall under
a DNAME. The same holds for NS, SRV and MX records. For example,
when punycode alternates for a zone use DNAME then the NS, MX, SRV
and PTR records that point to that zone must use names without
punycode in their RDATA. What must be done then is to have the
domain names with DNAME substitution already applied to it as the MX,
NS, PTR, SRV data. These are valid canonical hostnames.
5.2. Dynamic Update and DNAME
DNAME records can be added, changed and removed in a zone using
dynamic update transactions. Adding a DNAME RR to a zone occludes
any domain names that may exist under the added DNAME.
A server MUST ignore a dynamic update message that attempts to add a
DNAME RR at a name that already has a CNAME RR or another DNAME RR
associated with that name.
5.3. DNSSEC and DNAME
5.3.1. DNAME bit in NSEC type map
When a validator checks the NSEC RRs returned on a name error
response, it SHOULD check that the DNAME bit is not set. If the
DNAME bit is set then the DNAME substitution should have been done,
but has not.
5.3.2. Validators Must Understand DNAME
Examples of why DNSSEC validators MUST understand DNAME.
Rose & Wijngaards Expires November 3, 2008 [Page 12]
Internet-Draft DNAME Redirection May 2008
5.3.2.1. DNAME in Bitmap Causes Invalid Name Error
;; Header: QR AA DO RCODE=3(NXDOMAIN)
;; Question
foo.bar.example.com. IN A
;; Answer
bar.example.com. NSEC dub.example.com. A DNAME
bar.example.com. RRSIG NSEC [valid signature]
If this is the response, then only by understanding that the DNAME
bit means that foo.bar.example.com needed to have been redirected by
the DNAME, the validator can see that it is a BOGUS reply from an
attacker that collated existing records from the DNS to create a
confusing reply.
If the DNAME bit had not been set in the NSEC record above then the
answer would have validated as a correct name error response.
5.3.2.2. Valid Name Error Response Involving DNAME in Bitmap
;; Header: QR AA DO RCODE=3(NXDOMAIN)
;; Question
cee.example.com. IN A
;; Answer
bar.example.com. NSEC dub.example.com. A DNAME
bar.example.com. RRSIG NSEC [valid signature]
This reply has the same NSEC records as the example above, but with
this query name (cee.example.com), the answer is validated, because
'cee' does not get redirected by the DNAME at 'bar'.
5.3.2.3. Response With Synthesized CNAME
;; Header: QR AA DO RCODE=0(NOERROR)
;; Question
foo.bar.example.com. IN A
;; Answer
bar.example.com. DNAME bar.example.net.
bar.example.com. RRSIG DNAME [valid signature]
foo.bar.example.com. CNAME foo.bar.example.net.
The answer shown above has the synthesized CNAME included. However,
the CNAME has no signature, since the server does not sign online.
So it cannot be trusted. It could be altered by an attacker to be
foo.bar.example.com CNAME bla.bla.example. The DNAME record does
have its signature included, since it does not change for every query
name. The validator must verify the DNAME signature and then
recursively resolve further to query for the foo.bar.example.net A
Rose & Wijngaards Expires November 3, 2008 [Page 13]
Internet-Draft DNAME Redirection May 2008
record.
6. IANA Considerations
The DNAME Resource Record type code 39 (decimal) originally has been
registered by [RFC2672]. IANA should update the DNS resource record
registry to point to this document for RR type 39.
This draft requests the second highest bit in the EDNS flags field
for the Understand-DNAME (UD) flag.
7. Security Considerations
DNAME redirects queries elsewhere, which may impact security based on
policy and the security status of the zone with the DNAME and the
redirection zone's security status.
If a validating resolver accepts wildcarded DNAMEs, this creates
security issues. Since the processing of a wildcarded DNAME is non-
deterministic and the CNAME that was substituted by the server has no
signature, the resolver may choose a different result than what the
server meant, and consequently end up at the wrong destination. Use
of wildcarded DNAMEs is discouraged in any case [RFC4592].
A validating resolver MUST understand DNAME, according to [RFC4034].
In Section 5.3.2 examples are given that illustrate this need.
8. Acknowledgments
The authors of this draft would like to acknowledge Matt Larson for
beginning this effort to address the issues related to the DNAME RR
type. The authors would also like to acknowledge Paul Vixie, Ed
Lewis, Mark Andrews, Mike StJohns, Niall O'Reilly, Sam Weiler, Alfred
Hines and Kevin Darcy for their review and comments on this document.
9. References
9.1. Normative References
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, November 1987.
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Rose & Wijngaards Expires November 3, 2008 [Page 14]
Internet-Draft DNAME Redirection May 2008
[RFC2136] Vixie, P., Thomson, S., Rekhter, Y., and J. Bound,
"Dynamic Updates in the Domain Name System (DNS UPDATE)",
RFC 2136, April 1997.
[RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS
Specification", RFC 2181, July 1997.
[RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)",
RFC 2671, August 1999.
[RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
specifying the location of services (DNS SRV)", RFC 2782,
February 2000.
[RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record
(RR) Types", RFC 3597, September 2003.
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements",
RFC 4033, March 2005.
[RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "Resource Records for the DNS Security Extensions",
RFC 4034, March 2005.
[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "Protocol Modifications for the DNS Security
Extensions", RFC 4035, March 2005.
[RFC4592] Lewis, E., "The Role of Wildcards in the Domain Name
System", RFC 4592, July 2006.
9.2. Informative References
[RFC1912] Barr, D., "Common DNS Operational and Configuration
Errors", RFC 1912, February 1996.
[RFC2672] Crawford, M., "Non-Terminal DNS Name Redirection",
RFC 2672, August 1999.
[RFC3363] Bush, R., Durand, A., Fink, B., Gudmundsson, O., and T.
Hain, "Representing Internet Protocol version 6 (IPv6)
Addresses in the Domain Name System (DNS)", RFC 3363,
August 2002.
[RFC4294] Loughney, J., "IPv6 Node Requirements", RFC 4294,
April 2006.
Rose & Wijngaards Expires November 3, 2008 [Page 15]
Internet-Draft DNAME Redirection May 2008
Authors' Addresses
Scott Rose
NIST
100 Bureau Dr.
Gaithersburg, MD 20899
USA
Phone: +1-301-975-8439
Fax: +1-301-975-6238
EMail: scottr@nist.gov
Wouter Wijngaards
NLnet Labs
Kruislaan 419
Amsterdam 1098 VA
The Netherlands
Phone: +31-20-888-4551
EMail: wouter@nlnetlabs.nl
Rose & Wijngaards Expires November 3, 2008 [Page 16]
Internet-Draft DNAME Redirection May 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Rose & Wijngaards Expires November 3, 2008 [Page 17]

View File

@@ -1,947 +0,0 @@
Branch Status Whom // Comments
-----------------------------------------------------------
new not yet classified
open developement branch
active not a development branch
review ready for review
private private branch
closed finished with
branch_9_5_0_P1 new each // 2008-06-30 22:15 +0000
custom_AFILIAS_v9_4_1_P1 private marka // 2007-08-30 01:11 +0000
custom_AFIS_v9_4_0 private marka // 2007-04-23 05:08 +0000
custom_ALLIANZ_v9_4_1_P1 private marka // 2007-08-03 04:51 +0000
custom_ALLIANZ_v9_4_2 private marka // 2007-11-23 04:32 +0000
custom_ALLIANZ_v9_4_2_P1 new each // 2008-05-27 23:33 +0000
custom_ALLIANZ_v9_4_2_P2 new each // 2008-08-05 21:28 +0000
custom_ATT_v9_4 new each // 2009-07-28 17:05 +0000
custom_CISCO_v9_3_4_P1 private marka // 2007-11-23 04:19 +0000
custom_DYNDNS_v9_6 new each // 2009-06-19 15:34 +0000
custom_NOM_v9_5_0a7 private
custom_NOM_v9_5_0b2 new marka // 2008-03-06 06:45 +0000
custom_NOM_v9_5_0b2+ new marka // 2008-03-06 06:13 +0000
custom_UTK_v9_4_0 private marka // 2007-04-23 13:35 +0000
custom_UTK_v9_4_1 private marka // 2007-04-30 01:51 +0000
custom_WALMART_v9_6_1 new marka // 2009-07-13 22:53 +0000
custom_WFB_v9_3_1 private
custom_WFB_v9_3_2 private
custom_WFB_v9_3_3 private
custom_WFB_v9_4_0 private
custom_WFB_v9_4_1 private marka // 2007-04-30 01:53 +0000
custom_WFB_v9_4_1_P1 private marka // 2007-08-01 22:49 +0000
custom_WFB_v9_4_2 private each // 2007-12-05 18:10 +0000
custom_WFB_v9_4_2_P1 new each // 2008-05-27 22:59 +0000
custom_WFB_v9_5_0_P1 private marka // 2008-07-15 00:05 +0000
custom_WFB_v9_5_0_P2 new each // 2008-08-05 21:06 +0000
custom_WFB_v9_5_0_P2_1_servfail new jinmei // 2008-12-08 22:38 +0000
custom_WFB_v9_6_0_P1 new marka // 2009-02-05 07:00 +0000
gsstsig4 open sra // head + gsstsig as of 12 may 2006
gsstsig4_win32 open danny // sub-branch off gsstsig4 for windows development
jinmei-mmapzone-test open // mmap based zone file. very experimental, just for reference purposes
jinmei_libdnsng open
jinmei_lrucache open
libbind_clean open jinmei
make new
marka-xlink new marka // 2009-02-10 02:17 +0000
marka_970 new marka // 2009-06-18 02:50 +0000
marka_libdnsng open
marka_tools new marka // 2009-07-23 03:10 +0000
marka_tools2 new marka // 2009-08-14 10:55 +0000
mlg-20000518 open explorer
newresolver0 open
openssl_stub open marka
rt10864 open marka // NSEC caching @ delegation
rt11398d open sra // doxygen dev
rt11398e open sra
rt11543 open jakob
rt11733 open jakob
rt11733b open jakob
rt13489 review marka // Solaris bug fixes
rt13555 open marka // nslookup name failure
rt13562 open marka
rt14654 open
rt14815 open // stats blind spots
rt14895 open jinmei
rt14895b open jinmei
rt14951a open
rt15327 open
rt15452a open marka // NSEC3
rt15452b new marka // 2008-04-04 05:06 +0000
rt15452c new marka // 2008-09-22 02:18 +0000
rt15698 open
rt15765 open
rt15860 open
rt15869 review // libdnsng
rt16157 open
rt16288 review
rt16288_best_to_first_match review
rt16402 open
rt16428 open
rt16443 open marka // post 9.4.0
rt16519 open marka // epsilon for .DE
rt16671 open marka // Silence Coverity reports
rt16760 open explorer // 2007-03-19 14:59 +0000
rt16806 open marka // 2007-04-24 04:38 +0000
rt16844 open marka // EVP conversion
rt16857 open marka // 2007-05-14 03:45 +0000
rt17061 open marka // 2007-08-02 02:08 +0000
rt17091 open evan
rt17099 open marka // 2007-09-02 23:42 +0000
rt17138 open marka // 2007-09-11 01:39 +0000
rt17146 open
rt17151 open marka // 2007-09-18 00:34 +0000
rt17214 review jakob
rt17214b new each // 2008-05-07 00:27 +0000
rt17224 new marka // 2008-02-08 04:24 +0000
rt17261 new marka // 2008-01-22 13:29 +0000
rt1727 open // ixfr-from-differences workfile
rt17301 new marka // 2008-01-08 04:27 +0000
rt17312 new marka // 2008-01-04 05:16 +0000
rt17347 open each // 2007-12-17 23:48 +0000
rt17374 open each // 2007-12-19 05:51 +0000
rt17375 open each // 2007-12-20 16:47 +0000
rt17435 new
rt17441 new marka // 2008-01-08 03:41 +0000
rt17451 new fdupont // Delete RB tree order
rt17455 new each // 2008-01-10 00:20 +0000
rt17460 new marka // 2008-01-11 03:44 +0000
rt17462 new each // 2008-01-11 17:47 +0000
rt17466 new
rt17469 new marka // 2008-01-12 00:48 +0000
rt17513 new marka // 2008-01-25 03:37 +0000
rt17514 new marka // 2008-01-23 01:38 +0000
rt17557 new marka // 2008-01-29 00:48 +0000
rt17572 new marka // 2008-02-04 00:59 +0000
rt17573 new marka // 2008-02-04 05:15 +0000
rt17576 new marka // 2008-02-05 02:22 +0000
rt17580 new
rt17589 new marka // 2008-02-11 05:52 +0000
rt17590 new
rt17596 new fdupont // explicit rollover
rt17596a new fdupont // 2008-02-28 08:16 +0000
rt17596b new fdupont // 2008-04-21 12:27 +0000
rt17596c new fdupont // 2008-11-03 12:07 +0000
rt17598 new marka // 2008-02-17 23:24 +0000
rt17628 new
rt17671 new marka // 2008-02-27 01:39 +0000
rt17729 new marka // 2008-03-06 03:56 +0000
rt17729a new marka // 2008-04-02 23:40 +0000
rt17828 new marka // 2008-04-09 23:06 +0000
rt17849 new mayer // 2008-07-07 04:17 +0000
rt17949 new
rt17949_v9_3 new
rt17949_v9_4 new
rt17949_v9_5 new
rt17977 new each // 2008-04-23 00:29 +0000
rt18018 new
rt18020 new fdupont // FIPS 140-2
rt18020a new fdupont // 2008-05-15 14:50 +0000
rt18029 new each // 2008-05-30 05:02 +0000
rt18029a new marka // 2008-08-06 05:31 +0000
rt18033 new fdupont // HSM maintenance
rt18033a new fdupont // 2008-12-30 12:49 +0000
rt18040 new marka // 2008-05-08 02:25 +0000
rt18042 new fdupont // 2008-05-09 13:27 +0000
rt18046 new fdupont // 2008-05-09 06:56 +0000
rt18046a new fdupont // 2008-10-22 11:48 +0000
rt18092 new each // 2008-05-21 05:49 +0000
rt18098 new
rt18159 new
rt18168 new marka // 2008-10-22 02:14 +0000
rt18192 new jinmei // 2008-12-23 02:53 +0000
rt18194 new
rt18253 new each // 2008-07-18 23:01 +0000
rt18306 new marka // 2008-11-04 23:46 +0000
rt18331 new fdupont // 2008-07-19 14:53 +0000
rt18332 new fdupont // 2008-07-20 13:11 +0000
rt18332_v9_3_5_P1 new fdupont // 2008-07-20 13:16 +0000
rt18335 new fdupont // 2008-07-20 11:50 +0000
rt18336 new fdupont // 2008-07-21 13:51 +0000
rt18336p1 new
rt18344 new
rt18348 new fdupont // 2008-08-09 08:31 +0000
rt18358 new fdupont // 2008-07-23 22:35 +0000
rt18368 new marka // 2008-11-28 05:10 +0000
rt18370 new mayer // 2008-07-29 01:55 +0000
rt18374 new mayer // 2008-07-28 02:48 +0000
rt18374_v9_5 new mayer // 2008-07-28 13:32 +0000
rt18411 new
rt18441 new each // 2008-08-15 17:02 +0000
rt18493 new
rt18516 new
rt18535 new marka // 2008-11-28 02:19 +0000
rt18543 new marka // 2008-11-28 00:55 +0000
rt18559 new each // 2008-09-26 03:54 +0000
rt18578 new dhankins // 2008-09-05 18:56 +0000
rt18601 new pselkirk // 2009-02-24 20:19 +0000
rt18632 new mayer // 2008-09-24 03:10 +0000
rt18634 new mayer // 2008-09-16 03:47 +0000
rt18646 new marka // 2008-09-18 03:40 +0000
rt18657 new marka // 2008-11-05 03:19 +0000
rt18658 new marka // 2008-11-27 04:46 +0000
rt18685 new each // 2008-10-24 00:53 +0000
rt18694 new fdupont // 2008-10-29 10:23 +0000
rt18711 new marka // 2008-11-27 03:17 +0000
rt18784 new
rt18785 new marka // 2008-10-31 01:19 +0000
rt18793 new fdupont // 2008-10-25 11:56 +0000
rt18795 new marka // 2008-10-27 00:04 +0000
rt18802 new
rt18815 new fdupont // 2008-10-28 12:34 +0000
rt18828 new marka // 2008-11-04 06:17 +0000
rt18872 new marka // 2009-01-23 02:57 +0000
rt18884 new marka // 2008-11-11 02:16 +0000
rt18905 new jinmei // 2008-12-30 01:46 +0000
rt19027 new
rt19063 new marka // 2008-12-13 01:45 +0000
rt19113 new fdupont // 2009-01-10 17:53 +0000
rt19198 new marka // 2009-01-23 02:19 +0000
rt19209 new marka // 2009-02-05 01:10 +0000
rt19234 new fdupont // 2009-02-12 14:15 +0000
rt19234a new fdupont // 2009-09-11 22:20 +0000
rt19240 new jinmei // 2009-01-26 23:31 +0000
rt19248 new each // 2009-01-28 00:25 +0000
rt19256 new jinmei // 2009-01-29 00:55 +0000
rt19284 new each // 2009-01-30 20:31 +0000
rt19284_jinmeihack new
rt19294 new fdupont // 2009-09-04 11:49 +0000
rt19300 new each // 2009-02-05 23:51 +0000
rt19301 new each // 2009-02-19 07:28 +0000
rt19310 new marka // 2009-02-11 09:42 +0000
rt19360 new fdupont // 2009-02-17 09:10 +0000
rt19369 new jinmei // 2009-02-19 00:40 +0000
rt19384 new marka // 2009-02-23 03:32 +0000
rt19387 new jinmei // 2009-03-05 19:37 +0000
rt19447 new ebersman // 2009-06-10 14:44 +0000
rt19447_v9_6_1 new ebersman // 2009-06-10 17:00 +0000
rt19447_v9_6_1_patch new ebersman // 2009-06-10 17:20 +0000
rt19495 new marka // 2009-01-19 01:19 +0000
rt19563 new jinmei // 2009-04-11 02:39 +0000
rt19589 new jreed // 2009-05-07 13:43 +0000
rt19624 new fdupont // 2009-05-06 11:11 +0000
rt19625 new fdupont // 2009-04-24 08:59 +0000
rt19653 new
rt19654 new marka // 2009-05-06 23:22 +0000
rt19657 new fdupont // 2009-05-01 09:53 +0000
rt19750 new marka // 2009-07-01 07:18 +0000
rt19773 new each // 2009-07-02 21:22 +0000
rt19780 new jinmei // 2009-06-08 03:12 +0000
rt19816 new each // 2009-06-12 22:33 +0000
rt19874 new each // 2009-08-05 22:36 +0000
rt19875 new each // 2009-07-04 22:47 +0000
rt19910 new marka // 2009-07-09 02:38 +0000
rt19942 new each // 2009-08-27 23:01 +0000
rt19943 new each // 2009-09-15 03:18 +0000
rt20001 new each // 2009-08-05 15:54 +0000
rt20023 new fdupont // 2009-07-31 15:08 +0000
rt20037 new marka // 2009-08-11 07:46 +0000
rt20044 new fdupont // 2009-08-07 18:59 +0000
rt20062 new marka // 2009-08-10 05:00 +0000
rt20062a new marka // 2009-09-14 04:51 +0000
rt20112 new marka // 2009-08-18 05:22 +0000
rt20191 new vjs // 2009-09-20 01:55 +0000
rt20225 new fdupont // 2009-09-18 11:50 +0000
rt20230 new fdupont // 2009-09-19 22:45 +0000
rt20236 new fdupont // 2009-09-19 22:34 +0000
rt20247 new each // 2009-09-11 03:22 +0000
rt20253 new sar // 2009-09-11 22:17 +0000
rt20257 new fdupont // 2009-09-18 16:53 +0000
shane_dbbackend open
skan open explorer
skan-metazones1 private explorer
skan_implicit_update1 open explorer
skan_lruttl open explorer
skan_stats1 open explorer
skan_stats2 open explorer
skan_stats3 open explorer
skan_stats4 open explorer
skan_zonemaint new
sp1213 open
sp1324 new marka // 2007-06-29 05:40 +0000
sp1705 new
sp1705a new
sp2708 new marka // 2009-08-20 02:00 +0000
stats_lidl open
v6source open
v9_1 active // security fixes only
v9_1_1_patch active // security fixes 9.1.1 only
v9_2 active
v9_2_0_patch active // security fixes 9.2.0 only
v9_2_1_patch active // security fixes 9_2_1 only
v9_2_2_delegation_only active // 9.2.2-P1, 9.2.2-P2, 9.2.2-P3
v9_2_2base active // security fixes 9.2.2 only
v9_2_4base active // security fixes 9.2.4 only
v9_2_6_patch active // security fixes 9.2.6 only
v9_2_7_patch active // security fixes 9.2.7 only
v9_2_8_patch active // security fixes 9.2.9 only
v9_3 active
v9_3_0base active // security fixes 9.3.0 only
v9_3_2_patch active // security fixes 9.3.2 only
v9_3_4-cisco active
v9_3_4_patch active // security fixes 9.3.4 only
v9_3_5_P1 new each // 2008-05-22 20:42 +0000
v9_3_5_P2_W1 new mayer // 2008-08-16 03:50 +0000
v9_3_5_P2_danny new
v9_3_5_P2_win32 new each // 2008-08-21 02:21 +0000
v9_3_5_patch new
v9_4 active
v9_4_1_P1_lruttl active
v9_4_1_patch active // security fixes 9.4.1 only
v9_4_2_P1 new each // 2008-05-22 21:12 +0000
v9_4_2_P2_W1 new mayer // 2008-08-09 19:33 +0000
v9_4_2_P2_danny new
v9_4_2_P2_michael new
v9_4_2_P2_win32 new each // 2008-08-21 00:20 +0000
v9_4_2_patch active // security fixes 9.4.2 only
v9_4_2_patch_attservfail new
v9_4_3_patch new marka // 2008-12-23 00:04 +0000
v9_5 active
v9_5_0_P2_W1 new mayer // 2008-08-16 21:14 +0000
v9_5_0_P2_danny new
v9_5_0_P2_win32 new marka // 2008-09-04 05:59 +0000
v9_5_0_patch active // security fixes 9.5.0 only
v9_5_1_patch new marka // 2008-12-03 02:07 +0000
v9_6 new marka // 2008-11-30 22:53 +0000
v9_6_0_patch new marka // 2008-12-23 01:13 +0000
v9_6_1_patch new marka // 2009-07-28 14:11 +0000
a6_remove closed
adb_race closed
additional_cache closed // additional RRs caching for performance
additional_cache_rt6496 closed
avoid_gettimeofday closed
bind9-gss-tsig closed // ancient (circa 9.2.3) gss-tsig attempt, never worked
bind9-gsstsig closed // ancient (circa 9.2.3) gss-tsig attempt, never worked
blabel-cleanup closed
chroot closed
compiled_zonefile closed // wire format zone file, under development (moved to rt13587)
da closed // aborted DNSSEC DA flag
delegation_only closed
dighost closed
dlz closed // old version of dlz patch, merge never completed
ds closed
ds13 closed
ds_12 closed
edns1 closed
edns_size closed
gssapi3-skan closed
gsstsig2 closed // old (circa 9.3.0) gss-tsig, finally worked with hacked heimdal spnego
gsstsig3 closed
ietf71 closed // 2008-03-12 04:10 +0000
ifiter_getifaddrs closed
ipl closed
ipv6-improvements closed
ipv6-scope closed
ipv6_6to4 closed
ksk closed
marka_google closed
newconfig closed
optin closed // aborted DNSSEC OPTIN code
peter closed // hostname.bind for 9.2.x
queryperf-v6 closed // IPv6 transport support for queryperf
rdata_split closed
resign closed // 2007-10-19 03:57 +0000
rt10038 closed
rt10049 closed
rt10105 closed
rt10114 closed
rt10115 closed
rt10131 closed
rt10132 closed
rt10133 closed
rt10134 closed
rt10147 closed
rt10148 closed
rt10150 closed
rt10194 closed
rt10202 closed
rt10208 closed
rt10221 closed
rt10236 closed
rt10272 closed
rt10272a closed
rt10331 closed
rt10345 closed
rt10346 closed
rt10381 closed
rt10440 closed
rt10440a closed
rt10452 closed
rt10461 closed
rt10497 closed
rt10508 closed
rt10565 closed
rt10590 closed
rt10642 closed
rt10704 closed
rt10718 closed
rt10764 closed // empty
rt10838 closed
rt10847 closed
rt10861 closed
rt1091 closed // 2007-10-22 02:27 +0000
rt1091a closed // 2007-11-19 03:11 +0000
rt10920 closed
rt10925 closed
rt10929 closed
rt10991 closed
rt11013 closed
rt11065 closed
rt11069 closed
rt11069_v9_2 closed
rt11101 closed
rt11116 closed
rt11117 closed
rt11118 closed
rt11119 closed
rt11127 closed
rt11132 closed
rt11149 closed
rt11156 closed
rt11156_v9_2 closed
rt11163 closed
rt11163_1 closed
rt11177 closed
rt11179 closed
rt11206 closed
rt11208 closed
rt11237 closed
rt11280 closed
rt11288 closed
rt11331 closed
rt113347 closed // rt11347
rt11360 closed
rt11382 closed // DLZ
rt11398 closed
rt11398a closed // old doxygen dev
rt11398b closed
rt11398c closed
rt11432 closed
rt11436 closed
rt11439 closed
rt11445 closed
rt11446 closed
rt11486 closed
rt11541 closed
rt11542 closed
rt11582 closed
rt11595 closed
rt11600 closed
rt11681 closed
rt11697 closed
rt11706 closed
rt11714 closed
rt11742 closed
rt11943 closed
rt12017 closed // 2007-12-13 01:00 +0000
rt12023 closed
rt12024 closed
rt12133 closed
rt12154 closed
rt12281 closed
rt12286 closed
rt12321 closed
rt12321a closed
rt12321b closed
rt12322 closed
rt12323 closed
rt12327 closed
rt12328 closed
rt12352 closed
rt12375 closed
rt12376 closed
rt12404 closed
rt12410 closed
rt12416 closed
rt12467 closed
rt12492 closed
rt12493 closed
rt12498 closed
rt12505a closed
rt12505b closed
rt12519 closed
rt12541 closed
rt12557 closed
rt12581 closed
rt12634 closed
rt12658 closed
rt12695 closed
rt12729 closed
rt12729a closed
rt12745 closed
rt12745a closed
rt12774 closed
rt12788 closed
rt12790 closed
rt12810 closed
rt12810a closed
rt12838 closed
rt12866 closed
rt12894 closed
rt12895 closed
rt12907 closed
rt12919 closed
rt12933 closed
rt12937 closed
rt12942 closed
rt12970 closed
rt12971 closed
rt12995 closed
rt13002 closed
rt13009 closed
rt13015 closed
rt13016 closed
rt13062 closed
rt13077 closed
rt13086 closed
rt13101 closed
rt13124 closed
rt13153 closed
rt13154 closed
rt13205 closed
rt13212 closed
rt13219 closed
rt13230 closed
rt13238 closed
rt13239 closed
rt13378 closed
rt13382 closed
rt13396 closed
rt13428 closed
rt13438 closed
rt13455 closed
rt13463 closed
rt13483 closed
rt13501 closed
rt13505 closed
rt13511 closed
rt13526 closed
rt13547 closed
rt13587 closed
rt13593 closed
rt13593a closed
rt13597 closed
rt13605 closed
rt13606 closed // TSIG SHA256
rt13609 closed
rt13620 closed
rt13659 closed
rt13662 closed // abandoned
rt13662_alt closed // abandoned
rt13662_alt2 closed // rrset-order fixed
rt13694 closed
rt13707 closed
rt13714 closed
rt13745 closed
rt13753 closed
rt13754 closed
rt13771 closed
rt13780 closed
rt14606 closed
rt14616 closed
rt14623 closed
rt14666 closed
rt14673 closed
rt14685 closed
rt14686 closed
rt14695 closed
rt1471 closed
rt14775 closed
rt14801 closed
rt14802 closed
rt14814 closed
rt14815a closed // abandoned
rt14816 closed
rt14841 closed
rt14846 closed
rt14851 closed
rt14852 closed
rt14855 closed
rt14873 closed
rt14890 closed
rt14892 closed
rt14916 closed
rt14918 closed
rt14919 closed
rt14931 closed
rt14932 closed
rt14933 closed // DLV
rt14933a closed
rt14951 closed
rt14953 closed
rt14959 closed
rt14962 closed
rt14963 closed // bad wildcard grants
rt14965 closed // windows fixes
rt14967 closed
rt14991 closed
rt14995 closed
rt14996 closed // tune based on request load
rt14998 closed
rt15005 closed
rt15006 closed
rt15020 closed
rt15034 closed
rt15036 closed // ixfr-from-differences serial
rt15103 closed
rt15148 closed
rt15215 closed
rt15216 closed
rt15256 closed
rt15347 closed
rt15383 closed
rt15391 closed
rt15402 closed
rt15404 closed
rt15408 closed
rt15412 closed
rt15430 closed
rt15441 closed
rt15452 closed
rt15460 closed
rt15465 closed
rt15469 closed
rt15473 closed
rt15473b closed
rt15474 closed
rt15483 closed
rt15491 closed
rt15516 closed
rt15518 closed
rt15519 closed
rt15529 closed
rt15544 closed
rt15544b closed
rt15562 closed
rt15568 closed
rt15586 closed
rt15592 closed
rt15608 closed
rt15613 closed
rt15620 closed
rt15628 closed
rt15633 closed
rt15636 closed
rt15642 closed
rt15647 closed
rt15649 closed
rt15674 closed
rt15694 closed
rt15695 closed
rt15702 closed
rt15704 closed
rt15709 closed
rt15723 closed
rt15727 closed
rt1572a closed // bad rt#
rt15739 closed
rt15742 closed
rt15753 closed
rt15758 closed
rt15758a closed
rt15776 closed
rt15779 closed
rt15780 closed
rt15795 closed
rt15807 closed
rt15808 closed
rt15812 closed
rt15813 closed
rt15817 closed
rt15818 closed
rt15825 closed
rt15835 closed
rt15840 closed
rt15844 closed
rt15849 closed
rt15855 closed
rt15878 closed
rt15941 closed
rt15949 closed // 2007-05-17 02:25 +0000
rt15958 closed
rt15959 closed
rt15960 closed
rt15970 closed
rt15976 closed
rt15978 closed
rt15992 closed
rt16020 closed
rt16022 closed
rt16026 closed
rt16027 closed
rt16030 closed
rt16034 closed
rt16037 closed
rt16073 closed
rt16074 closed
rt16075 closed
rt16117 closed
rt16122 closed
rt16123 closed
rt16124 closed
rt16156 closed
rt16170 closed
rt16179 closed
rt16182 closed
rt16183 closed
rt16187 closed
rt16218 closed
rt16218a closed
rt16219 closed
rt16220 closed
rt16220a closed
rt16244 closed
rt16290 closed
rt16291 closed // 2007-02-06 22:29 +0000
rt16292 closed
rt16299 closed // 2007-05-17 01:08 +0000
rt16300 closed
rt16307 closed
rt16313 closed
rt16315 closed
rt16317 closed
rt16320 closed
rt16324 closed
rt16326 closed
rt16341 closed
rt16354 closed
rt16361 closed
rt16363 closed
rt16365 closed // 2007-05-16 14:39 +0000
rt16368 closed // 2007-05-16 14:11 +0000
rt16388 closed
rt16391 closed
rt16399 closed
rt16401 closed
rt16403 closed
rt16411 closed
rt16415 closed
rt16417 closed
rt16426 closed
rt16427 closed
rt16437 closed // post 9.4.0
rt16444 closed
rt16447 closed
rt16455 closed
rt16456 closed
rt16460 closed
rt16463 closed // 2007-05-16 06:10 +0000
rt16476 closed
rt16481 closed // 2007-05-15 06:54 +0000
rt16491 closed
rt16497 closed // 2007-05-15 05:07 +0000
rt16499 closed
rt16502 closed
rt16507 closed
rt16553 closed
rt16555 closed
rt16563 closed
rt16584 closed
rt16592 closed // windows condition variable
rt16599 closed // 2007-03-01 05:23 +0000
rt16609 closed // post 9.4.0
rt16612 closed // post 9.4.0
rt16613 closed // post 9.4.0
rt16619 closed // post 9.4.0
rt16622 closed // post 9.4.0
rt16635 closed
rt16640 closed
rt16641 closed // post 9.4.0
rt16647 closed // 2007-02-09 02:18 +0000
rt16653 closed // 2007-02-07 05:11 +0000
rt16654 closed // 2007-02-07 06:10 +0000
rt16655 closed // 2007-02-08 02:41 +0000
rt16665 closed // 2007-02-12 06:11 +0000
rt16685 closed // 2007-02-28 06:01 +0000
rt16698 closed // 2007-03-09 02:41 +0000
rt16707 closed // 2007-03-13 05:13 +0000
rt16711 closed // 2007-03-09 02:33 +0000
rt16743 closed
rt16763 closed // 2007-04-02 06:31 +0000
rt16764 closed // 2007-03-25 23:35 +0000
rt16768 closed // 2007-03-27 01:58 +0000
rt16785 closed // 2007-04-03 02:53 +0000
rt16798 closed // 2007-05-14 06:18 +0000
rt16821 closed // 2007-05-14 05:44 +0000
rt16832 closed // 2007-05-03 02:30 +0000
rt16832a closed // 2007-05-16 23:09 +0000
rt16834 closed // 2007-04-29 23:52 +0000
rt16871 closed // 2007-05-16 00:07 +0000
rt16906 closed // 2007-05-23 02:51 +0000
rt16908 closed // 2007-05-29 01:48 +0000
rt16911 closed // 2007-05-27 23:20 +0000
rt16915 closed // 2007-06-05 23:48 +0000
rt16915a closed // 2007-06-25 03:06 +0000
rt16958 closed
rt16976 closed // 2007-08-16 01:15 +0000
rt16982 closed // 2007-07-03 00:33 +0000
rt16987 closed // 2007-07-03 01:20 +0000
rt16987a closed // 2007-07-03 01:25 +0000
rt17017 closed // 2007-08-10 05:20 +0000
rt17028 closed // 2007-08-14 03:18 +0000
rt17049 closed // 2007-08-13 04:30 +0000
rt17058 closed // 2007-08-02 00:39 +0000
rt17067 closed // 2007-09-11 13:18 +0000
rt17073 closed // 2007-09-12 03:46 +0000
rt17074 closed // 2007-08-13 15:01 +0000
rt17078 closed // 2007-08-13 06:11 +0000
rt17085 closed // 2007-09-07 07:08 +0000
rt17092 closed // 2007-08-21 06:00 +0000
rt17094 closed // 2007-08-17 02:27 +0000
rt17097 closed // 2007-08-20 07:30 +0000
rt17098 closed // 2007-08-19 23:14 +0000
rt17101 closed // 2007-08-20 22:38 +0000
rt17106 closed // 2007-08-30 00:30 +0000
rt17111 closed // 2007-08-28 01:24 +0000
rt17113 closed // 2007-09-06 05:18 +0000
rt17113_v9_4 closed // 2007-09-07 04:40 +0000
rt17114 closed // 2007-09-06 01:59 +0000
rt17120 closed
rt17121 closed
rt17123 closed // 2007-09-06 01:09 +0000
rt17127 closed // 2007-09-03 04:09 +0000
rt17132 closed
rt17134 closed
rt17135 closed // 2007-09-07 02:28 +0000
rt17137 closed // 2007-09-10 23:47 +0000
rt17140 closed
rt17147 closed // 2007-09-19 04:49 +0000
rt17155 closed // 2007-09-18 01:54 +0000
rt17159 closed // 2007-10-16 04:32 +0000
rt17160 closed // 2007-09-19 03:58 +0000
rt17175 closed
rt17178 closed // 2007-10-24 08:43 +0000
rt17216 closed
rt17222 closed // 2007-10-24 08:04 +0000
rt17235 closed // 2007-10-19 01:19 +0000
rt17236 closed // 2007-10-29 16:43 +0000
rt17237 closed // re-signing
rt17272 closed // 2007-11-19 21:28 +0000
rt1727b closed
rt1727c closed
rt17307 closed // 2007-11-26 03:55 +0000
rt17311 closed // 2007-11-27 01:45 +0000
rt17332 closed
rt17354 closed // 2007-12-11 05:50 +0000
rt17378 closed // 2007-12-20 01:15 +0000
rt2471 closed
rt288 closed
rt3445 closed
rt3469 closed
rt3502 closed
rt3507 closed // pull down by explorer
rt3517 closed
rt3536 closed // ixfr
rt3588 closed
rt3598 closed
rt3625 closed
rt3653 closed
rt3666 closed
rt3746 closed
rt3746_lidl closed
rt3892 closed
rt3907 closed
rt4090 closed
rt4112 closed
rt4268 closed
rt4319 closed
rt4347 closed
rt4389 closed
rt4398 closed
rt4404 closed
rt4425 closed
rt4441 closed
rt4463 closed
rt4663 closed
rt4675 closed
rt4687 closed
rt4706 closed
rt4715 closed
rt4764 closed
rt4796 closed
rt4802 closed
rt4898 closed
rt4940 closed
rt5033 closed
rt5041 closed
rt5042 closed
rt5044 closed
rt5066 closed
rt5066a closed
rt5084 closed
rt5099 closed
rt5124 closed
rt5127 closed
rt5182 closed
rt5192 closed
rt5204 closed
rt5206_1 closed
rt5228 closed
rt5299 closed
rt5318 closed
rt5397 closed
rt5456 closed
rt5528 closed
rt5577 closed
rt5586 closed
rt5599 closed
rt5746a closed // rt3746
rt5764 closed
rt6189 closed
rt6206 closed
rt6225 closed
rt6229 closed
rt6427 closed
rt6432 closed
rt6496 closed
rt6496a closed
rt6496b closed
rt6539 closed
rt6636 closed
rt6813 closed
rt7391 closed
rt7572 closed
rt8138 closed
rt8358 closed
rt8373 closed
rt8534 closed
rt8753 closed // support IPv6-scoped addr in dig
rt8934 closed
rt9091 closed
rt9099 closed
rt9099x closed
rt9164 closed
rt9189 closed
rt9239 closed
rt9239_base closed
rt9319 closed
rt9341 closed
rt9442 closed
rt9475 closed
rt9479 closed
rt9479_v9_2 closed
rt9940 closed
rt9941 closed
rt9976 closed
rt9979 closed
rt9989 closed
rt9997 closed
rt9997a closed
rt9998 closed
skan-tcr closed
skan-typecode-roll closed
skan-typecode-roll2 closed
slavefix closed
v9_0 closed
v9_1_3_delegation_only closed
v9_1_3_do_base closed
v9_1_4_base closed
v9_3_0beta2_dlv closed
ws20030120 closed // workshop branch
ws20030120_tcr closed // workshop branch
ws20030312 closed
ws20030312_optin closed // workshop branch
ws20030312_tcr closed // workshop branch

File diff suppressed because it is too large Load Diff

View File

@@ -1,900 +0,0 @@
LIBRARY libdns
; Exported Functions
EXPORTS
dns_acache_attach
dns_acache_attachentry
dns_acache_cancelentry
dns_acache_create
dns_acache_createentry
dns_acache_detach
dns_acache_detachentry
dns_acache_getentry
dns_acache_putdb
dns_acache_setcachesize
dns_acache_setcleaninginterval
dns_acache_setdb
dns_acache_setentry
dns_acache_shutdown
dns_acl_any
dns_acl_attach
dns_acl_create
dns_acl_detach
dns_acl_isany
dns_acl_isinsecure
dns_acl_isnone
dns_acl_match
dns_acl_merge
dns_acl_none
dns_aclelement_match
dns_aclenv_copy
dns_aclenv_destroy
dns_aclenv_init
dns_adb_adjustsrtt
dns_adb_attach
dns_adb_cancelfind
dns_adb_changeflags
dns_adb_create
dns_adb_createfind
dns_adb_destroyfind
dns_adb_detach
dns_adb_dump
dns_adb_dumpfind
dns_adb_findaddrinfo
dns_adb_flush
dns_adb_freeaddrinfo
dns_adb_marklame
dns_adb_setadbsize
dns_adb_shutdown
dns_adb_whenshutdown
dns_byaddr_cancel
dns_byaddr_create
dns_byaddr_createptrname
dns_byaddr_createptrname2
dns_byaddr_destroy
dns_cache_attach
dns_cache_attachdb
dns_cache_clean
dns_cache_create
dns_cache_create2
dns_cache_detach
dns_cache_dump
dns_cache_flush
dns_cache_getcachesize
dns_cache_getcleaninginterval
dns_cache_getname
dns_cache_load
dns_cache_setcachesize
dns_cache_setcleaninginterval
dns_cache_setfilename
dns_cert_fromtext
dns_cert_totext
dns_compress_add
dns_compress_findglobal
dns_compress_getedns
dns_compress_getmethods
dns_compress_init
dns_compress_invalidate
dns_compress_rollback
dns_compress_setmethods
dns_compress_setsensitive
dns_counter_fromtext
dns_db_addrdataset
dns_db_allrdatasets
dns_db_attach
dns_db_attachnode
dns_db_attachversion
dns_db_beginload
dns_db_class
dns_db_closeversion
dns_db_create
dns_db_createiterator
dns_db_createsoatuple
dns_db_currentversion
dns_db_deleterdataset
dns_db_detach
dns_db_detachnode
dns_db_diff
dns_db_dump
dns_db_endload
dns_db_expirenode
dns_db_find
dns_db_findnode
dns_db_findnsec3node
dns_db_findrdataset
dns_db_findzonecut
dns_db_getnsec3parameters
dns_db_getoriginnode
dns_db_getrrsetstats
dns_db_getsoaserial
dns_db_iscache
dns_db_isdnssec
dns_db_ispersistent
dns_db_issecure
dns_db_isstub
dns_db_iszone
dns_db_load
dns_db_load2
dns_db_load3
dns_db_newversion
dns_db_nodecount
dns_db_ondestroy
dns_db_origin
dns_db_overmem
dns_db_printnode
dns_db_register
dns_db_subtractrdataset
dns_db_unregister
dns_dbiterator_current
dns_dbiterator_destroy
dns_dbiterator_first
dns_dbiterator_last
dns_dbiterator_next
dns_dbiterator_origin
dns_dbiterator_pause
dns_dbiterator_prev
dns_dbiterator_seek
dns_dbiterator_setcleanmode
dns_dbtable_add
dns_dbtable_adddefault
dns_dbtable_attach
dns_dbtable_create
dns_dbtable_detach
dns_dbtable_find
dns_dbtable_getdefault
dns_dbtable_remove
dns_dbtable_removedefault
dns_decompress_edns
dns_decompress_getmethods
dns_decompress_init
dns_decompress_invalidate
dns_decompress_setmethods
dns_decompress_type
dns_diff_append
dns_diff_appendminimal
dns_diff_apply
dns_diff_applysilently
dns_diff_clear
dns_diff_init
dns_diff_load
dns_diff_print
dns_diff_sort
dns_difftuple_copy
dns_difftuple_create
dns_difftuple_free
dns_dispatch_addresponse
dns_dispatch_attach
dns_dispatch_cancel
dns_dispatch_changeattributes
dns_dispatch_createtcp
dns_dispatch_detach
dns_dispatch_getlocaladdress
dns_dispatch_getsocket
dns_dispatch_getudp
dns_dispatch_importrecv
dns_dispatch_removeresponse
dns_dispatch_starttcp
dns_dispatchmgr_create
dns_dispatchmgr_destroy
dns_dispatchmgr_getblackhole
dns_dispatchmgr_setavailports
dns_dispatchmgr_setblackhole
dns_dispatchmgr_setblackportlist
dns_dispatchmgr_setstats
dns_dlzallowzonexfr
dns_dlzcreate
dns_dlzdestroy
dns_dlzfindzone
dns_dlzregister
dns_dlzstrtoargv
dns_dlzunregister
dns_dnssec_findzonekeys
dns_dnssec_findzonekeys2
dns_dnssec_findmatchingkeys
dns_dnssec_keyfromrdata
dns_dnssec_selfsigns
dns_dnssec_sign
dns_dnssec_signmessage
dns_dnssec_verify
dns_dnssec_verify2
dns_dnssec_verifymessage
dns_dnsseckey_create
dns_dnsseckey_destroy
dns_ds_buildrdata
dns_ds_digest_supported
dns_dumpctx_detach
dns_fwdtable_add
dns_fwdtable_create
dns_fwdtable_destroy
dns_fwdtable_find
dns_generalstats_create
dns_generalstats_dump
dns_generalstats_increment
dns_iptable_addprefix
dns_iptable_attach
dns_iptable_create
dns_iptable_detach
dns_iptable_merge
dns_journal_begin_transaction
dns_journal_commit
dns_journal_current_rr
dns_journal_destroy
dns_journal_first_rr
dns_journal_first_serial
dns_journal_iter_init
dns_journal_last_serial
dns_journal_next_rr
dns_journal_open
dns_journal_print
dns_journal_rollforward
dns_journal_write_transaction
dns_journal_writediff
dns_keydata_fromdnskey
dns_keydata_todnskey
dns_keyflags_fromtext
dns_keynode_key
dns_keynode_managed
dns_keytable_add
dns_keytable_attach
dns_keytable_create
dns_keytable_delete
dns_keytable_deletekeynode
dns_keytable_detach
dns_keytable_detachkeynode
dns_keytable_find
dns_keytable_finddeepestmatch
dns_keytable_findkeynode
dns_keytable_findnextkeynode
dns_keytable_issecuredomain
dns_keytable_marksecure
dns_keytable_nextkeynode
dns_lib_initmsgcat
dns_loadctx_attach
dns_loadctx_cancel
dns_loadctx_detach
dns_log_init
dns_log_setcontext
dns_lookup_cancel
dns_lookup_create
dns_lookup_destroy
dns_master_dump
dns_master_dumpnode
dns_master_dumpnodetostream
dns_master_dumptostream
dns_master_dumptostream2
dns_master_dumptostreaminc
dns_master_loadbuffer
dns_master_loadbufferinc
dns_master_loadfile
dns_master_loadfileinc
dns_master_loadstream
dns_master_loadstreaminc
dns_master_questiontotext
dns_master_rdatasettotext
dns_master_stylecreate
dns_master_styledestroy
dns_message_addname
dns_message_checksig
dns_message_create
dns_message_currentname
dns_message_destroy
dns_message_find
dns_message_findname
dns_message_findtype
dns_message_firstname
dns_message_getopt
dns_message_getquerytsig
dns_message_getrawmessage
dns_message_getsig0
dns_message_getsig0key
dns_message_gettempname
dns_message_gettempoffsets
dns_message_gettemprdata
dns_message_gettemprdatalist
dns_message_gettemprdataset
dns_message_gettimeadjust
dns_message_gettsig
dns_message_gettsigkey
dns_message_movename
dns_message_nextname
dns_message_parse
dns_message_peekheader
dns_message_pseudosectiontotext
dns_message_puttempname
dns_message_puttemprdata
dns_message_puttemprdatalist
dns_message_puttemprdataset
dns_message_rechecksig
dns_message_removename
dns_message_renderbegin
dns_message_renderchangebuffer
dns_message_renderend
dns_message_renderheader
dns_message_renderrelease
dns_message_renderreserve
dns_message_renderreset
dns_message_rendersection
dns_message_reply
dns_message_reset
dns_message_resetsig
dns_message_sectiontotext
dns_message_setopt
dns_message_setquerytsig
dns_message_setsig0key
dns_message_setsortorder
dns_message_settimeadjust
dns_message_settsigkey
dns_message_signer
dns_message_takebuffer
dns_message_totext
dns_name_clone
dns_name_compare
dns_name_concatenate
dns_name_copy
dns_name_countlabels
dns_name_destroy
dns_name_digest
dns_name_downcase
dns_name_dup
dns_name_dupwithoffsets
dns_name_dynamic
dns_name_equal
dns_name_format
dns_name_free
dns_name_fromregion
dns_name_fromtext
dns_name_fromstring
dns_name_fromwire
dns_name_fullcompare
dns_name_getlabel
dns_name_getlabelsequence
dns_name_hasbuffer
dns_name_hash
dns_name_init
dns_name_internalwildcard
dns_name_invalidate
dns_name_isabsolute
dns_name_issubdomain
dns_name_iswildcard
dns_name_matcheswildcard
dns_name_print
dns_name_rdatacompare
dns_name_reset
dns_name_setbuffer
dns_name_settotextfilter
dns_name_split
dns_name_tofilenametext
dns_name_toregion
dns_name_tostring
dns_name_totext
dns_name_towire
dns_ncache_add
dns_ncache_getrdataset
dns_ncache_towire
dns_nsec3_active
dns_nsec3_addnsec3
dns_nsec3_addnsec3s
dns_nsec3_buildrdata
dns_nsec3_delnsec3
dns_nsec3_delnsec3s
dns_nsec3_hashlength
dns_nsec3_hashname
dns_nsec3_maxiterations
dns_nsec3_supportedhash
dns_nsec3_typepresent
dns_nsec_build
dns_nsec_buildrdata
dns_nsec_nseconly
dns_nsec_typepresent
dns_opcode_totext
dns_opcodestats_create
dns_opcodestats_dump
dns_opcodestats_increment
dns_order_add
dns_order_attach
dns_order_create
dns_order_detach
dns_order_find
dns_peer_attach
dns_peer_detach
dns_peer_getbogus
dns_peer_getkey
dns_peer_getmaxudp
dns_peer_getprovideixfr
dns_peer_getrequestixfr
dns_peer_getsupportedns
dns_peer_gettransferformat
dns_peer_gettransfers
dns_peer_new
dns_peer_newprefix
dns_peer_setbogus
dns_peer_setkey
dns_peer_setkeybycharp
dns_peer_setmaxudp
dns_peer_setnotifysource
dns_peer_setprovideixfr
dns_peer_setquerysource
dns_peer_setrequestixfr
dns_peer_setrequestnsid
dns_peer_setsupportedns
dns_peer_settransferformat
dns_peer_settransfers
dns_peer_settransfersource
dns_peer_setudpsize
dns_peerlist_addpeer
dns_peerlist_attach
dns_peerlist_currpeer
dns_peerlist_detach
dns_peerlist_new
dns_peerlist_peerbyaddr
dns_portlist_add
dns_portlist_create
dns_portlist_detach
dns_rbt_addname
dns_rbt_addnode
dns_rbt_create
dns_rbt_deletename
dns_rbt_deletenode
dns_rbt_destroy
dns_rbt_findname
dns_rbt_findnode
dns_rbt_formatnodename
dns_rbt_fullnamefromnode
dns_rbt_namefromnode
dns_rbt_nodecount
dns_rbt_printall
dns_rbtnodechain_current
dns_rbtnodechain_first
dns_rbtnodechain_init
dns_rbtnodechain_invalidate
dns_rbtnodechain_last
dns_rbtnodechain_next
dns_rbtnodechain_prev
dns_rbtnodechain_reset
dns_rcode_fromtext
dns_rcode_totext
dns_rdata_additionaldata
dns_rdata_checkowner
dns_rdata_clone
dns_rdata_compare
dns_rdata_covers
dns_rdata_digest
dns_rdata_freestruct
dns_rdata_fromregion
dns_rdata_fromstruct
dns_rdata_fromtext
dns_rdata_fromwire
dns_rdata_init
dns_rdata_reset
dns_rdata_tofmttext
dns_rdata_toregion
dns_rdata_tostruct
dns_rdata_totext
dns_rdata_towire
dns_rdatacallbacks_init
dns_rdatacallbacks_init_stdio
dns_rdataclass_format
dns_rdataclass_fromtext
dns_rdataclass_ismeta
dns_rdataclass_totext
dns_rdatalist_init
dns_rdatalist_tordataset
dns_rdataset_additionaldata
dns_rdataset_clone
dns_rdataset_count
dns_rdataset_current
dns_rdataset_disassociate
dns_rdataset_first
dns_rdataset_getadditional
dns_rdataset_getclosest
dns_rdataset_getnoqname
dns_rdataset_init
dns_rdataset_invalidate
dns_rdataset_isassociated
dns_rdataset_makequestion
dns_rdataset_next
dns_rdataset_putadditional
dns_rdataset_setadditional
dns_rdataset_totext
dns_rdataset_towire
dns_rdataset_towiresorted
dns_rdatasetiter_current
dns_rdatasetiter_destroy
dns_rdatasetiter_first
dns_rdatasetiter_next
dns_rdatasetstats_dump
dns_rdataslab_equal
dns_rdataslab_fromrdataset
dns_rdataslab_merge
dns_rdataslab_size
dns_rdataslab_subtract
dns_rdatatype_atparent
dns_rdatatype_attributes
dns_rdatatype_format
dns_rdatatype_fromtext
dns_rdatatype_isdnssec
dns_rdatatype_isknown
dns_rdatatype_ismeta
dns_rdatatype_issingleton
dns_rdatatype_iszonecutauth
dns_rdatatype_notquestion
dns_rdatatype_questiononly
dns_rdatatype_totext
dns_rdatatypestats_create
dns_rdatatypestats_dump
dns_rdatatypestats_increment
dns_request_cancel
dns_request_create
dns_request_createraw
dns_request_createvia
dns_request_createvia3
dns_request_destroy
dns_request_getresponse
dns_request_usedtcp
dns_requestmgr_attach
dns_requestmgr_create
dns_requestmgr_detach
dns_requestmgr_shutdown
dns_requestmgr_whenshutdown
dns_resolver_addalternate
dns_resolver_algorithm_supported
dns_resolver_attach
dns_resolver_cancelfetch
dns_resolver_create
dns_resolver_createfetch
dns_resolver_createfetch2
dns_resolver_destroyfetch
dns_resolver_detach
dns_resolver_disable_algorithm
dns_resolver_dispatchmgr
dns_resolver_dispatchv4
dns_resolver_dispatchv6
dns_resolver_freeze
dns_resolver_getlamettl
dns_resolver_getoptions
dns_resolver_getudpsize
dns_resolver_getzeronosoattl
dns_resolver_logfetch
dns_resolver_nrunning
dns_resolver_prime
dns_resolver_reset_algorithms
dns_resolver_resetmustbesecure
dns_resolver_setclientsperquery
dns_resolver_setlamettl
dns_resolver_setmustbesecure
dns_resolver_setudpsize
dns_resolver_setzeronosoattl
dns_resolver_shutdown
dns_resolver_socketmgr
dns_resolver_taskmgr
dns_resolver_whenshutdown
dns_result_register
dns_result_torcode
dns_result_totext
dns_rootns_create
dns_rriterator_current
dns_rriterator_first
dns_rriterator_destroy
dns_rriterator_init
dns_rriterator_next
dns_rriterator_nextrrset
dns_rriterator_pause
dns_sdb_putnamedrr
dns_sdb_putrdata
dns_sdb_putrr
dns_sdb_putsoa
dns_sdb_register
dns_sdb_unregister
dns_sdlz_putnamedrr
dns_sdlz_putrr
dns_sdlz_putsoa
dns_sdlzregister
dns_sdlzunregister
dns_secalg_fromtext
dns_secalg_totext
dns_secproto_fromtext
dns_secproto_totext
dns_soa_getminimum
dns_soa_getserial
dns_soa_setserial
dns_ssutable_addrule
dns_ssutable_attach
dns_ssutable_checkrules
dns_ssutable_create
dns_ssutable_detach
dns_stats_alloccounters
dns_stats_detach
dns_stats_freecounters
dns_tcpmsg_cancelread
dns_tcpmsg_init
dns_tcpmsg_invalidate
dns_tcpmsg_keepbuffer
dns_tcpmsg_readmessage
dns_tcpmsg_setmaxsize
dns_time32_fromtext
dns_time32_totext
dns_time64_fromtext
dns_time64_totext
dns_timer_setidle
dns_tkey_builddeletequery
dns_tkey_builddhquery
dns_tkey_buildgssquery
dns_tkey_processdeleteresponse
dns_tkey_processdhresponse
dns_tkey_processgssresponse
dns_tkey_processquery
dns_tkeyctx_create
dns_tkeyctx_destroy
dns_tsig_sign
dns_tsig_verify
dns_tsigkey_attach
dns_tsigkey_create
dns_tsigkey_createfromkey
dns_tsigkey_detach
dns_tsigkey_find
dns_tsigkey_setdeleted
dns_tsigkeyring_add
dns_tsigkeyring_create
dns_tsigkeyring_destroy
dns_tsigrcode_fromtext
dns_tsigrcode_totext
dns_ttl_fromtext
dns_ttl_totext
dns_validator_cancel
dns_validator_create
dns_validator_destroy
dns_validator_send
dns_view_adddelegationonly
dns_view_addzone
dns_view_attach
dns_view_checksig
dns_view_create
dns_view_createresolver
dns_view_detach
dns_view_dialup
dns_view_dumpdbtostream
dns_view_excludedelegationonly
dns_view_find
dns_view_findzone
dns_view_findzonecut
dns_view_flushanddetach
dns_view_flushcache
dns_view_flushcache2
dns_view_flushname
dns_view_freeze
dns_view_freezezones
dns_view_getpeertsig
dns_view_getresquerystats
dns_view_getresstats
dns_view_gettsig
dns_view_iscacheshared
dns_view_load
dns_view_loadnew
dns_view_setcache
dns_view_setcache2
dns_view_setdstport
dns_view_sethints
dns_view_setkeyring
dns_view_setresquerystats
dns_view_setresstats
dns_view_setrootdelonly
dns_view_simplefind
dns_view_weakattach
dns_view_weakdetach
dns_viewlist_find
dns_viewlist_findzone
dns_xfrin_attach
dns_xfrin_create
dns_xfrin_detach
dns_xfrin_shutdown
dns_zone_attach
dns_zone_checknames
dns_zone_clearforwardacl
dns_zone_clearnotifyacl
dns_zone_clearqueryacl
dns_zone_clearupdateacl
dns_zone_clearxfracl
dns_zone_create
dns_zone_detach
dns_zone_dialup
dns_zone_dump
dns_zone_dumptostream
dns_zone_dumptostream2
dns_zone_expire
dns_zone_first
dns_zone_flush
dns_zone_forcereload
dns_zone_forwardupdate
dns_zone_fulldumptostream
dns_zone_getchecknames
dns_zone_getclass
dns_zone_getdb
dns_zone_getdbtype
dns_zone_getfile
dns_zone_getforwardacl
dns_zone_getidlein
dns_zone_getidleout
dns_zone_getjournal
dns_zone_getjournalsize
dns_zone_getkeydirectory
dns_zone_getmaxxfrin
dns_zone_getmaxxfrout
dns_zone_getmctx
dns_zone_getmgr
dns_zone_getnotifyacl
dns_zone_getnotifysrc4
dns_zone_getnotifysrc6
dns_zone_getoptions
dns_zone_getorigin
dns_zone_getprivatetype
dns_zone_getqueryacl
dns_zone_getrequeststats
dns_zone_getserial
dns_zone_getsigresigninginterval
dns_zone_getsigvalidityinterval
dns_zone_getssutable
dns_zone_getstatscounters
dns_zone_gettask
dns_zone_gettype
dns_zone_getupdateacl
dns_zone_getupdatedisabled
dns_zone_getview
dns_zone_getxfracl
dns_zone_getxfrsource4
dns_zone_getxfrsource6
dns_zone_getzeronosoattl
dns_zone_iattach
dns_zone_idetach
dns_zone_isforced
dns_zone_load
dns_zone_loadandthaw
dns_zone_log
dns_zone_maintenance
dns_zone_markdirty
dns_zone_name
dns_zone_next
dns_zone_notify
dns_zone_notifyreceive
dns_zone_refresh
dns_zone_replacedb
dns_zone_setacache
dns_zone_setalsonotify
dns_zone_setaltxfrsource4
dns_zone_setaltxfrsource6
dns_zone_setcheckmx
dns_zone_setchecknames
dns_zone_setcheckns
dns_zone_setchecksrv
dns_zone_setclass
dns_zone_setdbtype
dns_zone_setdialup
dns_zone_setfile
dns_zone_setfile2
dns_zone_setflag
dns_zone_setforwardacl
dns_zone_setidlein
dns_zone_setidleout
dns_zone_setisself
dns_zone_setjournal
dns_zone_setjournalsize
dns_zone_setkeydirectory
dns_zone_setmasters
dns_zone_setmasterswithkeys
dns_zone_setmaxrefreshtime
dns_zone_setmaxretrytime
dns_zone_setmaxxfrin
dns_zone_setmaxxfrout
dns_zone_setminrefreshtime
dns_zone_setminretrytime
dns_zone_setnodes
dns_zone_setnotifyacl
dns_zone_setnotifydelay
dns_zone_setnotifysrc4
dns_zone_setnotifysrc6
dns_zone_setnotifytype
dns_zone_setoption
dns_zone_setorigin
dns_zone_setprivatetype
dns_zone_setqueryacl
dns_zone_setqueryonacl
dns_zone_setrequeststats
dns_zone_setsignatures
dns_zone_setsigresigninginterval
dns_zone_setsigvalidityinterval
dns_zone_setssutable
dns_zone_setstatistics
dns_zone_setstats
dns_zone_settask
dns_zone_settype
dns_zone_setupdateacl
dns_zone_setupdatedisabled
dns_zone_setview
dns_zone_setxfracl
dns_zone_setxfrsource4
dns_zone_setxfrsource6
dns_zone_setzeronosoattl
dns_zone_signwithkey
dns_zone_unload
dns_zonekey_iszonekey
dns_zonemgr_attach
dns_zonemgr_create
dns_zonemgr_detach
dns_zonemgr_forcemaint
dns_zonemgr_getcount
dns_zonemgr_getiolimit
dns_zonemgr_getserialqueryrate
dns_zonemgr_getttransfersin
dns_zonemgr_getttransfersperns
dns_zonemgr_managezone
dns_zonemgr_releasezone
dns_zonemgr_resumexfrs
dns_zonemgr_setiolimit
dns_zonemgr_setserialqueryrate
dns_zonemgr_settransfersin
dns_zonemgr_settransfersperns
dns_zonemgr_shutdown
dns_zt_apply
dns_zt_attach
dns_zt_create
dns_zt_detach
dns_zt_find
dns_zt_flushanddetach
dns_zt_load
dns_zt_mount
dns_zt_unmount
dst_algorithm_supported
dst_context_adddata
dst_context_create
dst_context_destroy
dst_context_sign
dst_context_verify
dst_gssapi_acceptctx
dst_gssapi_acquirecred
dst_gssapi_initctx
dst_key_alg
dst_key_buildfilename
dst_key_class
dst_key_compare
dst_key_computesecret
dst_key_flags
dst_key_free
dst_key_frombuffer
dst_key_fromdns
dst_key_fromfile
dst_key_fromgssapi
dst_key_fromlabel
dst_key_fromnamedfile
dst_key_generate
dst_key_getprivateformat
dst_key_gettime
dst_key_id
dst_key_isnullkey
dst_key_isprivate
dst_key_iszonekey
dst_key_name
dst_key_paramcompare
dst_key_proto
dst_key_secretsize
dst_key_setbits
dst_key_setflags
dst_key_setprivateformat
dst_key_settime
dst_key_sigsize
dst_key_size
dst_key_tobuffer
dst_key_todns
dst_key_tofile
dst_key_unsettime
dst_lib_destroy
dst_lib_init
dst_lib_initmsgcat
dst_region_computeid
dst_result_register
dst_result_totext
; Exported Data
EXPORTS
dns_master_style_full DATA

View File

@@ -1,234 +0,0 @@
/*
* Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2003 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: ifiter_getifaddrs.c,v 1.11 2008/03/20 23:47:00 tbox Exp $ */
/*! \file
* \brief
* Obtain the list of network interfaces using the getifaddrs(3) library.
*/
#include <ifaddrs.h>
/*% Iterator Magic */
#define IFITER_MAGIC ISC_MAGIC('I', 'F', 'I', 'G')
/*% Valid Iterator */
#define VALID_IFITER(t) ISC_MAGIC_VALID(t, IFITER_MAGIC)
#ifdef __linux
static isc_boolean_t seenv6 = ISC_FALSE;
#endif
/*% Iterator structure */
struct isc_interfaceiter {
unsigned int magic; /*%< Magic number. */
isc_mem_t *mctx;
void *buf; /*%< (unused) */
unsigned int bufsize; /*%< (always 0) */
struct ifaddrs *ifaddrs; /*%< List of ifaddrs */
struct ifaddrs *pos; /*%< Ptr to current ifaddr */
isc_interface_t current; /*%< Current interface data. */
isc_result_t result; /*%< Last result code. */
#ifdef __linux
FILE * proc;
char entry[ISC_IF_INET6_SZ];
isc_result_t valid;
#endif
};
isc_result_t
isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) {
isc_interfaceiter_t *iter;
isc_result_t result;
char strbuf[ISC_STRERRORSIZE];
REQUIRE(mctx != NULL);
REQUIRE(iterp != NULL);
REQUIRE(*iterp == NULL);
iter = isc_mem_get(mctx, sizeof(*iter));
if (iter == NULL)
return (ISC_R_NOMEMORY);
iter->mctx = mctx;
iter->buf = NULL;
iter->bufsize = 0;
iter->ifaddrs = NULL;
#ifdef __linux
/*
* Only open "/proc/net/if_inet6" if we have never seen a IPv6
* address returned by getifaddrs().
*/
if (!seenv6)
iter->proc = fopen("/proc/net/if_inet6", "r");
else
iter->proc = NULL;
iter->valid = ISC_R_FAILURE;
#endif
if (getifaddrs(&iter->ifaddrs) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_IFITERGETIFADDRS,
ISC_MSG_GETIFADDRS,
"getting interface "
"addresses: getifaddrs: %s"),
strbuf);
result = ISC_R_UNEXPECTED;
goto failure;
}
/*
* A newly created iterator has an undefined position
* until isc_interfaceiter_first() is called.
*/
iter->pos = NULL;
iter->result = ISC_R_FAILURE;
iter->magic = IFITER_MAGIC;
*iterp = iter;
return (ISC_R_SUCCESS);
failure:
#ifdef __linux
if (iter->proc != NULL)
fclose(iter->proc);
#endif
if (iter->ifaddrs != NULL) /* just in case */
freeifaddrs(iter->ifaddrs);
isc_mem_put(mctx, iter, sizeof(*iter));
return (result);
}
/*
* Get information about the current interface to iter->current.
* If successful, return ISC_R_SUCCESS.
* If the interface has an unsupported address family,
* return ISC_R_IGNORE.
*/
static isc_result_t
internal_current(isc_interfaceiter_t *iter) {
struct ifaddrs *ifa;
int family;
unsigned int namelen;
REQUIRE(VALID_IFITER(iter));
ifa = iter->pos;
#ifdef __linux
if (iter->pos == NULL)
return (linux_if_inet6_current(iter));
#endif
INSIST(ifa != NULL);
INSIST(ifa->ifa_name != NULL);
if (ifa->ifa_addr == NULL)
return (ISC_R_IGNORE);
family = ifa->ifa_addr->sa_family;
if (family != AF_INET && family != AF_INET6)
return (ISC_R_IGNORE);
#ifdef __linux
if (family == AF_INET6)
seenv6 = ISC_TRUE;
#endif
memset(&iter->current, 0, sizeof(iter->current));
namelen = strlen(ifa->ifa_name);
if (namelen > sizeof(iter->current.name) - 1)
namelen = sizeof(iter->current.name) - 1;
memset(iter->current.name, 0, sizeof(iter->current.name));
memcpy(iter->current.name, ifa->ifa_name, namelen);
iter->current.flags = 0;
if ((ifa->ifa_flags & IFF_UP) != 0)
iter->current.flags |= INTERFACE_F_UP;
if ((ifa->ifa_flags & IFF_POINTOPOINT) != 0)
iter->current.flags |= INTERFACE_F_POINTTOPOINT;
if ((ifa->ifa_flags & IFF_LOOPBACK) != 0)
iter->current.flags |= INTERFACE_F_LOOPBACK;
iter->current.af = family;
get_addr(family, &iter->current.address, ifa->ifa_addr, ifa->ifa_name);
if (ifa->ifa_netmask != NULL)
get_addr(family, &iter->current.netmask, ifa->ifa_netmask,
ifa->ifa_name);
if (ifa->ifa_dstaddr != NULL &&
(iter->current.flags & IFF_POINTOPOINT) != 0)
get_addr(family, &iter->current.dstaddress, ifa->ifa_dstaddr,
ifa->ifa_name);
return (ISC_R_SUCCESS);
}
/*
* Step the iterator to the next interface. Unlike
* isc_interfaceiter_next(), this may leave the iterator
* positioned on an interface that will ultimately
* be ignored. Return ISC_R_NOMORE if there are no more
* interfaces, otherwise ISC_R_SUCCESS.
*/
static isc_result_t
internal_next(isc_interfaceiter_t *iter) {
if (iter->pos != NULL)
iter->pos = iter->pos->ifa_next;
if (iter->pos == NULL) {
#ifdef __linux
if (!seenv6)
return (linux_if_inet6_next(iter));
#endif
return (ISC_R_NOMORE);
}
return (ISC_R_SUCCESS);
}
static void
internal_destroy(isc_interfaceiter_t *iter) {
#ifdef __linux
if (iter->proc != NULL)
fclose(iter->proc);
iter->proc = NULL;
#endif
if (iter->ifaddrs)
freeifaddrs(iter->ifaddrs);
iter->ifaddrs = NULL;
}
static
void internal_first(isc_interfaceiter_t *iter) {
#ifdef __linux
linux_if_inet6_first(iter);
#endif
iter->pos = iter->ifaddrs;
}

View File

@@ -1,100 +0,0 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-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: thread.h,v 1.22 2007/06/19 23:47:20 tbox Exp $ */
#ifndef ISC_THREAD_H
#define ISC_THREAD_H 1
#include <windows.h>
#include <isc/lang.h>
#include <isc/result.h>
/*
* Inlines to help with wait retrun checking
*/
/* check handle for NULL and INVALID_HANDLE */
inline BOOL IsValidHandle( HANDLE hHandle) {
return ((hHandle != NULL) && (hHandle != INVALID_HANDLE_VALUE));
}
/* validate wait return codes... */
inline BOOL WaitSucceeded( DWORD dwWaitResult, DWORD dwHandleCount) {
return ((dwWaitResult >= WAIT_OBJECT_0) &&
(dwWaitResult < WAIT_OBJECT_0 + dwHandleCount));
}
inline BOOL WaitAbandoned( DWORD dwWaitResult, DWORD dwHandleCount) {
return ((dwWaitResult >= WAIT_ABANDONED_0) &&
(dwWaitResult < WAIT_ABANDONED_0 + dwHandleCount));
}
inline BOOL WaitTimeout( DWORD dwWaitResult) {
return (dwWaitResult == WAIT_TIMEOUT);
}
inline BOOL WaitFailed( DWORD dwWaitResult) {
return (dwWaitResult == WAIT_FAILED);
}
/* compute object indices for waits... */
inline DWORD WaitSucceededIndex( DWORD dwWaitResult) {
return (dwWaitResult - WAIT_OBJECT_0);
}
inline DWORD WaitAbandonedIndex( DWORD dwWaitResult) {
return (dwWaitResult - WAIT_ABANDONED_0);
}
typedef HANDLE isc_thread_t;
typedef unsigned int isc_threadresult_t;
typedef void * isc_threadarg_t;
typedef isc_threadresult_t (WINAPI *isc_threadfunc_t)(isc_threadarg_t);
typedef DWORD isc_thread_key_t;
#define isc_thread_self (unsigned long)GetCurrentThreadId
ISC_LANG_BEGINDECLS
isc_result_t
isc_thread_create(isc_threadfunc_t, isc_threadarg_t, isc_thread_t *);
isc_result_t
isc_thread_join(isc_thread_t, isc_threadresult_t *);
void
isc_thread_setconcurrency(unsigned int level);
int
isc_thread_key_create(isc_thread_key_t *key, void (*func)(void *));
int
isc_thread_key_delete(isc_thread_key_t key);
void *
isc_thread_key_getspecific(isc_thread_key);
int
isc_thread_key_setspecific(isc_thread_key_t key, void *value);
ISC_LANG_ENDDECLS
#endif /* ISC_THREAD_H */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,140 +0,0 @@
Copyright (C) 2004, 2005, 2008, 2009 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.16 2009/09/02 08:41:06 fdupont Exp $
BIND 9.7 for Win32 Source Build Instructions. 02-Jul-2009
Building BIND 9.7 on Windows XP/2003/2008 has the following prerequisites:
1) You need to install Perl for Windows. ActivePerl
(http://www.activestate.com/) and Strawberry Perl
(http://www.strawberryperl.com) have both been tested and found
to work.
2) OpenSSL (http://www.openssl.org) needs to be downloaded and built
on the system on which you are building BIND.
3) If you wish to use the statistics channel, LibXML2
(ftp://xmlsoft.org/libxml2) needs to be downloaded and built on
the system on which you are building BIND. (If you do not wish
to use the statistics channel, remove HAVE_LIBXML2 from config.h.win32.)
4) 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/.
Extract them at in the same directory in which you extracted the BIND9
source: If BIND9 is in \build\bind-9.7.0, for instance, OpenSSL should be
in \build\openssl-0.9.8k (subject to version number changes).
Note: Building OpenSSL requires that you install Perl as it uses
it during its build process. The following commands work as of
openssl-0.9.8k, but you should check the OpenSSL distribution
to see if the build instructions have changed:
cd openssl-0.9.8k
perl Configure VC-WIN32 --prefix=c:/openssl
ms\do_masm
nmake /f ms\ntll.mak
Step 2: Download and build libxml2
Download and untar the libxml2 sources from ftp://xmlsoft.org/libxml2.
Extract them at in the same directory in which you extracted the BIND9
source: If BIND9 is in \build\bind-9.7.0, for instance, libxml2 should
be in \build\libxml2-2.7.3 (subject to version number changes).
Now build libxml2, and copy the resulting files into the include and lib
directories:
cd libxml2-2.7.3\win32
cscript configure.js compiler=msvc vcmanifest=yes static=yes debug=no iconv=no
nmake /f Makefile.msvc libxml
Step 3: Building BIND
You must build openssl and libxml2 first.
From the command prompt cd to the win32utils directory under
the BIND9 root:
cd bind-9.7.0\win32utils
If using VC++ 6.0, run the BuildAll.bat file:
BuildAll
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 the Visual Studio GUI for building, you can just
run the BuildSetup.bat file:
BuildSetup
This will create or find and copy into place several files which are
necessary for the build to proceed. It also locates and copies into place
the DLLs for OpenSSL and libxml2.
Use BINDBuild.dsw (also located in the win32utils directory) to open the
workspace for all of the BIND9 libraries and applications. Select
"Build->Batch Build", click "Select All", then click "Build".
After the build has completed, run the BuildPost.bat file:
BuildPost
...which does post-build processing.
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.