This commit was manufactured by cvs2git to create branch 'rt19943a'.
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
@@ -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 "—">]>
|
||||
<!--
|
||||
- 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:
|
||||
-->
|
||||
@@ -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
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
1538
lib/dns/dst_api.c
1538
lib/dns/dst_api.c
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
2607
util/copyrights
2607
util/copyrights
File diff suppressed because it is too large
Load Diff
@@ -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.
|
||||
Reference in New Issue
Block a user