]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
1790. [cleanup] Move lib/dns/sec/dst up into lib/dns. This should
authorMark Andrews <marka@isc.org>
Thu, 9 Dec 2004 03:20:03 +0000 (03:20 +0000)
committerMark Andrews <marka@isc.org>
Thu, 9 Dec 2004 03:20:03 +0000 (03:20 +0000)
                        allow parallel make to succeed.

83 files changed:
CHANGES
bin/dig/win32/dig.dsp
bin/dig/win32/dig.mak
bin/dig/win32/host.dsp
bin/dig/win32/host.mak
bin/dig/win32/nslookup.dsp
bin/dig/win32/nslookup.mak
bin/dnssec/win32/keygen.dsp
bin/dnssec/win32/keygen.mak
bin/dnssec/win32/makekeyset.dsp
bin/dnssec/win32/makekeyset.mak
bin/dnssec/win32/nsupdate.dsp
bin/dnssec/win32/signkey.dsp
bin/dnssec/win32/signkey.mak
bin/dnssec/win32/signzone.dsp
bin/dnssec/win32/signzone.mak
bin/named/win32/named.dsp
bin/named/win32/named.mak
bin/nsupdate/win32/nsupdate.dsp
bin/nsupdate/win32/nsupdate.mak
bin/rndc/win32/confgen.dsp
bin/rndc/win32/confgen.mak
configure
configure.in
lib/bind/Makefile.in
lib/bind/isc/eventlib.c
lib/dns/Makefile.in
lib/dns/dst_api.c
lib/dns/dst_internal.h
lib/dns/dst_lib.c
lib/dns/dst_parse.c
lib/dns/dst_parse.h
lib/dns/dst_result.c
lib/dns/gssapi_link.c
lib/dns/gssapictx.c
lib/dns/hmac_link.c
lib/dns/include/Makefile.in
lib/dns/include/dst/Makefile.in
lib/dns/include/dst/dst.h
lib/dns/include/dst/gssapi.h
lib/dns/include/dst/lib.h
lib/dns/include/dst/result.h
lib/dns/key.c
lib/dns/openssl_link.c
lib/dns/openssldh_link.c
lib/dns/openssldsa_link.c
lib/dns/opensslrsa_link.c
lib/dns/sec/.cvsignore [deleted file]
lib/dns/sec/Makefile.in [deleted file]
lib/dns/sec/dst/.cvsignore [deleted file]
lib/dns/sec/dst/Makefile.in [deleted file]
lib/dns/sec/dst/dst_api.c [deleted file]
lib/dns/sec/dst/dst_internal.h [deleted file]
lib/dns/sec/dst/dst_lib.c [deleted file]
lib/dns/sec/dst/dst_parse.c [deleted file]
lib/dns/sec/dst/dst_parse.h [deleted file]
lib/dns/sec/dst/dst_result.c [deleted file]
lib/dns/sec/dst/gssapi_link.c [deleted file]
lib/dns/sec/dst/gssapictx.c [deleted file]
lib/dns/sec/dst/hmac_link.c [deleted file]
lib/dns/sec/dst/include/.cvsignore [deleted file]
lib/dns/sec/dst/include/Makefile.in [deleted file]
lib/dns/sec/dst/include/dst/.cvsignore [deleted file]
lib/dns/sec/dst/include/dst/Makefile.in [deleted file]
lib/dns/sec/dst/include/dst/dst.h [deleted file]
lib/dns/sec/dst/include/dst/gssapi.h [deleted file]
lib/dns/sec/dst/include/dst/lib.h [deleted file]
lib/dns/sec/dst/include/dst/result.h [deleted file]
lib/dns/sec/dst/key.c [deleted file]
lib/dns/sec/dst/openssl_link.c [deleted file]
lib/dns/sec/dst/openssldh_link.c [deleted file]
lib/dns/sec/dst/openssldsa_link.c [deleted file]
lib/dns/sec/dst/opensslrsa_link.c [deleted file]
lib/dns/win32/libdns.dsp
lib/dns/win32/libdns.mak
lib/isccc/win32/libisccc.dsp
lib/isccc/win32/libisccc.mak
lib/isccfg/win32/libisccfg.dsp
lib/isccfg/win32/libisccfg.mak
lib/lwres/win32/liblwres.dsp
lib/lwres/win32/liblwres.mak
make/includes.in
util/copyrights

diff --git a/CHANGES b/CHANGES
index d239683ec053c621bc7cec66069ab443e0d80d36..a0173ff4c15bd98bfa22565cc2338325a0b35aef 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+1790.  [cleanup]       Move lib/dns/sec/dst up into lib/dns.  This should
+                       allow parallel make to succeed.
+
 1789.  [bug]           Prerequisite test for tkey and dnssec could fail
                        with "configure --with-libtool".
 
index 63690b5f9c3f8db00310096993db1684f8c9acb8..ddd993ff61f5fcacb4411e3c8fc86b384975c44d 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /u /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 184bd1aa7417889fdc6bdc093feb3988566cd5d9..4b616a2dfaae231794bb04f73bdb4fe748d471d0 100644 (file)
@@ -43,7 +43,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -118,7 +118,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index a152b6e13120457dfa122545468bdb5422a3530a..2273adf9e974309bb4484b1fa3d2181a990a42a2 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /u /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 244e4dee813dccbd8dc215828f1994c1afaf1259..27c2849ee833dcb51b9e37401d457e27a82f92a0 100644 (file)
@@ -43,7 +43,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\host.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\host.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -118,7 +118,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index 952d96bb5c6a9c5d1e826a15fc8f118d6995ccf4..1ffe3fd049142893cd02db3c2d9289c153d096db 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /u /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 344a2458c0ee217b291bc850e2670b5a34b4a4f8..33c58381ddb446b1b1c6a3ae30d3a093cdec0317 100644 (file)
@@ -43,7 +43,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nslookup.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nslookup.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -118,7 +118,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index d6990676e7f73166f946575fa70a0e00c715a177..3510477c6279f83788373291776ccb7a27d73f6e 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 2059c412e1000014479b3e8073beaf51f0141d22..83ffd0116ce955bebc5c5f25b989a370dbceed2b 100644 (file)
@@ -43,7 +43,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\keygen.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\keygen.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -118,7 +118,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index d077a70dbfcd7d5008cd0005dac2b0fcc56a5154..f062f1da09b86f7b98c209e8fa2c7d886e9d5747 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 18a804ef983cfcdad93ecf47a39ec99a6deb6b8c..0f4a9cfc168644841542f7a1be6c30daf410ea3f 100644 (file)
@@ -43,7 +43,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\makekeyset.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\makekeyset.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -118,7 +118,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index d07e7fbfd6ad8a83bafc2c0bd86b8375307703c9..f8fde836222715ff05bde2cfee6475bf1d465fdb 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /u /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 8d2f419def0a498003fc987381d448bd1827a091..a09571043ae2c0ab02db09ede4462947f515f224 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 277fa51fec324168e399081e3ccc16fb88422181..75b05802c3db3448fc478609efa594ccef034f4a 100644 (file)
@@ -43,7 +43,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\signkey.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\signkey.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -118,7 +118,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index 27f2486536788fd3bfa342b4224b0340700ae358..172a08fdf34ddd20b4e6e238d045c8156e2f9f33 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 28215a1fc437c1569d3932a07e7bea8c2b9caa97..eaf84dbdc45943241ec9295c7353cf6fd4556693 100644 (file)
@@ -43,7 +43,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\signzone.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\signzone.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -118,7 +118,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index ce51ed665ab2fa81106007e87a3a99e34ca77f55..029704d814da54fd3cee139cf99f7e57641630c4 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 01635d528fe593a7f624960ca43c51b0431bcb4f..73741cb253f720e855381a0b09fddbddd67fd379 100644 (file)
@@ -71,7 +71,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\named.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\named.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -231,7 +231,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index d07e7fbfd6ad8a83bafc2c0bd86b8375307703c9..f8fde836222715ff05bde2cfee6475bf1d465fdb 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /u /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index a05e5ea06cfb4287eb02bbdb8355ce71cccc2235..94c84105fb4ddef00cb0cc47177071f955bcc63c 100644 (file)
@@ -42,7 +42,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nsupdate.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nsupdate.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -114,7 +114,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index 6aa68b20dce482c93c08f0190119b43fe1807a16..0525b477226fc39e51169f829a584e2b53b9fc8e 100644 (file)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c\r
 # SUBTRACT CPP /X /YX\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
index 2eafbe43d29f6f22c98e1b79301e69136293d1ba..eb9c756970da3d0642cd6a38960173d0d66e3a03 100644 (file)
@@ -46,7 +46,7 @@ CLEAN :
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\confgen.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\confgen.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\confgen.bsc" 
 BSC32_SBRS= \
@@ -91,7 +91,7 @@ CLEAN :
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/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)\confgen.bsc" 
 BSC32_SBRS= \
index 406172310d5bb1046c3d2ffe4f57a6baa8e2717e..c663a4b8881ce90059ab6866b0c0d10173a3e0f0 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.294.2.41 .
+# From configure.in Revision: 1.294.2.42 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.59.
 #
@@ -26153,7 +26153,7 @@ LIBDNS_API=$srcdir/lib/dns/api
 
 LIBLWRES_API=$srcdir/lib/lwres/api
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ac_config_files="$ac_config_files make/rules make/includes Makefile make/Makefile make/mkdep lib/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isc/nls/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/sec/Makefile lib/dns/sec/dst/Makefile lib/dns/sec/dst/include/Makefile lib/dns/sec/dst/include/dst/Makefile lib/lwres/Makefile lib/lwres/include/Makefile lib/lwres/include/lwres/Makefile lib/lwres/include/lwres/netdb.h lib/lwres/include/lwres/platform.h lib/lwres/man/Makefile lib/lwres/unix/Makefile lib/lwres/unix/include/Makefile lib/lwres/unix/include/lwres/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile bin/Makefile bin/check/Makefile bin/named/Makefile bin/named/unix/Makefile bin/rndc/Makefile bin/rndc/unix/Makefile bin/dig/Makefile bin/nsupdate/Makefile bin/tests/Makefile bin/tests/names/Makefile bin/tests/master/Makefile bin/tests/rbt/Makefile bin/tests/db/Makefile bin/tests/tasks/Makefile bin/tests/timers/Makefile bin/tests/dst/Makefile bin/tests/mem/Makefile bin/tests/net/Makefile bin/tests/sockaddr/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/lwresd/Makefile bin/tests/system/tkey/Makefile bin/tests/headerdep_test.sh bin/dnssec/Makefile doc/Makefile doc/arm/Makefile doc/arm/nominum-docbook-html.dsl doc/arm/nominum-docbook-print.dsl doc/arm/validate.sh doc/misc/Makefile docutil/docbook2man-wrapper.sh isc-config.sh"
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ac_config_files="$ac_config_files make/rules make/includes Makefile make/Makefile make/mkdep lib/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isc/nls/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/lwres/Makefile lib/lwres/include/Makefile lib/lwres/include/lwres/Makefile lib/lwres/include/lwres/netdb.h lib/lwres/include/lwres/platform.h lib/lwres/man/Makefile lib/lwres/unix/Makefile lib/lwres/unix/include/Makefile lib/lwres/unix/include/lwres/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile bin/Makefile bin/check/Makefile bin/named/Makefile bin/named/unix/Makefile bin/rndc/Makefile bin/rndc/unix/Makefile bin/dig/Makefile bin/nsupdate/Makefile bin/tests/Makefile bin/tests/names/Makefile bin/tests/master/Makefile bin/tests/rbt/Makefile bin/tests/db/Makefile bin/tests/tasks/Makefile bin/tests/timers/Makefile bin/tests/dst/Makefile bin/tests/mem/Makefile bin/tests/net/Makefile bin/tests/sockaddr/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/lwresd/Makefile bin/tests/system/tkey/Makefile bin/tests/headerdep_test.sh bin/dnssec/Makefile doc/Makefile doc/arm/Makefile doc/arm/nominum-docbook-html.dsl doc/arm/nominum-docbook-print.dsl doc/arm/validate.sh doc/misc/Makefile docutil/docbook2man-wrapper.sh isc-config.sh"
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
   "lib/dns/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/dns/Makefile" ;;
   "lib/dns/include/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/dns/include/Makefile" ;;
   "lib/dns/include/dns/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/dns/include/dns/Makefile" ;;
-  "lib/dns/sec/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/dns/sec/Makefile" ;;
-  "lib/dns/sec/dst/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/dns/sec/dst/Makefile" ;;
-  "lib/dns/sec/dst/include/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/dns/sec/dst/include/Makefile" ;;
-  "lib/dns/sec/dst/include/dst/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/dns/sec/dst/include/dst/Makefile" ;;
+  "lib/dns/include/dst/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/dns/include/dst/Makefile" ;;
   "lib/lwres/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/lwres/Makefile" ;;
   "lib/lwres/include/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/lwres/include/Makefile" ;;
   "lib/lwres/include/lwres/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/lwres/include/lwres/Makefile" ;;
index 46fc8f0ea09059eb861138ec9e0ace2477d06f84..80127867a077c3bb22af963d33fb8100b1ac3062 100644 (file)
@@ -13,7 +13,7 @@
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-AC_REVISION($Revision: 1.294.2.41 $)
+AC_REVISION($Revision: 1.294.2.42 $)
 
 AC_INIT(lib/dns/name.c)
 AC_PREREQ(2.13)
@@ -1899,10 +1899,7 @@ AC_OUTPUT(
        lib/dns/Makefile
        lib/dns/include/Makefile
        lib/dns/include/dns/Makefile
-       lib/dns/sec/Makefile
-       lib/dns/sec/dst/Makefile
-       lib/dns/sec/dst/include/Makefile
-       lib/dns/sec/dst/include/dst/Makefile
+       lib/dns/include/dst/Makefile
        lib/lwres/Makefile
        lib/lwres/include/Makefile
        lib/lwres/include/lwres/Makefile
index 4b2813d65c25bf56137753e036c718e2619c0389..1e0254b88f24be9102e90028ab073fc7ceb943d9 100644 (file)
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: Makefile.in,v 1.12.2.11 2004/12/07 00:37:29 marka Exp $
+# $Id: Makefile.in,v 1.12.2.12 2004/12/09 03:18:12 marka Exp $
 
 srcdir =        @srcdir@
 VPATH =         @srcdir@
 top_srcdir =    @top_srcdir@
 
+# Attempt to disable parallel processing.
+.NOTPARALLEL:
+.NO_PARALLEL:
+
 @LIBBIND_API@
 
 LIBS =         @LIBS@
index 2e57fd8e643a16ad62b705a7995291ce702896a7..818f12da9ff552d3ad93ad31b012a5184bfb5902 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #if !defined(LINT) && !defined(CODECENTER)
-static const char rcsid[] = "$Id: eventlib.c,v 1.2.2.4 2004/12/05 22:37:21 marka Exp $";
+static const char rcsid[] = "$Id: eventlib.c,v 1.2.2.5 2004/12/09 03:18:13 marka Exp $";
 #endif
 
 #include "port_before.h"
@@ -52,6 +52,8 @@ static int            pselect(int, void *, void *, void *,
                                const sigset_t *);
 #endif
 
+int    __evOptMonoTime;
+
 /* Public. */
 
 int
index 325c8722c1b4ccf32502504a0693f886d267ce90..7487afcc4fc8dfa86ab8f7d42cf9d3e2fc690989 100644 (file)
@@ -13,7 +13,7 @@
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: Makefile.in,v 1.126.2.12 2004/09/16 06:05:36 marka Exp $
+# $Id: Makefile.in,v 1.126.2.13 2004/12/09 03:18:13 marka Exp $
 
 srcdir =       @srcdir@
 VPATH =                @srcdir@
@@ -29,10 +29,10 @@ top_srcdir =        @top_srcdir@
 
 @BIND9_INCLUDES@
 
-CINCLUDES =    -I. -Iinclude -Iinclude/sec/dst/include \
-               ${DNS_INCLUDES} ${ISC_INCLUDES}
+CINCLUDES =    -I. -Iinclude ${DNS_INCLUDES} \
+               ${ISC_INCLUDES} @DST_OPENSSL_INC@ @DST_GSSAPI_INC@
 
-CDEFINES =
+CDEFINES =     -DUSE_MD5 @USE_OPENSSL@ @USE_GSSAPI@
 CWARNINGS =
 
 ISCLIBS =      ../../lib/isc/libisc.@A@
@@ -43,13 +43,13 @@ LIBS =              @LIBS@
 
 # Alphabetically
 
-DSTOBJS =      sec/dst/dst_api.@O@ sec/dst/dst_lib.@O@ sec/dst/dst_parse.@O@ \
-               sec/dst/dst_result.@O@ sec/dst/hmac_link.@O@ sec/dst/key.@O@
+DSTOBJS =      dst_api.@O@ dst_lib.@O@ dst_parse.@O@ \
+               dst_result.@O@ hmac_link.@O@ key.@O@
 
-OPENSSLOBJS =  sec/dst/openssl_link.@O@ sec/dst/openssldh_link.@O@ \
-               sec/dst/openssldsa_link.@O@ sec/dst/opensslrsa_link.@O@
+OPENSSLOBJS =  openssl_link.@O@ openssldh_link.@O@ \
+               openssldsa_link.@O@ opensslrsa_link.@O@
 
-GSSAPIOBJS =   sec/dst/gssapi_link.@O@ sec/dst/gssapictx.@O@
+GSSAPIOBJS =   gssapi_link.@O@ gssapictx.@O@
 
 # Alphabetically
 DNSOBJS =      a6.@O@ acl.@O@ adb.@O@ byaddr.@O@ \
@@ -69,7 +69,13 @@ DNSOBJS =    a6.@O@ acl.@O@ adb.@O@ byaddr.@O@ \
 OBJS =         ${DNSOBJS} ${OTHEROBJS} ${DSTOBJS} ${OPENSSLOBJS} ${GSSAPIOBJS}
 
 # Alphabetically
-SRCS =         a6.c acl.c adb.c byaddr.c \
+DSTSRCS =      dst_api.c dst_lib.c dst_parse.c \
+               dst_result.c gssapi_link.c gssapictx.c \
+               hmac_link.c key.c \
+               openssl_link.c openssldh_link.c \
+               openssldsa_link.c opensslrsa_link.c
+
+DNSSRCS =      a6.c acl.c adb.c byaddr.c \
                cache.c callbacks.c compress.c \
                db.c dbiterator.c dbtable.c diff.c dispatch.c \
                dnssec.c forward.c journal.c keytable.c \
@@ -82,8 +88,9 @@ SRCS =                a6.c acl.c adb.c byaddr.c \
                stats.c tcpmsg.c time.c timer.c tkey.c \
                tsig.c ttl.c validator.c \
                version.c view.c xfrin.c zone.c zonekey.c zt.c ${OTHERSRCS}
+SRCS = ${DSTSRCS} ${DNSSRCS}
 
-SUBDIRS =      include sec
+SUBDIRS =      include 
 TARGETS =      include/dns/enumtype.h include/dns/enumclass.h \
                include/dns/rdatastruct.h timestamp
 
@@ -178,6 +185,5 @@ depend: include/dns/enumtype.h include/dns/enumclass.h \
        include/dns/rdatastruct.h code.h
 subdirs: include/dns/enumtype.h include/dns/enumclass.h \
        include/dns/rdatastruct.h code.h
-${DNSOBJS}: include/dns/enumtype.h include/dns/enumclass.h \
+${OBJS}: include/dns/enumtype.h include/dns/enumclass.h \
         include/dns/rdatastruct.h
-${DSTOBJS}: subdirs
index d6d13878c90f3e59bc86b8ecb64a9dbf19b979fe..153dd2666c99b518e9dc374eb12d777bce972d78 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2003  Internet Software Consortium.
+ * Portions Copyright (C) 1999-2001, 2003  Internet Software Consortium.
  * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -18,7 +18,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: dst_api.c,v 1.1 2004/12/09 01:41:00 marka Exp $
+ * $Id: dst_api.c,v 1.1.2.1 2004/12/09 03:18:14 marka Exp $
  */
 
 #include <config.h>
 #include <isc/util.h>
 
 #include <dns/fixedname.h>
-#include <dns/keyvalues.h>
 #include <dns/name.h>
 #include <dns/rdata.h>
 #include <dns/rdataclass.h>
-#include <dns/ttl.h>
 #include <dns/types.h>
+#include <dns/keyvalues.h>
 
 #include <dst/result.h>
 
 #include "dst_internal.h"
 
-#define DST_AS_STR(t) ((t).value.as_textregion.base)
-
 static dst_func_t *dst_t_func[DST_MAX_ALGS];
+static isc_mem_t *dst_memory_pool = NULL;
 static isc_entropy_t *dst_entropy_pool = NULL;
 static unsigned int dst_entropy_flags = 0;
 static isc_boolean_t dst_initialized = ISC_FALSE;
 
-isc_mem_t *dst__memory_pool = NULL;
-
 /*
  * Static functions.
  */
@@ -69,7 +65,10 @@ static dst_key_t *   get_key_struct(dns_name_t *name,
                                       unsigned int bits,
                                       dns_rdataclass_t rdclass,
                                       isc_mem_t *mctx);
-static isc_result_t    write_public_key(const dst_key_t *key, int type,
+static isc_result_t    read_public_key(const char *filename,
+                                       isc_mem_t *mctx,
+                                       dst_key_t **keyp);
+static isc_result_t    write_public_key(const dst_key_t *key,
                                         const char *directory);
 static isc_result_t    buildfilename(dns_name_t *name,
                                      dns_keytag_t id,
@@ -89,9 +88,6 @@ static isc_result_t   frombuffer(dns_name_t *name,
 
 static isc_result_t    algorithm_status(unsigned int alg);
 
-static isc_result_t    addsuffix(char *filename, unsigned int len,
-                                 const char *ofilename, const char *suffix);
-
 #define RETERR(x)                              \
        do {                                    \
                result = (x);                   \
@@ -114,7 +110,7 @@ dst_lib_init(isc_mem_t *mctx, isc_entropy_t *ectx, unsigned int eflags) {
        REQUIRE(mctx != NULL && ectx != NULL);
        REQUIRE(dst_initialized == ISC_FALSE);
 
-       dst__memory_pool = NULL;
+       dst_memory_pool = NULL;
 
 #ifdef OPENSSL
        UNUSED(mctx);
@@ -124,12 +120,12 @@ dst_lib_init(isc_mem_t *mctx, isc_entropy_t *ectx, unsigned int eflags) {
         * Avoid assertions by using a local memory context and not checking
         * for leaks on exit.
         */
-       result = isc_mem_create(0, 0, &dst__memory_pool);
+       result = isc_mem_create(0, 0, &dst_memory_pool);
        if (result != ISC_R_SUCCESS)
                return (result);
-       isc_mem_setdestroycheck(dst__memory_pool, ISC_FALSE);
+       isc_mem_setdestroycheck(dst_memory_pool, ISC_FALSE);
 #else
-       isc_mem_attach(mctx, &dst__memory_pool);
+       isc_mem_attach(mctx, &dst_memory_pool);
 #endif
        isc_entropy_attach(ectx, &dst_entropy_pool);
        dst_entropy_flags = eflags;
@@ -141,15 +137,13 @@ dst_lib_init(isc_mem_t *mctx, isc_entropy_t *ectx, unsigned int eflags) {
 #ifdef OPENSSL
        RETERR(dst__openssl_init());
        RETERR(dst__opensslrsa_init(&dst_t_func[DST_ALG_RSAMD5]));
-       RETERR(dst__opensslrsa_init(&dst_t_func[DST_ALG_RSASHA1]));
-#ifdef HAVE_OPENSSL_DSA
        RETERR(dst__openssldsa_init(&dst_t_func[DST_ALG_DSA]));
-#endif
        RETERR(dst__openssldh_init(&dst_t_func[DST_ALG_DH]));
-#endif /* OPENSSL */
+#endif
 #ifdef GSSAPI
        RETERR(dst__gssapi_init(&dst_t_func[DST_ALG_GSSAPI]));
 #endif
+
        dst_initialized = ISC_TRUE;
        return (ISC_R_SUCCESS);
 
@@ -160,18 +154,21 @@ dst_lib_init(isc_mem_t *mctx, isc_entropy_t *ectx, unsigned int eflags) {
 
 void
 dst_lib_destroy(void) {
-       int i;
        RUNTIME_CHECK(dst_initialized == ISC_TRUE);
        dst_initialized = ISC_FALSE;
 
-       for (i = 0; i < DST_MAX_ALGS; i++)
-               if (dst_t_func[i] != NULL && dst_t_func[i]->cleanup != NULL)
-                       dst_t_func[i]->cleanup();
+       dst__hmacmd5_destroy();
 #ifdef OPENSSL
+       dst__opensslrsa_destroy();
+       dst__openssldsa_destroy();
+       dst__openssldh_destroy();
        dst__openssl_destroy();
 #endif
-       if (dst__memory_pool != NULL)
-               isc_mem_detach(&dst__memory_pool);
+#ifdef GSSAPI
+       dst__gssapi_destroy();
+#endif
+       if (dst_memory_pool != NULL)
+               isc_mem_detach(&dst_memory_pool);
        if (dst_entropy_pool != NULL)
                isc_entropy_detach(&dst_entropy_pool);
 
@@ -241,22 +238,16 @@ dst_context_adddata(dst_context_t *dctx, const isc_region_t *data) {
 
 isc_result_t
 dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig) {
-       dst_key_t *key;
-
        REQUIRE(VALID_CTX(dctx));
        REQUIRE(sig != NULL);
 
-       key = dctx->key;
-       CHECKALG(key->key_alg);
-       if (key->opaque == NULL)
+       CHECKALG(dctx->key->key_alg);
+       if (dctx->key->opaque == NULL)
                return (DST_R_NULLKEY);
-       if (key->func->sign == NULL)
-               return (DST_R_NOTPRIVATEKEY);
-       if (key->func->isprivate == NULL ||
-           key->func->isprivate(key) == ISC_FALSE)
+       if (dctx->key->func->sign == NULL)
                return (DST_R_NOTPRIVATEKEY);
 
-       return (key->func->sign(dctx, sig));
+       return (dctx->key->func->sign(dctx, sig));
 }
 
 isc_result_t
@@ -312,7 +303,7 @@ dst_key_tofile(const dst_key_t *key, int type, const char *directory) {
                return (DST_R_UNSUPPORTEDALG);
 
        if (type & DST_TYPE_PUBLIC) {
-               ret = write_public_key(key, type, directory);
+               ret = write_public_key(key, directory);
                if (ret != ISC_R_SUCCESS)
                        return (ret);
        }
@@ -342,7 +333,7 @@ dst_key_fromfile(dns_name_t *name, dns_keytag_t id,
 
        CHECKALG(alg);
 
-       isc_buffer_init(&b, filename, sizeof(filename));
+       isc_buffer_init(&b, filename, sizeof filename);
        result = buildfilename(name, id, alg, type, directory, &b);
        if (result != ISC_R_SUCCESS)
                return (result);
@@ -378,9 +369,6 @@ dst_key_fromnamedfile(const char *filename, int type, isc_mem_t *mctx,
        isc_result_t result;
        dst_key_t *pubkey = NULL, *key = NULL;
        dns_keytag_t id;
-       char *newfilename = NULL;
-       int newfilenamelen = 0;
-       isc_lex_t *lex = NULL;
 
        REQUIRE(dst_initialized == ISC_TRUE);
        REQUIRE(filename != NULL);
@@ -388,15 +376,7 @@ dst_key_fromnamedfile(const char *filename, int type, isc_mem_t *mctx,
        REQUIRE(mctx != NULL);
        REQUIRE(keyp != NULL && *keyp == NULL);
 
-       newfilenamelen = strlen(filename) + 5;
-       newfilename = isc_mem_get(mctx, newfilenamelen);
-       if (newfilename == NULL)
-               return (ISC_R_NOMEMORY);
-       result = addsuffix(newfilename, newfilenamelen, filename, ".key");
-       INSIST(result == ISC_R_SUCCESS);
-
-       result = dst_key_read_public(newfilename, type, mctx, &pubkey);
-       isc_mem_put(mctx, newfilename, newfilenamelen);
+       result = read_public_key(filename, mctx, &pubkey);
        if (result != ISC_R_SUCCESS)
                return (result);
 
@@ -413,12 +393,6 @@ dst_key_fromnamedfile(const char *filename, int type, isc_mem_t *mctx,
                return (ISC_R_SUCCESS);
        }
 
-       result = algorithm_status(pubkey->key_alg);
-       if (result != ISC_R_SUCCESS) {
-               dst_key_free(&pubkey);
-               return (result);
-       }
-
        key = get_key_struct(pubkey->key_name, pubkey->key_alg,
                             pubkey->key_flags, pubkey->key_proto, 0,
                             pubkey->key_class, mctx);
@@ -428,37 +402,30 @@ dst_key_fromnamedfile(const char *filename, int type, isc_mem_t *mctx,
        if (key == NULL)
                return (ISC_R_NOMEMORY);
 
-       if (key->func->parse == NULL)
-               RETERR(DST_R_UNSUPPORTEDALG);
-
-       newfilenamelen = strlen(filename) + 9;
-       newfilename = isc_mem_get(mctx, newfilenamelen);
-       if (newfilename == NULL)
-               RETERR(ISC_R_NOMEMORY);
-       result = addsuffix(newfilename, newfilenamelen, filename, ".private");
-       INSIST(result == ISC_R_SUCCESS);
-
-       RETERR(isc_lex_create(mctx, 1500, &lex));
-       RETERR(isc_lex_openfile(lex, newfilename));
-       isc_mem_put(mctx, newfilename, newfilenamelen);
+       if (key->func->fromfile == NULL) {
+               dst_key_free(&key);
+               return (DST_R_UNSUPPORTEDALG);
+       }
 
-       RETERR(key->func->parse(key, lex));
-       isc_lex_destroy(&lex);
+       result = key->func->fromfile(key, filename);
+       if (result != ISC_R_SUCCESS) {
+               dst_key_free(&key);
+               return (result);
+       }
 
-       RETERR(computeid(key));
+       result = computeid(key);
+       if (result != ISC_R_SUCCESS) {
+               dst_key_free(&key);
+               return (result);
+       }
 
-       if (id != key->key_id)
-               RETERR(DST_R_INVALIDPRIVATEKEY);
+       if (id != key->key_id) {
+               dst_key_free(&key);
+               return (DST_R_INVALIDPRIVATEKEY);
+       }
 
        *keyp = key;
        return (ISC_R_SUCCESS);
- out:
-       if (newfilename != NULL)
-               isc_mem_put(mctx, newfilename, newfilenamelen);
-       if (lex != NULL)
-               isc_lex_destroy(&lex);
-       dst_key_free(&key);
-       return (result);
 }
 
 isc_result_t
@@ -513,6 +480,8 @@ dst_key_fromdns(dns_name_t *name, dns_rdataclass_t rdclass,
        proto = isc_buffer_getuint8(source);
        alg = isc_buffer_getuint8(source);
 
+       CHECKALG(alg);
+
        id = dst_region_computeid(&r, alg);
 
        if (flags & DNS_KEYFLAG_EXTENDED) {
@@ -543,6 +512,8 @@ dst_key_frombuffer(dns_name_t *name, unsigned int alg,
 
        REQUIRE(dst_initialized);
 
+       CHECKALG(alg);
+
        result = frombuffer(name, alg, flags, protocol, rdclass, source,
                            mctx, &key);
        if (result != ISC_R_SUCCESS)
@@ -572,28 +543,6 @@ dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target) {
        return (key->func->todns(key, target));
 }
 
-isc_result_t
-dst_key_privatefrombuffer(dst_key_t *key, isc_buffer_t *buffer) {
-       isc_lex_t *lex = NULL;
-       isc_result_t result = ISC_R_SUCCESS;
-
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key));
-       REQUIRE(!dst_key_isprivate(key));
-       REQUIRE(buffer != NULL);
-
-       if (key->func->parse == NULL)
-               RETERR(DST_R_UNSUPPORTEDALG);
-
-       RETERR(isc_lex_create(key->mctx, 1500, &lex));
-       RETERR(isc_lex_openbuffer(lex, buffer));
-       RETERR(key->func->parse(key, lex));
- out:
-       if (lex != NULL)
-               isc_lex_destroy(&lex);
-       return (result);
-}
-
 isc_result_t
 dst_key_fromgssapi(dns_name_t *name, void *opaque, isc_mem_t *mctx,
                   dst_key_t **keyp)
@@ -708,10 +657,10 @@ dst_key_free(dst_key_t **keyp) {
        key = *keyp;
        mctx = key->mctx;
 
-       if (key->opaque != NULL) {
-               INSIST(key->func->destroy != NULL);
+       INSIST(key->func->destroy != NULL);
+
+       if (key->opaque != NULL)
                key->func->destroy(key);
-       }
 
        dns_name_free(key->key_name, mctx);
        isc_mem_put(mctx, key->key_name, sizeof(dns_name_t));
@@ -748,7 +697,6 @@ dst_key_sigsize(const dst_key_t *key, unsigned int *n) {
        /* XXXVIX this switch statement is too sparse to gen a jump table. */
        switch (key->key_alg) {
        case DST_ALG_RSAMD5:
-       case DST_ALG_RSASHA1:
                *n = (key->key_size + 7) / 8;
                break;
        case DST_ALG_DSA:
@@ -796,6 +744,8 @@ get_key_struct(dns_name_t *name, unsigned int alg,
        dst_key_t *key;
        isc_result_t result;
 
+       REQUIRE(dst_algorithm_supported(alg) != ISC_FALSE);
+
        key = (dst_key_t *) isc_mem_get(mctx, sizeof(dst_key_t));
        if (key == NULL)
                return (NULL);
@@ -829,10 +779,8 @@ get_key_struct(dns_name_t *name, unsigned int alg,
 /*
  * Reads a public key from disk
  */
-isc_result_t
-dst_key_read_public(const char *filename, int type,
-                   isc_mem_t *mctx, dst_key_t **keyp)
-{
+static isc_result_t
+read_public_key(const char *filename, isc_mem_t *mctx, dst_key_t **keyp) {
        u_char rdatabuf[DST_KEY_MAXSIZE];
        isc_buffer_t b;
        dns_fixedname_t name;
@@ -841,16 +789,23 @@ dst_key_read_public(const char *filename, int type,
        isc_result_t ret;
        dns_rdata_t rdata = DNS_RDATA_INIT;
        unsigned int opt = ISC_LEXOPT_DNSMULTILINE;
+       char *newfilename;
+       unsigned int newfilenamelen;
+       isc_textregion_t r;
        dns_rdataclass_t rdclass = dns_rdataclass_in;
-       isc_lexspecials_t specials;
-       isc_uint32_t ttl;
-       isc_result_t result;
-       dns_rdatatype_t keytype;
+
+       newfilenamelen = strlen(filename) + 5;
+       newfilename = isc_mem_get(mctx, newfilenamelen);
+       if (newfilename == NULL)
+               return (ISC_R_NOMEMORY);
+       ret = dst__file_addsuffix(newfilename, newfilenamelen, filename,
+                                 ".key");
+       INSIST(ret == ISC_R_SUCCESS);
 
        /*
         * Open the file and read its formatted contents
         * File format:
-        *    domain.name [ttl] [class] [KEY|DNSKEY] <flags> <protocol> <algorithm> <key>
+        *    domain.name [ttl] [class] KEY <flags> <protocol> <algorithm> <key>
         */
 
        /* 1500 should be large enough for any key */
@@ -858,14 +813,7 @@ dst_key_read_public(const char *filename, int type,
        if (ret != ISC_R_SUCCESS)
                goto cleanup;
 
-       memset(specials, 0, sizeof(specials));
-       specials['('] = 1;
-       specials[')'] = 1;
-       specials['"'] = 1;
-       isc_lex_setspecials(lex, specials);
-       isc_lex_setcomments(lex, ISC_LEXCOMMENT_DNSMASTERFILE);
-
-       ret = isc_lex_openfile(lex, filename);
+       ret = isc_lex_openfile(lex, newfilename);
        if (ret != ISC_R_SUCCESS)
                goto cleanup;
 
@@ -885,8 +833,9 @@ dst_key_read_public(const char *filename, int type,
        if (token.type != isc_tokentype_string)
                BADTOKEN();
        dns_fixedname_init(&name);
-       isc_buffer_init(&b, DST_AS_STR(token), strlen(DST_AS_STR(token)));
-       isc_buffer_add(&b, strlen(DST_AS_STR(token)));
+       isc_buffer_init(&b, token.value.as_pointer,
+                       strlen(token.value.as_pointer));
+       isc_buffer_add(&b, strlen(token.value.as_pointer));
        ret = dns_name_fromtext(dns_fixedname_name(&name), &b, dns_rootname,
                                ISC_FALSE, NULL);
        if (ret != ISC_R_SUCCESS)
@@ -896,36 +845,27 @@ dst_key_read_public(const char *filename, int type,
        NEXTTOKEN(lex, opt, &token);
 
        /* If it's a TTL, read the next one */
-       result = dns_ttl_fromtext(&token.value.as_textregion, &ttl);
-       if (result == ISC_R_SUCCESS)
+       if (token.type == isc_tokentype_number)
                NEXTTOKEN(lex, opt, &token);
 
        if (token.type != isc_tokentype_string)
                BADTOKEN();
 
-       ret = dns_rdataclass_fromtext(&rdclass, &token.value.as_textregion);
+       r.base = token.value.as_pointer;
+       r.length = strlen(r.base);
+       ret = dns_rdataclass_fromtext(&rdclass, &r);
        if (ret == ISC_R_SUCCESS)
                NEXTTOKEN(lex, opt, &token);
 
        if (token.type != isc_tokentype_string)
                BADTOKEN();
 
-       if (strcasecmp(DST_AS_STR(token), "DNSKEY") == 0)
-               keytype = dns_rdatatype_dnskey;
-       else if (strcasecmp(DST_AS_STR(token), "KEY") == 0)
-               keytype = dns_rdatatype_key; /* SIG(0), TKEY */
-       else
+       if (strcasecmp(token.value.as_pointer, "KEY") != 0)
                BADTOKEN();
 
-       if (((type & DST_TYPE_KEY) != 0 && keytype != dns_rdatatype_key) ||
-           ((type & DST_TYPE_KEY) == 0 && keytype != dns_rdatatype_dnskey)) {
-               ret = DST_R_BADKEYTYPE;
-               goto cleanup;
-       }
-
        isc_buffer_init(&b, rdatabuf, sizeof(rdatabuf));
-       ret = dns_rdata_fromtext(&rdata, rdclass, keytype, lex, NULL,
-                                ISC_FALSE, mctx, &b, NULL);
+       ret = dns_rdata_fromtext(&rdata, rdclass, dns_rdatatype_key,
+                                lex, NULL, ISC_FALSE, mctx, &b, NULL);
        if (ret != ISC_R_SUCCESS)
                goto cleanup;
 
@@ -935,36 +875,20 @@ dst_key_read_public(const char *filename, int type,
                goto cleanup;
 
  cleanup:
-       if (lex != NULL)
+       if (lex != NULL) {
+               isc_lex_close(lex);
                isc_lex_destroy(&lex);
-       return (ret);
-}
-
-static isc_boolean_t
-issymmetric(const dst_key_t *key) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key));
-
-       /* XXXVIX this switch statement is too sparse to gen a jump table. */
-       switch (key->key_alg) {
-       case DST_ALG_RSAMD5:
-       case DST_ALG_RSASHA1:
-       case DST_ALG_DSA:
-       case DST_ALG_DH:
-               return (ISC_FALSE);
-       case DST_ALG_HMACMD5:
-       case DST_ALG_GSSAPI:
-               return (ISC_TRUE);
-       default:
-               return (ISC_FALSE);
        }
+       isc_mem_put(mctx, newfilename, newfilenamelen);
+
+       return (ret);
 }
 
 /*
  * Writes a public key to disk in DNS format.
  */
 static isc_result_t
-write_public_key(const dst_key_t *key, int type, const char *directory) {
+write_public_key(const dst_key_t *key, const char *directory) {
        FILE *fp;
        isc_buffer_t keyb, textb, fileb, classb;
        isc_region_t r;
@@ -987,7 +911,7 @@ write_public_key(const dst_key_t *key, int type, const char *directory) {
                return (ret);
 
        isc_buffer_usedregion(&keyb, &r);
-       dns_rdata_fromregion(&rdata, key->key_class, dns_rdatatype_dnskey, &r);
+       dns_rdata_fromregion(&rdata, key->key_class, dns_rdatatype_key, &r);
 
        ret = dns_rdata_totext(&rdata, (dns_name_t *) NULL, &textb);
        if (ret != ISC_R_SUCCESS)
@@ -1011,7 +935,7 @@ write_public_key(const dst_key_t *key, int type, const char *directory) {
        if ((fp = fopen(filename, "w")) == NULL)
                return (DST_R_WRITEERROR);
 
-       if (issymmetric(key)) {
+       if (key->func->issymmetric()) {
                access = 0;
                isc_fsaccess_add(ISC_FSACCESS_OWNER,
                                 ISC_FSACCESS_READ | ISC_FSACCESS_WRITE,
@@ -1028,10 +952,7 @@ write_public_key(const dst_key_t *key, int type, const char *directory) {
        isc_buffer_usedregion(&classb, &r);
        fwrite(r.base, 1, r.length, fp);
 
-       if ((type & DST_TYPE_KEY) != 0)
-               fprintf(fp, " KEY ");
-       else
-               fprintf(fp, " DNSKEY ");
+       fprintf(fp, " KEY ");
 
        isc_buffer_usedregion(&textb, &r);
        fwrite(r.base, 1, r.length, fp);
@@ -1112,22 +1033,15 @@ frombuffer(dns_name_t *name, unsigned int alg, unsigned int flags,
        if (key == NULL)
                return (ISC_R_NOMEMORY);
 
-       if (isc_buffer_remaininglength(source) > 0) {
-               ret = algorithm_status(alg);
-               if (ret != ISC_R_SUCCESS) {
-                       dst_key_free(&key);
-                       return (ret);
-               }
-               if (key->func->fromdns == NULL) {
-                       dst_key_free(&key);
-                       return (DST_R_UNSUPPORTEDALG);
-               }
+       if (key->func->fromdns == NULL) {
+               dst_key_free(&key);
+               return (DST_R_UNSUPPORTEDALG);
+       }
 
-               ret = key->func->fromdns(key, source);
-               if (ret != ISC_R_SUCCESS) {
-                       dst_key_free(&key);
-                       return (ret);
-               }
+       ret = key->func->fromdns(key, source);
+       if (ret != ISC_R_SUCCESS) {
+               dst_key_free(&key);
+               return (ret);
        }
 
        *keyp = key;
@@ -1138,20 +1052,18 @@ static isc_result_t
 algorithm_status(unsigned int alg) {
        REQUIRE(dst_initialized == ISC_TRUE);
 
-       if (dst_algorithm_supported(alg))
-               return (ISC_R_SUCCESS);
 #ifndef OPENSSL
-       if (alg == DST_ALG_RSAMD5 || alg == DST_ALG_RSASHA1 ||
-           alg == DST_ALG_DSA || alg == DST_ALG_DH ||
-           alg == DST_ALG_HMACMD5)
+       if (alg == DST_ALG_RSA || alg == DST_ALG_DSA || alg == DST_ALG_DH)
                return (DST_R_NOCRYPTO);
 #endif
-       return (DST_R_UNSUPPORTEDALG);
+       if (!dst_algorithm_supported(alg))
+               return (DST_R_UNSUPPORTEDALG);
+       return (ISC_R_SUCCESS);
 }
 
-static isc_result_t
-addsuffix(char *filename, unsigned int len, const char *ofilename,
-         const char *suffix)
+isc_result_t
+dst__file_addsuffix(char *filename, unsigned int len,
+         const char *ofilename, const char *suffix)
 {
        int olen = strlen(ofilename);
        int n;
@@ -1169,6 +1081,35 @@ addsuffix(char *filename, unsigned int len, const char *ofilename,
        return (ISC_R_SUCCESS);
 }
 
+void *
+dst__mem_alloc(size_t size) {
+       INSIST(dst_memory_pool != NULL);
+       return (isc_mem_allocate(dst_memory_pool, size));
+}
+
+void
+dst__mem_free(void *ptr) {
+       INSIST(dst_memory_pool != NULL);
+       if (ptr != NULL)
+               isc_mem_free(dst_memory_pool, ptr);
+}
+
+void *
+dst__mem_realloc(void *ptr, size_t size) {
+       void *p;
+
+       INSIST(dst_memory_pool != NULL);
+       p = NULL;
+       if (size > 0U) {
+               p = dst__mem_alloc(size);
+               if (p != NULL && ptr != NULL)
+                       memcpy(p, ptr, size);
+       }
+       if (ptr != NULL)
+               dst__mem_free(ptr);
+       return (p);
+}
+
 isc_result_t
 dst__entropy_getdata(void *buf, unsigned int len, isc_boolean_t pseudo) {
        unsigned int flags = dst_entropy_flags;
index 7b00f15d116335b722a90fd74e1eb5dfa682db9d..c5fa21bf9602c76ddc06ccd1e72502c3d24fa2cb 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 2000-2002  Internet Software Consortium.
+ * Portions Copyright (C) 2000, 2001  Internet Software Consortium.
  * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -16,7 +16,7 @@
  * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dst_internal.h,v 1.1 2004/12/09 01:41:00 marka Exp $ */
+/* $Id: dst_internal.h,v 1.1.2.1 2004/12/09 03:18:14 marka Exp $ */
 
 #ifndef DST_DST_INTERNAL_H
 #define DST_DST_INTERNAL_H 1
@@ -26,7 +26,6 @@
 #include <isc/int.h>
 #include <isc/magic.h>
 #include <isc/region.h>
-#include <isc/types.h>
 
 #include <dst/dst.h>
 
@@ -38,8 +37,6 @@ ISC_LANG_BEGINDECLS
 #define VALID_KEY(x) ISC_MAGIC_VALID(x, KEY_MAGIC)
 #define VALID_CTX(x) ISC_MAGIC_VALID(x, CTX_MAGIC)
 
-extern isc_mem_t *dst__memory_pool;
-
 /***
  *** Types
  ***/
@@ -88,16 +85,14 @@ struct dst_func {
                                      const dst_key_t *key2);
        isc_result_t (*generate)(dst_key_t *key, int parms);
        isc_boolean_t (*isprivate)(const dst_key_t *key);
+       isc_boolean_t (*issymmetric)(void);
        void (*destroy)(dst_key_t *key);
 
        /* conversion functions */
        isc_result_t (*todns)(const dst_key_t *key, isc_buffer_t *data);
        isc_result_t (*fromdns)(dst_key_t *key, isc_buffer_t *data);
        isc_result_t (*tofile)(const dst_key_t *key, const char *directory);
-       isc_result_t (*parse)(dst_key_t *key, isc_lex_t *lexer);
-
-       /* cleanup */
-       void (*cleanup)(void);
+       isc_result_t (*fromfile)(dst_key_t *key, const char *filename);
 };
 
 /*
@@ -116,6 +111,12 @@ isc_result_t dst__gssapi_init(struct dst_func **funcp);
  */
 void dst__openssl_destroy(void);
 
+void dst__hmacmd5_destroy(void);
+void dst__opensslrsa_destroy(void);
+void dst__openssldsa_destroy(void);
+void dst__openssldh_destroy(void);
+void dst__gssapi_destroy(void);
+
 /*
  * Memory allocators using the DST memory pool.
  */
@@ -129,6 +130,13 @@ void * dst__mem_realloc(void *ptr, size_t size);
 isc_result_t dst__entropy_getdata(void *buf, unsigned int len,
                                  isc_boolean_t pseudo);
 
+/*
+ * Generic helper functions.
+ */
+isc_result_t
+dst__file_addsuffix(char *filename, unsigned int len,
+                   const char *ofilename, const char *suffix);
+
 ISC_LANG_ENDDECLS
 
 #endif /* DST_DST_INTERNAL_H */
index 4935d92cb79581c7a762ed18b0bb13c13323bcf4..e278d8627fd5a8b9a107f0b867b7ba4044fe7e57 100644 (file)
@@ -17,7 +17,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: dst_lib.c,v 1.1 2004/12/09 01:41:01 marka Exp $
+ * $Id: dst_lib.c,v 1.1.2.1 2004/12/09 03:18:14 marka Exp $
  */
 
 #include <config.h>
@@ -34,7 +34,7 @@
  *** Globals
  ***/
 
-LIBDNS_EXTERNAL_DATA isc_msgcat_t *            dst_msgcat = NULL;
+isc_msgcat_t *                 dst_msgcat = NULL;
 
 
 /***
index 9f2a93daf12cb120b1cfa19e90dad2aad0fb66df..cd67fbd599e8b8f1d024df036fec7b80ea717228 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2002  Internet Software Consortium.
+ * Portions Copyright (C) 1999-2001  Internet Software Consortium.
  * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -18,7 +18,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: dst_parse.c,v 1.1 2004/12/09 01:41:02 marka Exp $
+ * $Id: dst_parse.c,v 1.1.2.1 2004/12/09 03:18:14 marka Exp $
  */
 
 #include <config.h>
 #include "dst_parse.h"
 #include "dst/result.h"
 
-#define DST_AS_STR(t) ((t).value.as_textregion.base)
 
 #define PRIVATE_KEY_STR "Private-key-format:"
 #define ALGORITHM_STR "Algorithm:"
+#define RSA_STR "RSA"
+#define DH_STR "DH"
+#define DSA_STR "DSA"
+#define HMACMD5_STR "HMAC_MD5"
 
 struct parse_map {
        const int value;
@@ -154,7 +157,6 @@ check_data(const dst_private_t *priv, const unsigned int alg) {
        /* XXXVIX this switch statement is too sparse to gen a jump table. */
        switch (alg) {
        case DST_ALG_RSAMD5:
-       case DST_ALG_RSASHA1:
                return (check_rsa(priv));
        case DST_ALG_DH:
                return (check_dh(priv));
@@ -183,42 +185,56 @@ dst__privstruct_free(dst_private_t *priv, isc_mem_t *mctx) {
 }
 
 int
-dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
-                     isc_mem_t *mctx, dst_private_t *priv)
+dst__privstruct_parsefile(dst_key_t *key, const char *filename,
+                         isc_mem_t *mctx, dst_private_t *priv)
 {
        int n = 0, major, minor;
        isc_buffer_t b;
+       isc_lex_t *lex = NULL;
        isc_token_t token;
-       unsigned char *data = NULL;
        unsigned int opt = ISC_LEXOPT_EOL;
+       char *newfilename;
+       int newfilenamelen;
        isc_result_t ret;
 
        REQUIRE(priv != NULL);
 
+       newfilenamelen = strlen(filename) + 9;
+       newfilename = isc_mem_get(mctx, newfilenamelen);
+       if (newfilename == NULL)
+               return (ISC_R_NOMEMORY);
+       ret = dst__file_addsuffix(newfilename, newfilenamelen, filename,
+                                 ".private");
+       INSIST(ret == ISC_R_SUCCESS);
+
        priv->nelements = 0;
 
-#define NEXTTOKEN(lex, opt, token)                             \
-       do {                                                    \
-               ret = isc_lex_gettoken(lex, opt, token);        \
-               if (ret != ISC_R_SUCCESS)                       \
-                       goto fail;                              \
-       } while (0)
-
-#define READLINE(lex, opt, token)                              \
-       do {                                                    \
-               ret = isc_lex_gettoken(lex, opt, token);        \
-               if (ret == ISC_R_EOF)                           \
-                       break;                                  \
-               else if (ret != ISC_R_SUCCESS)                  \
-                       goto fail;                              \
-       } while ((*token).type != isc_tokentype_eol)
+       ret = isc_lex_create(mctx, 1024, &lex);
+       if (ret != ISC_R_SUCCESS)
+               return (ret);
+
+       ret = isc_lex_openfile(lex, newfilename);
+       if (ret != ISC_R_SUCCESS)
+               goto fail;
+
+#define NEXTTOKEN(lex, opt, token) \
+       { \
+               ret = isc_lex_gettoken(lex, opt, token); \
+               if (ret != ISC_R_SUCCESS) \
+                       goto fail; \
+       }
+
+#define READLINE(lex, opt, token) \
+       do { \
+               NEXTTOKEN(lex, opt, token) \
+       } while ((*token).type != isc_tokentype_eol) \
 
        /*
         * Read the description line.
         */
        NEXTTOKEN(lex, opt, &token);
        if (token.type != isc_tokentype_string ||
-           strcmp(DST_AS_STR(token), PRIVATE_KEY_STR) != 0)
+           strcmp(token.value.as_pointer, PRIVATE_KEY_STR) != 0)
        {
                ret = DST_R_INVALIDPRIVATEKEY;
                goto fail;
@@ -226,12 +242,12 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
 
        NEXTTOKEN(lex, opt, &token);
        if (token.type != isc_tokentype_string ||
-           (DST_AS_STR(token))[0] != 'v')
+           ((char *)token.value.as_pointer)[0] != 'v')
        {
                ret = DST_R_INVALIDPRIVATEKEY;
                goto fail;
        }
-       if (sscanf(DST_AS_STR(token), "v%d.%d", &major, &minor) != 2)
+       if (sscanf(token.value.as_pointer, "v%d.%d", &major, &minor) != 2)
        {
                ret = DST_R_INVALIDPRIVATEKEY;
                goto fail;
@@ -251,7 +267,7 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
         */
        NEXTTOKEN(lex, opt, &token);
        if (token.type != isc_tokentype_string ||
-           strcmp(DST_AS_STR(token), ALGORITHM_STR) != 0)
+           strcmp(token.value.as_pointer, ALGORITHM_STR) != 0)
        {
                ret = DST_R_INVALIDPRIVATEKEY;
                goto fail;
@@ -272,6 +288,7 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
         */
        for (n = 0; n < MAXFIELDS; n++) {
                int tag;
+               unsigned char *data;
                isc_region_t r;
 
                do {
@@ -288,8 +305,8 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
                }
 
                memset(&priv->elements[n], 0, sizeof(dst_private_element_t));
-               tag = find_value(DST_AS_STR(token), alg);
-               if (tag < 0 || TAG_ALG(tag) != alg) {
+               tag = find_value(token.value.as_pointer, dst_key_alg(key));
+               if (tag < 0 || TAG_ALG(tag) != dst_key_alg(key)) {
                        ret = DST_R_INVALIDPRIVATEKEY;
                        goto fail;
                }
@@ -308,22 +325,28 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
                priv->elements[n].data = r.base;
 
                READLINE(lex, opt, &token);
-               data = NULL;
        }
  done:
        priv->nelements = n;
 
-       if (check_data(priv, alg) < 0)
+       if (check_data(priv, dst_key_alg(key)) < 0)
                goto fail;
 
+       isc_lex_close(lex);
+       isc_lex_destroy(&lex);
+       isc_mem_put(mctx, newfilename, newfilenamelen);
+
        return (ISC_R_SUCCESS);
 
 fail:
+       if (lex != NULL) {
+               isc_lex_close(lex);
+               isc_lex_destroy(&lex);
+       }
+       isc_mem_put(mctx, newfilename, newfilenamelen);
+
        priv->nelements = n;
        dst__privstruct_free(priv, mctx);
-       if (data != NULL)
-               isc_mem_put(mctx, data, MAXFIELDSIZE);
-
        return (ret);
 }
 
@@ -374,9 +397,6 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv,
        case DST_ALG_DSA:
                fprintf(fp, "(DSA)\n");
                break;
-       case DST_ALG_RSASHA1:
-               fprintf(fp, "(RSASHA1)\n");
-               break;
        case DST_ALG_HMACMD5:
                fprintf(fp, "(HMAC_MD5)\n");
                break;
index 6a9b133a5772c525bc2bbcf4afd57b9031a64748..33aa97921c2ee01d46c591dae1454d8c20dc5d1e 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 2000-2002  Internet Software Consortium.
+ * Portions Copyright (C) 2000, 2001  Internet Software Consortium.
  * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -16,7 +16,7 @@
  * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dst_parse.h,v 1.1 2004/12/09 01:41:02 marka Exp $ */
+/* $Id: dst_parse.h,v 1.1.2.1 2004/12/09 03:18:15 marka Exp $ */
 
 #ifndef DST_DST_PARSE_H
 #define DST_DST_PARSE_H 1
@@ -83,8 +83,8 @@ void
 dst__privstruct_free(dst_private_t *priv, isc_mem_t *mctx);
 
 int
-dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex,
-                     isc_mem_t *mctx, dst_private_t *priv);
+dst__privstruct_parsefile(dst_key_t *key, const char *filename,
+                         isc_mem_t *mctx, dst_private_t *priv);
 
 int
 dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv,
index d7e4929f3834fcb17a568bef5a62fdbb1be5aa1e..c7bbd8831c04df42887b3c85d1bf73e71c62a9ec 100644 (file)
@@ -17,7 +17,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: dst_result.c,v 1.1 2004/12/09 01:41:02 marka Exp $
+ * $Id: dst_result.c,v 1.1.2.1 2004/12/09 03:18:16 marka Exp $
  */
 
 #include <config.h>
@@ -49,7 +49,6 @@ static const char *text[DST_R_NRESULTS] = {
        "not a key that can compute a secret",  /* 17 */
        "failure computing a shared secret",    /* 18 */
        "no randomness available",              /* 19 */
-       "bad key type"                          /* 20 */
 };
 
 #define DST_RESULT_RESULTSET                   2
index 0ecfb046ec4da41d297b5f3ab9b824b2271e6580..d98cbb39403f7a3dc3d26b1617dbd1bb90437970 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000-2002  Internet Software Consortium.
+ * Copyright (C) 2000, 2001  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -16,7 +16,7 @@
  */
 
 /*
- * $Id: gssapi_link.c,v 1.1 2004/12/09 01:41:02 marka Exp $
+ * $Id: gssapi_link.c,v 1.1.2.1 2004/12/09 03:18:17 marka Exp $
  */
 
 #ifdef GSSAPI
@@ -182,6 +182,12 @@ gssapi_isprivate(const dst_key_t *key) {
         return (ISC_TRUE);
 }
 
+static isc_boolean_t
+gssapi_issymmetric(const dst_key_t *key) {
+       UNUSED(key);
+        return (ISC_TRUE);
+}
+
 static void
 gssapi_destroy(dst_key_t *key) {
        UNUSED(key);
@@ -199,22 +205,25 @@ static dst_func_t gssapi_functions = {
        NULL, /* paramcompare */
        gssapi_generate,
        gssapi_isprivate,
+       gssapi_issymmetric,
        gssapi_destroy,
        NULL, /* todns */
        NULL, /* fromdns */
        NULL, /* tofile */
-       NULL, /* parse */
-       NULL, /* cleanup */
+       NULL, /* fromfile */
 };
 
 isc_result_t
 dst__gssapi_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL);
-       if (*funcp == NULL)
-               *funcp = &gssapi_functions;
+       REQUIRE(funcp != NULL && *funcp == NULL);
+       *funcp = &gssapi_functions;
        return (ISC_R_SUCCESS);
 }
 
+void
+dst__gssapi_destroy(void) {
+}
+
 #else
 int  gssapi_link_unneeded = 1;
 #endif
index ab8a3115679ce1c35b28da54500da5b03962ef20..59782688848989f80090c9ed544935ffdb963c2f 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: gssapictx.c,v 1.1 2004/12/09 01:41:03 marka Exp $ */
+/* $Id: gssapictx.c,v 1.1.2.1 2004/12/09 03:18:17 marka Exp $ */
 
 #include <config.h>
 
index 38b2e30a42cdeda7a7c8d724778058008a7a232a..02d27380dc399b7da455c7822065cbe1aa06e8ad 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2002  Internet Software Consortium.
+ * Portions Copyright (C) 1999-2001  Internet Software Consortium.
  * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -18,7 +18,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: hmac_link.c,v 1.1 2004/12/09 01:41:03 marka Exp $
+ * $Id: hmac_link.c,v 1.1.2.1 2004/12/09 03:18:17 marka Exp $
  */
 
 #include <config.h>
@@ -155,6 +155,11 @@ hmacmd5_isprivate(const dst_key_t *key) {
        return (ISC_TRUE);
 }
 
+static isc_boolean_t
+hmacmd5_issymmetric(void) {
+        return (ISC_TRUE);
+}
+
 static void
 hmacmd5_destroy(dst_key_t *key) {
        HMAC_Key *hkey = key->opaque;
@@ -235,14 +240,14 @@ hmacmd5_tofile(const dst_key_t *key, const char *directory) {
 }
 
 static isc_result_t
-hmacmd5_parse(dst_key_t *key, isc_lex_t *lexer) {
+hmacmd5_fromfile(dst_key_t *key, const char *filename) {
        dst_private_t priv;
        isc_result_t ret;
        isc_buffer_t b;
        isc_mem_t *mctx = key->mctx;
 
        /* read private key file */
-       ret = dst__privstruct_parse(key, DST_ALG_HMACMD5, lexer, mctx, &priv);
+       ret = dst__privstruct_parsefile(key, filename, mctx, &priv);
        if (ret != ISC_R_SUCCESS)
                return (ret);
 
@@ -265,18 +270,21 @@ static dst_func_t hmacmd5_functions = {
        NULL, /* paramcompare */
        hmacmd5_generate,
        hmacmd5_isprivate,
+       hmacmd5_issymmetric,
        hmacmd5_destroy,
        hmacmd5_todns,
        hmacmd5_fromdns,
        hmacmd5_tofile,
-       hmacmd5_parse,
-       NULL, /* cleanup */
+       hmacmd5_fromfile,
 };
 
 isc_result_t
 dst__hmacmd5_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL);
-       if (*funcp == NULL)
-               *funcp = &hmacmd5_functions;
+       REQUIRE(funcp != NULL && *funcp == NULL);
+       *funcp = &hmacmd5_functions;
        return (ISC_R_SUCCESS);
 }
+
+void
+dst__hmacmd5_destroy(void) {
+}
index 402209fe581717060ffe4bc51811acd6db5cf81a..28ca2d0d5e123e5f8e5650684299e9d0bcac80a4 100644 (file)
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: Makefile.in,v 1.11.2.1 2004/03/09 06:11:12 marka Exp $
+# $Id: Makefile.in,v 1.11.2.2 2004/12/09 03:18:22 marka Exp $
 
 srcdir =       @srcdir@
 VPATH =                @srcdir@
 top_srcdir =   @top_srcdir@
 
-SUBDIRS =      dns
+SUBDIRS =      dns dst
 TARGETS =
 
 @BIND9_MAKE_RULES@
index 953199e8b649c2abf4fc333c0551365f9bc23ede..5a77910befcf52d577887699e962d0cc279638e5 100644 (file)
@@ -13,7 +13,7 @@
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: Makefile.in,v 1.1 2004/12/09 01:41:05 marka Exp $
+# $Id: Makefile.in,v 1.1.2.1 2004/12/09 03:18:23 marka Exp $
 
 srcdir =       @srcdir@
 VPATH =                @srcdir@
index 7967b3114e83b1ae93db5bed06658ee4164718c7..e3ebd2cf5e61f6cab2823936bae5a2214d84ea71 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000-2002  Internet Software Consortium.
+ * Copyright (C) 2000, 2001  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dst.h,v 1.1 2004/12/09 01:41:05 marka Exp $ */
+/* $Id: dst.h,v 1.1.2.1 2004/12/09 03:18:23 marka Exp $ */
 
 #ifndef DST_DST_H
 #define DST_DST_H 1
@@ -45,8 +45,6 @@ typedef struct dst_context    dst_context_t;
 #define DST_ALG_RSA            DST_ALG_RSAMD5  /* backwards compatibility */
 #define DST_ALG_DH             2
 #define DST_ALG_DSA            3
-#define DST_ALG_ECC            4
-#define DST_ALG_RSASHA1                5
 #define DST_ALG_HMACMD5                157
 #define DST_ALG_GSSAPI         160
 #define DST_ALG_PRIVATE                254
@@ -63,7 +61,6 @@ typedef struct dst_context    dst_context_t;
 #define DST_KEY_MAXTEXTSIZE    2048
 
 /* 'Type' for dst_read_key() */
-#define DST_TYPE_KEY           0x1000000       /* KEY key */
 #define DST_TYPE_PRIVATE       0x2000000
 #define DST_TYPE_PUBLIC                0x4000000
 
@@ -218,7 +215,6 @@ dst_key_fromfile(dns_name_t *name, dns_keytag_t id, unsigned int alg, int type,
  *     "id" is a valid key tag identifier.
  *     "alg" is a supported key algorithm.
  *     "type" is DST_TYPE_PUBLIC, DST_TYPE_PRIVATE, or the bitwise union.
- *               DST_TYPE_KEY look for a KEY record otherwise DNSKEY
  *     "mctx" is a valid memory context.
  *     "keyp" is not NULL and "*keyp" is NULL.
  *
@@ -241,7 +237,6 @@ dst_key_fromnamedfile(const char *filename, int type, isc_mem_t *mctx,
  * Requires:
  *     "filename" is not NULL
  *     "type" is DST_TYPE_PUBLIC, DST_TYPE_PRIVATE, or the bitwise union
- *               DST_TYPE_KEY look for a KEY record otherwise DNSKEY
  *     "mctx" is a valid memory context
  *     "keyp" is not NULL and "*keyp" is NULL.
  *
@@ -253,29 +248,6 @@ dst_key_fromnamedfile(const char *filename, int type, isc_mem_t *mctx,
  *     If successful, *keyp will contain a valid key.
  */
 
-
-isc_result_t
-dst_key_read_public(const char *filename, int type,
-                   isc_mem_t *mctx, dst_key_t **keyp);
-/*
- * Reads a public key from permanent storage.  The key must be a public key.
- *
- * Requires:
- *     "filename" is not NULL
- *     "type" is DST_TYPE_KEY look for a KEY record otherwise DNSKEY
- *     "mctx" is a valid memory context
- *     "keyp" is not NULL and "*keyp" is NULL.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *      DST_R_BADKEYTYPE if the key type is not the expected one
- *      ISC_R_UNEXPECTEDTOKEN if the file can not be parsed as a public key
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, *keyp will contain a valid key.
- */
-
 isc_result_t
 dst_key_tofile(const dst_key_t *key, int type, const char *directory);
 /*
@@ -372,26 +344,6 @@ dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target);
  *     If successful, the used pointer in 'target' is advanced.
  */
 
-isc_result_t
-dst_key_privatefrombuffer(dst_key_t *key, isc_buffer_t *buffer);
-/*
- * Converts a public key into a private key, reading the private key
- * information from the buffer.  The buffer should contain the same data
- * as the .private key file would.
- *
- * Requires:
- *     "key" is a valid public key.
- *     "buffer" is not NULL.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, key will contain a valid private key.
- */
-
-
 isc_result_t
 dst_key_fromgssapi(dns_name_t *name, void *opaque, isc_mem_t *mctx,
                                   dst_key_t **keyp);
index db46a2471c6bff43d0ed4d865bbb4fc7606846ce..123e46f7c544da4c70cc7b68f58ca26188a32b22 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: gssapi.h,v 1.1 2004/12/09 01:41:06 marka Exp $ */
+/* $Id: gssapi.h,v 1.1.2.1 2004/12/09 03:18:23 marka Exp $ */
 
 #ifndef DST_GSSAPI_H
 #define DST_GSSAPI_H 1
index f5addc1a7fc2339f0ec054c8c558af3267b278bc..520705c043c2c14952420f645f44533e4d9306d4 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: lib.h,v 1.1 2004/12/09 01:41:06 marka Exp $ */
+/* $Id: lib.h,v 1.1.2.1 2004/12/09 03:18:23 marka Exp $ */
 
 #ifndef DST_LIB_H
 #define DST_LIB_H 1
@@ -25,7 +25,7 @@
 
 ISC_LANG_BEGINDECLS
 
-LIBDNS_EXTERNAL_DATA extern isc_msgcat_t *dst_msgcat;
+extern isc_msgcat_t *dst_msgcat;
 
 void
 dst_lib_initmsgcat(void);
index 3ea2f84192af1b05b96849e2949ced1ca5e9f521..9adbf581a2d245c7c3dfc3eb46c8b1e7f1f37010 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: result.h,v 1.1 2004/12/09 01:41:06 marka Exp $ */
+/* $Id: result.h,v 1.1.2.1 2004/12/09 03:18:24 marka Exp $ */
 
 #ifndef DST_RESULT_H
 #define DST_RESULT_H 1
@@ -51,9 +51,8 @@
 #define DST_R_KEYCANNOTCOMPUTESECRET   (ISC_RESULTCLASS_DST + 17)
 #define DST_R_COMPUTESECRETFAILURE     (ISC_RESULTCLASS_DST + 18)
 #define DST_R_NORANDOMNESS             (ISC_RESULTCLASS_DST + 19)
-#define DST_R_BADKEYTYPE               (ISC_RESULTCLASS_DST + 20)
 
-#define DST_R_NRESULTS                 21      /* Number of results */
+#define DST_R_NRESULTS                 20      /* Number of results */
 
 ISC_LANG_BEGINDECLS
 
index 3f218bba7c71f5afe38c37a24c9a822a5540d73c..ffc8050c07495ce66cb19406c008c05272a47c68 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: key.c,v 1.1 2004/12/09 01:41:03 marka Exp $ */
+/* $Id: key.c,v 1.1.2.1 2004/12/09 03:18:17 marka Exp $ */
 
 #include <config.h>
 
index 10f94ebb28ea3b138c52d9d81cea406eab599269..5439c623b3823ffd40c6d1d68891c55b8c39849a 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2003  Internet Software Consortium.
+ * Portions Copyright (C) 1999-2001, 2003  Internet Software Consortium.
  * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -18,7 +18,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: openssl_link.c,v 1.1 2004/12/09 01:41:03 marka Exp $
+ * $Id: openssl_link.c,v 1.1.2.1 2004/12/09 03:18:18 marka Exp $
  */
 #ifdef OPENSSL
 
@@ -33,9 +33,7 @@
 #include <isc/util.h>
 
 #include "dst_internal.h"
-#include "dst_openssl.h"
 
-#include <openssl/err.h>
 #include <openssl/rand.h>
 #include <openssl/crypto.h>
 
@@ -99,42 +97,14 @@ id_callback(void) {
        return ((unsigned long)isc_thread_self());
 }
 
-static void *
-mem_alloc(size_t size) {
-       INSIST(dst__memory_pool != NULL);
-       return (isc_mem_allocate(dst__memory_pool, size));
-}
-
-static void
-mem_free(void *ptr) {
-       INSIST(dst__memory_pool != NULL);
-       if (ptr != NULL)
-               isc_mem_free(dst__memory_pool, ptr);
-}
-
-static void *
-mem_realloc(void *ptr, size_t size) {
-       void *p;
-
-       INSIST(dst__memory_pool != NULL);
-       p = NULL;
-       if (size > 0U) {
-               p = mem_alloc(size);
-               if (p != NULL && ptr != NULL)
-                       memcpy(p, ptr, size);
-       }
-       if (ptr != NULL)
-               mem_free(ptr);
-       return (p);
-}
-
 isc_result_t
 dst__openssl_init() {
        isc_result_t result;
 
-       CRYPTO_set_mem_functions(mem_alloc, mem_realloc, mem_free);
+       CRYPTO_set_mem_functions(dst__mem_alloc, dst__mem_realloc,
+                                dst__mem_free);
        nlocks = CRYPTO_num_locks();
-       locks = mem_alloc(sizeof(isc_mutex_t) * nlocks);
+       locks = dst__mem_alloc(sizeof(isc_mutex_t) * nlocks);
        if (locks == NULL)
                return (ISC_R_NOMEMORY);
        result = isc_mutexblock_init(locks, nlocks);
@@ -142,7 +112,7 @@ dst__openssl_init() {
                goto cleanup_mutexalloc;
        CRYPTO_set_locking_callback(lock_callback);
        CRYPTO_set_id_callback(id_callback);
-       rm = mem_alloc(sizeof(RAND_METHOD));
+       rm = dst__mem_alloc(sizeof(RAND_METHOD));
        if (rm == NULL) {
                result = ISC_R_NOMEMORY;
                goto cleanup_mutexinit;
@@ -168,18 +138,17 @@ dst__openssl_init() {
 
 #ifdef USE_ENGINE
  cleanup_rm:
-       mem_free(rm);
+       dst__mem_free(rm);
 #endif
  cleanup_mutexinit:
-       DESTROYMUTEXBLOCK(locks, nlocks);
+       RUNTIME_CHECK(isc_mutexblock_destroy(locks, nlocks) == ISC_R_SUCCESS);
  cleanup_mutexalloc:
-       mem_free(locks);
+       dst__mem_free(locks);
        return (result);
 }
 
 void
 dst__openssl_destroy() {
-       ERR_clear_error();
 #ifdef USE_ENGINE
        if (e != NULL) {
                ENGINE_free(e);
@@ -187,33 +156,12 @@ dst__openssl_destroy() {
        }
 #endif
        if (locks != NULL) {
-               DESTROYMUTEXBLOCK(locks, nlocks);
-               mem_free(locks);
+               RUNTIME_CHECK(isc_mutexblock_destroy(locks, nlocks) ==
+                             ISC_R_SUCCESS);
+               dst__mem_free(locks);
        }
        if (rm != NULL)
-               mem_free(rm);
-}
-
-isc_result_t
-dst__openssl_toresult(isc_result_t fallback) {
-       isc_result_t result = fallback;
-       int err = ERR_get_error();
-
-       switch (ERR_GET_REASON(err)) {
-       case ERR_R_MALLOC_FAILURE:
-               result = ISC_R_NOMEMORY;
-               break;
-       default:
-               break;
-       }
-       ERR_clear_error();
-       return (result);
+               dst__mem_free(rm);
 }
 
-#else /* OPENSSL */
-
-#include <isc/util.h>
-
-EMPTY_TRANSLATION_UNIT
-
 #endif /* OPENSSL */
index 6aca209c0b39330693b971864928b6320fbd615b..9df17329fac93fb08948b1f19f15fca128e33953 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2002  Internet Software Consortium.
+ * Portions Copyright (C) 1999-2001  Internet Software Consortium.
  * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -18,7 +18,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: openssldh_link.c,v 1.1 2004/12/09 01:41:03 marka Exp $
+ * $Id: openssldh_link.c,v 1.1.2.1 2004/12/09 03:18:18 marka Exp $
  */
 
 #ifdef OPENSSL
@@ -34,7 +34,6 @@
 #include <dst/result.h>
 
 #include "dst_internal.h"
-#include "dst_openssl.h"
 #include "dst_parse.h"
 
 #include <openssl/dh.h>
        "5F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406" \
        "B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF"
 
-#define PRIME1536 "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" \
-       "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" \
-       "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245" \
-       "E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED" \
-       "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D" \
-       "C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F" \
-       "83655D23DCA3AD961C62F356208552BB9ED529077096966D" \
-       "670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF"
-
-
 static isc_result_t openssldh_todns(const dst_key_t *key, isc_buffer_t *data);
 
-static BIGNUM bn2, bn768, bn1024, bn1536;
+static BIGNUM bn2, bn768, bn1024;
 
 static isc_result_t
 openssldh_computesecret(const dst_key_t *pub, const dst_key_t *priv,
@@ -83,7 +72,7 @@ openssldh_computesecret(const dst_key_t *pub, const dst_key_t *priv,
                return (ISC_R_NOSPACE);
        ret = DH_compute_key(r.base, dhpub->pub_key, dhpriv);
        if (ret == 0)
-               return (dst__openssl_toresult(DST_R_COMPUTESECRETFAILURE));
+               return (DST_R_COMPUTESECRETFAILURE);
        isc_buffer_add(secret, len);
        return (ISC_R_SUCCESS);
 }
@@ -143,19 +132,14 @@ openssldh_generate(dst_key_t *key, int generator) {
        DH *dh = NULL;
 
        if (generator == 0) {
-               if (key->key_size == 768 ||
-                   key->key_size == 1024 ||
-                   key->key_size == 1536)
-               {
+               if (key->key_size == 768 || key->key_size == 1024) {
                        dh = DH_new();
                        if (dh == NULL)
                                return (ISC_R_NOMEMORY);
                        if (key->key_size == 768)
                                dh->p = &bn768;
-                       else if (key->key_size == 1024)
-                               dh->p = &bn1024;
                        else
-                               dh->p = &bn1536;
+                               dh->p = &bn1024;
                        dh->g = &bn2;
                }
                else
@@ -167,11 +151,11 @@ openssldh_generate(dst_key_t *key, int generator) {
                                            NULL, NULL);
 
        if (dh == NULL)
-               return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+               return (DST_R_OPENSSLFAILURE);
 
        if (DH_generate_key(dh) == 0) {
                DH_free(dh);
-               return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+               return (DST_R_OPENSSLFAILURE);
        }
        dh->flags &= ~DH_FLAG_CACHE_MONT_P;
 
@@ -186,6 +170,11 @@ openssldh_isprivate(const dst_key_t *key) {
        return (ISC_TF(dh != NULL && dh->priv_key != NULL));
 }
 
+static isc_boolean_t
+openssldh_issymmetric(void) {
+        return (ISC_FALSE);
+}
+
 static void
 openssldh_destroy(dst_key_t *key) {
        DH *dh = key->opaque;
@@ -193,7 +182,7 @@ openssldh_destroy(dst_key_t *key) {
        if (dh == NULL)
                return;
 
-       if (dh->p == &bn768 || dh->p == &bn1024 || dh->p == &bn1536)
+       if (dh->p == &bn768 || dh->p == &bn1024)
                dh->p = NULL;
        if (dh->g == &bn2)
                dh->g = NULL;
@@ -231,8 +220,7 @@ openssldh_todns(const dst_key_t *key, isc_buffer_t *data) {
 
        isc_buffer_availableregion(data, &r);
 
-       if (dh->g == &bn2 &&
-           (dh->p == &bn768 || dh->p == &bn1024 || dh->p == &bn1536)) {
+       if (dh->g == &bn2 && (dh->p == &bn768 || dh->p == &bn1024)) {
                plen = 1;
                glen = 0;
        }
@@ -249,10 +237,8 @@ openssldh_todns(const dst_key_t *key, isc_buffer_t *data) {
        if (plen == 1) {
                if (dh->p == &bn768)
                        *r.base = 1;
-               else if (dh->p == &bn1024)
-                       *r.base = 2;
                else
-                       *r.base = 3;
+                       *r.base = 2;
        }
        else
                BN_bn2bin(dh->p, r.base);
@@ -317,9 +303,6 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) {
                        case 2:
                                dh->p = &bn1024;
                                break;
-                       case 3:
-                               dh->p = &bn1536;
-                               break;
                        default:
                                DH_free(dh);
                                return (DST_R_INVALIDPUBLICKEY);
@@ -448,7 +431,7 @@ openssldh_tofile(const dst_key_t *key, const char *directory) {
 }
 
 static isc_result_t
-openssldh_parse(dst_key_t *key, isc_lex_t *lexer) {
+openssldh_fromfile(dst_key_t *key, const char *filename) {
        dst_private_t priv;
        isc_result_t ret;
        int i;
@@ -459,7 +442,7 @@ openssldh_parse(dst_key_t *key, isc_lex_t *lexer) {
        mctx = key->mctx;
 
        /* read private key file */
-       ret = dst__privstruct_parse(key, DST_ALG_DH, lexer, mctx, &priv);
+       ret = dst__privstruct_parsefile(key, filename, mctx, &priv);
        if (ret != ISC_R_SUCCESS)
                return (ret);
 
@@ -495,9 +478,7 @@ openssldh_parse(dst_key_t *key, isc_lex_t *lexer) {
 
        key->key_size = BN_num_bits(dh->p);
 
-       if ((key->key_size == 768 ||
-            key->key_size == 1024 ||
-            key->key_size == 1536) &&
+       if ((key->key_size == 768 || key->key_size == 1024) &&
            BN_cmp(dh->g, &bn2) == 0)
        {
                if (key->key_size == 768 && BN_cmp(dh->p, &bn768) == 0) {
@@ -511,12 +492,6 @@ openssldh_parse(dst_key_t *key, isc_lex_t *lexer) {
                        BN_free(dh->g);
                        dh->p = &bn1024;
                        dh->g = &bn2;
-               } else if (key->key_size == 1536 &&
-                          BN_cmp(dh->p, &bn1536) == 0) {
-                       BN_free(dh->p);
-                       BN_free(dh->g);
-                       dh->p = &bn1536;
-                       dh->g = &bn2;
                }
        }
 
@@ -555,14 +530,6 @@ BN_fromhex(BIGNUM *b, const char *str) {
        RUNTIME_CHECK(out != NULL);
 }
 
-static void
-openssldh_cleanup(void) {
-       BN_free(&bn2);
-       BN_free(&bn768);
-       BN_free(&bn1024);
-       BN_free(&bn1536);
-}
-
 static dst_func_t openssldh_functions = {
        NULL, /* createctx */
        NULL, /* destroyctx */
@@ -574,35 +541,32 @@ static dst_func_t openssldh_functions = {
        openssldh_paramcompare,
        openssldh_generate,
        openssldh_isprivate,
+       openssldh_issymmetric,
        openssldh_destroy,
        openssldh_todns,
        openssldh_fromdns,
        openssldh_tofile,
-       openssldh_parse,
-       openssldh_cleanup,
+       openssldh_fromfile,
 };
 
 isc_result_t
 dst__openssldh_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL);
-       if (*funcp == NULL) {
-               BN_init(&bn2);
-               BN_init(&bn768);
-               BN_init(&bn1024);
-               BN_init(&bn1536);
-               BN_set_word(&bn2, 2);
-               BN_fromhex(&bn768, PRIME768);
-               BN_fromhex(&bn1024, PRIME1024);
-               BN_fromhex(&bn1536, PRIME1536);
-               *funcp = &openssldh_functions;
-       }
+       REQUIRE(funcp != NULL && *funcp == NULL);
+       BN_init(&bn2);
+       BN_init(&bn768);
+       BN_init(&bn1024);
+       BN_set_word(&bn2, 2);
+       BN_fromhex(&bn768, PRIME768);
+       BN_fromhex(&bn1024, PRIME1024);
+       *funcp = &openssldh_functions;
        return (ISC_R_SUCCESS);
 }
 
-#else /* OPENSSL */
-
-#include <isc/util.h>
-
-EMPTY_TRANSLATION_UNIT
+void
+dst__openssldh_destroy(void) {
+       BN_free(&bn2);
+       BN_free(&bn768);
+       BN_free(&bn1024);
+}
 
 #endif /* OPENSSL */
index 1079d329f24057f1224d3d401903998b861b89d0..acf7cca199a21efcc06a4743a19c3a4302f468da 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2002  Internet Software Consortium.
+ * Portions Copyright (C) 1999-2001  Internet Software Consortium.
  * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -16,7 +16,7 @@
  * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: openssldsa_link.c,v 1.1 2004/12/09 01:41:04 marka Exp $ */
+/* $Id: openssldsa_link.c,v 1.1.2.1 2004/12/09 03:18:19 marka Exp $ */
 
 #ifdef OPENSSL
 
@@ -32,7 +32,6 @@
 #include <dst/result.h>
 
 #include "dst_internal.h"
-#include "dst_openssl.h"
 #include "dst_parse.h"
 
 #include <openssl/dsa.h>
@@ -96,7 +95,7 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
 
        dsasig = DSA_do_sign(digest, ISC_SHA1_DIGESTLENGTH, dsa);
        if (dsasig == NULL)
-               return (dst__openssl_toresult(DST_R_SIGNFAILURE));
+               return (DST_R_SIGNFAILURE);
 
        *r.base++ = (key->key_size - 512)/64;
        BN_bn2bin_fixed(dsasig->r, r.base, ISC_SHA1_DIGESTLENGTH);
@@ -134,7 +133,7 @@ openssldsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
        status = DSA_do_verify(digest, ISC_SHA1_DIGESTLENGTH, dsasig, dsa);
        DSA_SIG_free(dsasig);
        if (status == 0)
-               return (dst__openssl_toresult(DST_R_VERIFYFAILURE));
+               return (DST_R_VERIFYFAILURE);
 
        return (ISC_R_SUCCESS);
 }
@@ -187,11 +186,11 @@ openssldsa_generate(dst_key_t *key, int unused) {
                                      NULL, NULL);
 
        if (dsa == NULL)
-               return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+               return (DST_R_OPENSSLFAILURE);
 
        if (DSA_generate_key(dsa) == 0) {
                DSA_free(dsa);
-               return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+               return (DST_R_OPENSSLFAILURE);
        }
        dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
 
@@ -206,6 +205,11 @@ openssldsa_isprivate(const dst_key_t *key) {
        return (ISC_TF(dsa != NULL && dsa->priv_key != NULL));
 }
 
+static isc_boolean_t
+openssldsa_issymmetric(void) {
+        return (ISC_FALSE);
+}
+
 static void
 openssldsa_destroy(dst_key_t *key) {
        DSA *dsa = key->opaque;
@@ -350,7 +354,7 @@ openssldsa_tofile(const dst_key_t *key, const char *directory) {
 }
 
 static isc_result_t
-openssldsa_parse(dst_key_t *key, isc_lex_t *lexer) {
+openssldsa_fromfile(dst_key_t *key, const char *filename) {
        dst_private_t priv;
        isc_result_t ret;
        int i;
@@ -359,7 +363,7 @@ openssldsa_parse(dst_key_t *key, isc_lex_t *lexer) {
 #define DST_RET(a) {ret = a; goto err;}
 
        /* read private key file */
-       ret = dst__privstruct_parse(key, DST_ALG_DSA, lexer, mctx, &priv);
+       ret = dst__privstruct_parsefile(key, filename, mctx, &priv);
        if (ret != ISC_R_SUCCESS)
                return (ret);
 
@@ -418,26 +422,23 @@ static dst_func_t openssldsa_functions = {
        NULL, /* paramcompare */
        openssldsa_generate,
        openssldsa_isprivate,
+       openssldsa_issymmetric,
        openssldsa_destroy,
        openssldsa_todns,
        openssldsa_fromdns,
        openssldsa_tofile,
-       openssldsa_parse,
-       NULL, /* cleanup */
+       openssldsa_fromfile,
 };
 
 isc_result_t
 dst__openssldsa_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL);
-       if (*funcp == NULL)
-               *funcp = &openssldsa_functions;
+       REQUIRE(funcp != NULL && *funcp == NULL);
+       *funcp = &openssldsa_functions;
        return (ISC_R_SUCCESS);
 }
 
-#else /* OPENSSL */
-
-#include <isc/util.h>
-
-EMPTY_TRANSLATION_UNIT
+void
+dst__openssldsa_destroy(void) {
+}
 
 #endif /* OPENSSL */
index 22274819be0145fb167185cf816a95c942842d36..e571d7cef9058ed0d2923393a3358792508f88e0 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000-2003  Internet Software Consortium.
+ * Copyright (C) 2000, 2001, 2003  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -17,7 +17,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: opensslrsa_link.c,v 1.1 2004/12/09 01:41:04 marka Exp $
+ * $Id: opensslrsa_link.c,v 1.1.2.1 2004/12/09 03:18:21 marka Exp $
  */
 #ifdef OPENSSL
 
 #include <dst/result.h>
 
 #include "dst_internal.h"
-#include "dst_openssl.h"
 #include "dst_parse.h"
 
 #include <openssl/err.h>
 #include <openssl/objects.h>
 #include <openssl/rsa.h>
 
-       /*
-        * XXXMPA  Temporarially disable RSA_BLINDING as it requires
-        * good quality random data that cannot currently be guarenteed.
-        * XXXMPA  Find which versions of openssl use pseudo random data
-        * and set RSA_FLAG_BLINDING for those.
-        */
-
-#if 0
-#if OPENSSL_VERSION_NUMBER < 0x0090601fL
-#define SET_FLAGS(rsa) \
-       do { \
-       (rsa)->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE); \
-       (rsa)->flags |= RSA_FLAG_BLINDING; \
-       } while (0)
-#else
-#define SET_FLAGS(rsa) \
-       do { \
-               (rsa)->flags |= RSA_FLAG_BLINDING; \
-       } while (0)
-#endif
-#endif
-
-#if OPENSSL_VERSION_NUMBER < 0x0090601fL
-#define SET_FLAGS(rsa) \
-       do { \
-       (rsa)->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE); \
-       (rsa)->flags &= ~RSA_FLAG_BLINDING; \
-       } while (0)
-#else
-#define SET_FLAGS(rsa) \
-       do { \
-               (rsa)->flags &= ~RSA_FLAG_BLINDING; \
-       } while (0)
-#endif
-
 static isc_result_t opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data);
 
 static isc_result_t
 opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) {
        UNUSED(key);
-       REQUIRE(dctx->key->key_alg == DST_ALG_RSAMD5 ||
-               dctx->key->key_alg == DST_ALG_RSASHA1);
 
        if (dctx->key->key_alg == DST_ALG_RSAMD5) {
                isc_md5_t *md5ctx;
@@ -102,9 +64,6 @@ opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) {
 
 static void
 opensslrsa_destroyctx(dst_context_t *dctx) {
-       REQUIRE(dctx->key->key_alg == DST_ALG_RSAMD5 ||
-               dctx->key->key_alg == DST_ALG_RSASHA1);
-
        if (dctx->key->key_alg == DST_ALG_RSAMD5) {
                isc_md5_t *md5ctx = dctx->opaque;
 
@@ -125,9 +84,6 @@ opensslrsa_destroyctx(dst_context_t *dctx) {
 
 static isc_result_t
 opensslrsa_adddata(dst_context_t *dctx, const isc_region_t *data) {
-       REQUIRE(dctx->key->key_alg == DST_ALG_RSAMD5 ||
-               dctx->key->key_alg == DST_ALG_RSASHA1);
-
        if (dctx->key->key_alg == DST_ALG_RSAMD5) {
                isc_md5_t *md5ctx = dctx->opaque;
                isc_md5_update(md5ctx, data->base, data->length);
@@ -145,17 +101,10 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
        isc_region_t r;
        /* note: ISC_SHA1_DIGESTLENGTH > ISC_MD5_DIGESTLENGTH */
        unsigned char digest[ISC_SHA1_DIGESTLENGTH];
-       unsigned int siglen = 0;
+       unsigned int siglen;
        int status;
        int type;
        unsigned int digestlen;
-       char *message;
-       unsigned long err;
-       const char* file;
-       int line;
-
-       REQUIRE(dctx->key->key_alg == DST_ALG_RSAMD5 ||
-               dctx->key->key_alg == DST_ALG_RSASHA1);
 
        isc_buffer_availableregion(sig, &r);
 
@@ -176,13 +125,8 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
 
        status = RSA_sign(type, digest, digestlen, r.base, &siglen, rsa);
        if (status == 0) {
-               err = ERR_peek_error_line(&file, &line);
-               if (err != 0U) {
-                       message = ERR_error_string(err, NULL);
-                       fprintf(stderr, "%s:%s:%d\n", message,
-                               file ? file : "", line);
-               }
-               return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+               ERR_clear_error();
+               return (DST_R_SIGNFAILURE);
        }
 
        isc_buffer_add(sig, siglen);
@@ -200,9 +144,6 @@ opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
        int type;
        unsigned int digestlen;
 
-       REQUIRE(dctx->key->key_alg == DST_ALG_RSAMD5 ||
-               dctx->key->key_alg == DST_ALG_RSASHA1);
-
        if (dctx->key->key_alg == DST_ALG_RSAMD5) {
                isc_md5_t *md5ctx = dctx->opaque;
                isc_md5_final(md5ctx, digest);
@@ -220,8 +161,10 @@ opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
 
        status = RSA_verify(type, digest, digestlen, sig->base,
                            RSA_size(rsa), rsa);
-       if (status == 0)
-               return (dst__openssl_toresult(DST_R_VERIFYFAILURE));
+       if (status == 0) {
+               ERR_clear_error();
+               return (DST_R_VERIFYFAILURE);
+       }
 
        return (ISC_R_SUCCESS);
 }
@@ -268,9 +211,14 @@ opensslrsa_generate(dst_key_t *key, int exp) {
        else
                e = RSA_F4;
        rsa = RSA_generate_key(key->key_size, e, NULL, NULL);
-       if (rsa == NULL)
-               return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
-       SET_FLAGS(rsa);
+       if (rsa == NULL) {
+               ERR_clear_error();
+               return (DST_R_OPENSSLFAILURE);
+       }
+
+       rsa->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE);
+       rsa->flags |= RSA_FLAG_BLINDING;
+
        key->opaque = rsa;
 
        return (ISC_R_SUCCESS);
@@ -282,6 +230,11 @@ opensslrsa_isprivate(const dst_key_t *key) {
        return (ISC_TF(rsa != NULL && rsa->d != NULL));
 }
 
+static isc_boolean_t
+opensslrsa_issymmetric(void) {
+        return (ISC_FALSE);
+}
+
 static void
 opensslrsa_destroy(dst_key_t *key) {
        RSA *rsa = key->opaque;
@@ -343,7 +296,8 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
        rsa = RSA_new();
        if (rsa == NULL)
                return (ISC_R_NOMEMORY);
-       SET_FLAGS(rsa);
+       rsa->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE);
+       rsa->flags |= RSA_FLAG_BLINDING;
 
        if (r.length < 1) {
                RSA_free(rsa);
@@ -465,7 +419,7 @@ opensslrsa_tofile(const dst_key_t *key, const char *directory) {
 }
 
 static isc_result_t
-opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer) {
+opensslrsa_fromfile(dst_key_t *key, const char *filename) {
        dst_private_t priv;
        isc_result_t ret;
        int i;
@@ -474,14 +428,15 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer) {
 #define DST_RET(a) {ret = a; goto err;}
 
        /* read private key file */
-       ret = dst__privstruct_parse(key, DST_ALG_RSA, lexer, mctx, &priv);
+       ret = dst__privstruct_parsefile(key, filename, mctx, &priv);
        if (ret != ISC_R_SUCCESS)
                return (ret);
 
        rsa = RSA_new();
        if (rsa == NULL)
                DST_RET(ISC_R_NOMEMORY);
-       SET_FLAGS(rsa);
+       rsa->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE);
+       rsa->flags |= RSA_FLAG_BLINDING;
        key->opaque = rsa;
 
        for (i = 0; i < priv.nelements; i++) {
@@ -542,26 +497,23 @@ static dst_func_t opensslrsa_functions = {
        NULL, /* paramcompare */
        opensslrsa_generate,
        opensslrsa_isprivate,
+       opensslrsa_issymmetric,
        opensslrsa_destroy,
        opensslrsa_todns,
        opensslrsa_fromdns,
        opensslrsa_tofile,
-       opensslrsa_parse,
-       NULL, /* cleanup */
+       opensslrsa_fromfile,
 };
 
 isc_result_t
 dst__opensslrsa_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL);
-       if (*funcp == NULL)
-               *funcp = &opensslrsa_functions;
+       REQUIRE(funcp != NULL && *funcp == NULL);
+       *funcp = &opensslrsa_functions;
        return (ISC_R_SUCCESS);
 }
 
-#else /* OPENSSL */
-
-#include <isc/util.h>
-
-EMPTY_TRANSLATION_UNIT
+void
+dst__opensslrsa_destroy(void) {
+}
 
 #endif /* OPENSSL */
diff --git a/lib/dns/sec/.cvsignore b/lib/dns/sec/.cvsignore
deleted file mode 100644 (file)
index f3c7a7c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/lib/dns/sec/Makefile.in b/lib/dns/sec/Makefile.in
deleted file mode 100644 (file)
index 53c3868..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
-# Copyright (C) 1998-2001  Internet Software Consortium.
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND 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: Makefile.in,v 1.11.2.1 2004/03/09 06:11:39 marka Exp $
-
-srcdir =       @srcdir@
-VPATH =                @srcdir@
-top_srcdir =   @top_srcdir@
-
-SUBDIRS =      dst
-TARGETS =
-
-@BIND9_MAKE_RULES@
diff --git a/lib/dns/sec/dst/.cvsignore b/lib/dns/sec/dst/.cvsignore
deleted file mode 100644 (file)
index 06e18a7..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Makefile
-*.lo
-.libs
diff --git a/lib/dns/sec/dst/Makefile.in b/lib/dns/sec/dst/Makefile.in
deleted file mode 100644 (file)
index 33dc59d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
-# Copyright (C) 1998-2002  Internet Software Consortium.
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND 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: Makefile.in,v 1.25.2.3 2004/03/09 06:11:39 marka Exp $
-
-srcdir =       @srcdir@
-VPATH =                @srcdir@
-top_srcdir =   @top_srcdir@
-
-@BIND9_INCLUDES@
-
-CINCLUDES =    -I${srcdir} ${DNS_INCLUDES} \
-               ${ISC_INCLUDES} @DST_OPENSSL_INC@ @DST_GSSAPI_INC@
-
-CDEFINES =     -DUSE_MD5 @USE_OPENSSL@ @USE_GSSAPI@
-CWARNINGS =
-
-LIBS =         @LIBS@
-
-# Alphabetically
-OBJS =         dst_api.@O@ dst_lib.@O@ dst_parse.@O@ \
-               dst_result.@O@ gssapi_link.@O@ gssapictx.@O@ \
-               hmac_link.@O@ key.@O@ \
-               openssl_link.@O@ openssldh_link.@O@ \
-               openssldsa_link.@O@ opensslrsa_link.@O@
-
-SRCS =         dst_api.c dst_lib.c dst_parse.c \
-               dst_result.c gssapi_link.c gssapictx.c \
-               hmac_link.c key.c \
-               openssl_link.c openssldh_link.c \
-               openssldsa_link.c opensslrsa_link.c
-
-SUBDIRS =      include
-TARGETS =      ${OBJS}
-
-@BIND9_MAKE_RULES@
diff --git a/lib/dns/sec/dst/dst_api.c b/lib/dns/sec/dst/dst_api.c
deleted file mode 100644 (file)
index 2165920..0000000
+++ /dev/null
@@ -1,1119 +0,0 @@
-/*
- * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2001, 2003  Internet Software Consortium.
- * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES 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.
- */
-
-/*
- * Principal Author: Brian Wellington
- * $Id: dst_api.c,v 1.88.2.7 2004/10/01 00:20:49 marka Exp $
- */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <isc/buffer.h>
-#include <isc/dir.h>
-#include <isc/entropy.h>
-#include <isc/fsaccess.h>
-#include <isc/lex.h>
-#include <isc/mem.h>
-#include <isc/once.h>
-#include <isc/print.h>
-#include <isc/random.h>
-#include <isc/string.h>
-#include <isc/time.h>
-#include <isc/util.h>
-
-#include <dns/fixedname.h>
-#include <dns/name.h>
-#include <dns/rdata.h>
-#include <dns/rdataclass.h>
-#include <dns/types.h>
-#include <dns/keyvalues.h>
-
-#include <dst/result.h>
-
-#include "dst_internal.h"
-
-static dst_func_t *dst_t_func[DST_MAX_ALGS];
-static isc_mem_t *dst_memory_pool = NULL;
-static isc_entropy_t *dst_entropy_pool = NULL;
-static unsigned int dst_entropy_flags = 0;
-static isc_boolean_t dst_initialized = ISC_FALSE;
-
-/*
- * Static functions.
- */
-static dst_key_t *     get_key_struct(dns_name_t *name,
-                                      unsigned int alg,
-                                      unsigned int flags,
-                                      unsigned int protocol,
-                                      unsigned int bits,
-                                      dns_rdataclass_t rdclass,
-                                      isc_mem_t *mctx);
-static isc_result_t    read_public_key(const char *filename,
-                                       isc_mem_t *mctx,
-                                       dst_key_t **keyp);
-static isc_result_t    write_public_key(const dst_key_t *key,
-                                        const char *directory);
-static isc_result_t    buildfilename(dns_name_t *name,
-                                     dns_keytag_t id,
-                                     unsigned int alg,
-                                     unsigned int type,
-                                     const char *directory,
-                                     isc_buffer_t *out);
-static isc_result_t    computeid(dst_key_t *key);
-static isc_result_t    frombuffer(dns_name_t *name,
-                                  unsigned int alg,
-                                  unsigned int flags,
-                                  unsigned int protocol,
-                                  dns_rdataclass_t rdclass,
-                                  isc_buffer_t *source,
-                                  isc_mem_t *mctx,
-                                  dst_key_t **keyp);
-
-static isc_result_t    algorithm_status(unsigned int alg);
-
-#define RETERR(x)                              \
-       do {                                    \
-               result = (x);                   \
-               if (result != ISC_R_SUCCESS)    \
-                       goto out;               \
-       } while (0)
-
-#define CHECKALG(alg)                          \
-       do {                                    \
-               isc_result_t _r;                \
-               _r = algorithm_status(alg);     \
-               if (_r != ISC_R_SUCCESS)        \
-                       return (_r);            \
-       } while (0);                            \
-
-isc_result_t
-dst_lib_init(isc_mem_t *mctx, isc_entropy_t *ectx, unsigned int eflags) {
-       isc_result_t result;
-
-       REQUIRE(mctx != NULL && ectx != NULL);
-       REQUIRE(dst_initialized == ISC_FALSE);
-
-       dst_memory_pool = NULL;
-
-#ifdef OPENSSL
-       UNUSED(mctx);
-       /*
-        * When using --with-openssl, there seems to be no good way of not
-        * leaking memory due to the openssl error handling mechanism.
-        * Avoid assertions by using a local memory context and not checking
-        * for leaks on exit.
-        */
-       result = isc_mem_create(0, 0, &dst_memory_pool);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-       isc_mem_setdestroycheck(dst_memory_pool, ISC_FALSE);
-#else
-       isc_mem_attach(mctx, &dst_memory_pool);
-#endif
-       isc_entropy_attach(ectx, &dst_entropy_pool);
-       dst_entropy_flags = eflags;
-
-       dst_result_register();
-
-       memset(dst_t_func, 0, sizeof(dst_t_func));
-       RETERR(dst__hmacmd5_init(&dst_t_func[DST_ALG_HMACMD5]));
-#ifdef OPENSSL
-       RETERR(dst__openssl_init());
-       RETERR(dst__opensslrsa_init(&dst_t_func[DST_ALG_RSAMD5]));
-       RETERR(dst__openssldsa_init(&dst_t_func[DST_ALG_DSA]));
-       RETERR(dst__openssldh_init(&dst_t_func[DST_ALG_DH]));
-#endif
-#ifdef GSSAPI
-       RETERR(dst__gssapi_init(&dst_t_func[DST_ALG_GSSAPI]));
-#endif
-
-       dst_initialized = ISC_TRUE;
-       return (ISC_R_SUCCESS);
-
- out:
-       dst_lib_destroy();
-       return (result);
-}
-
-void
-dst_lib_destroy(void) {
-       RUNTIME_CHECK(dst_initialized == ISC_TRUE);
-       dst_initialized = ISC_FALSE;
-
-       dst__hmacmd5_destroy();
-#ifdef OPENSSL
-       dst__opensslrsa_destroy();
-       dst__openssldsa_destroy();
-       dst__openssldh_destroy();
-       dst__openssl_destroy();
-#endif
-#ifdef GSSAPI
-       dst__gssapi_destroy();
-#endif
-       if (dst_memory_pool != NULL)
-               isc_mem_detach(&dst_memory_pool);
-       if (dst_entropy_pool != NULL)
-               isc_entropy_detach(&dst_entropy_pool);
-
-}
-
-isc_boolean_t
-dst_algorithm_supported(unsigned int alg) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-
-       if (alg >= DST_MAX_ALGS || dst_t_func[alg] == NULL)
-               return (ISC_FALSE);
-       return (ISC_TRUE);
-}
-
-isc_result_t
-dst_context_create(dst_key_t *key, isc_mem_t *mctx, dst_context_t **dctxp) {
-       dst_context_t *dctx;
-       isc_result_t result;
-
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key));
-       REQUIRE(mctx != NULL);
-       REQUIRE(dctxp != NULL && *dctxp == NULL);
-
-       if (key->func->createctx == NULL)
-               return (DST_R_UNSUPPORTEDALG);
-       if (key->opaque == NULL)
-               return (DST_R_NULLKEY);
-
-       dctx = isc_mem_get(mctx, sizeof(dst_context_t));
-       if (dctx == NULL)
-               return (ISC_R_NOMEMORY);
-       dctx->key = key;
-       dctx->mctx = mctx;
-       result = key->func->createctx(key, dctx);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_put(mctx, dctx, sizeof(dst_context_t));
-               return (result);
-       }
-       dctx->magic = CTX_MAGIC;
-       *dctxp = dctx;
-       return (ISC_R_SUCCESS);
-}
-
-void
-dst_context_destroy(dst_context_t **dctxp) {
-       dst_context_t *dctx;
-
-       REQUIRE(dctxp != NULL && VALID_CTX(*dctxp));
-
-       dctx = *dctxp;
-       INSIST(dctx->key->func->destroyctx != NULL);
-       dctx->key->func->destroyctx(dctx);
-       dctx->magic = 0;
-       isc_mem_put(dctx->mctx, dctx, sizeof(dst_context_t));
-       *dctxp = NULL;
-}
-
-isc_result_t
-dst_context_adddata(dst_context_t *dctx, const isc_region_t *data) {
-       REQUIRE(VALID_CTX(dctx));
-       REQUIRE(data != NULL);
-       INSIST(dctx->key->func->adddata != NULL);
-
-       return (dctx->key->func->adddata(dctx, data));
-}
-
-isc_result_t
-dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig) {
-       REQUIRE(VALID_CTX(dctx));
-       REQUIRE(sig != NULL);
-
-       CHECKALG(dctx->key->key_alg);
-       if (dctx->key->opaque == NULL)
-               return (DST_R_NULLKEY);
-       if (dctx->key->func->sign == NULL)
-               return (DST_R_NOTPRIVATEKEY);
-
-       return (dctx->key->func->sign(dctx, sig));
-}
-
-isc_result_t
-dst_context_verify(dst_context_t *dctx, isc_region_t *sig) {
-       REQUIRE(VALID_CTX(dctx));
-       REQUIRE(sig != NULL);
-
-       CHECKALG(dctx->key->key_alg);
-       if (dctx->key->opaque == NULL)
-               return (DST_R_NULLKEY);
-       if (dctx->key->func->verify == NULL)
-               return (DST_R_NOTPUBLICKEY);
-
-       return (dctx->key->func->verify(dctx, sig));
-}
-
-isc_result_t
-dst_key_computesecret(const dst_key_t *pub, const dst_key_t *priv,
-                     isc_buffer_t *secret)
-{
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(pub) && VALID_KEY(priv));
-       REQUIRE(secret != NULL);
-
-       CHECKALG(pub->key_alg);
-       CHECKALG(priv->key_alg);
-
-       if (pub->opaque == NULL || priv->opaque == NULL)
-               return (DST_R_NULLKEY);
-
-       if (pub->key_alg != priv->key_alg ||
-           pub->func->computesecret == NULL ||
-           priv->func->computesecret == NULL)
-               return (DST_R_KEYCANNOTCOMPUTESECRET);
-
-       if (dst_key_isprivate(priv) == ISC_FALSE)
-               return (DST_R_NOTPRIVATEKEY);
-
-       return (pub->func->computesecret(pub, priv, secret));
-}
-
-isc_result_t
-dst_key_tofile(const dst_key_t *key, int type, const char *directory) {
-       isc_result_t ret = ISC_R_SUCCESS;
-
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key));
-       REQUIRE((type & (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC)) != 0);
-
-       CHECKALG(key->key_alg);
-
-       if (key->func->tofile == NULL)
-               return (DST_R_UNSUPPORTEDALG);
-
-       if (type & DST_TYPE_PUBLIC) {
-               ret = write_public_key(key, directory);
-               if (ret != ISC_R_SUCCESS)
-                       return (ret);
-       }
-
-       if ((type & DST_TYPE_PRIVATE) &&
-           (key->key_flags & DNS_KEYFLAG_TYPEMASK) != DNS_KEYTYPE_NOKEY)
-               return (key->func->tofile(key, directory));
-       else
-               return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst_key_fromfile(dns_name_t *name, dns_keytag_t id,
-                unsigned int alg, int type, const char *directory,
-                isc_mem_t *mctx, dst_key_t **keyp)
-{
-       char filename[ISC_DIR_NAMEMAX];
-       isc_buffer_t b;
-       dst_key_t *key;
-       isc_result_t result;
-
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(dns_name_isabsolute(name));
-       REQUIRE((type & (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC)) != 0);
-       REQUIRE(mctx != NULL);
-       REQUIRE(keyp != NULL && *keyp == NULL);
-
-       CHECKALG(alg);
-
-       isc_buffer_init(&b, filename, sizeof filename);
-       result = buildfilename(name, id, alg, type, directory, &b);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-
-       key = NULL;
-       result = dst_key_fromnamedfile(filename, type, mctx, &key);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-
-       result = computeid(key);
-       if (result != ISC_R_SUCCESS) {
-               dst_key_free(&key);
-               return (result);
-       }
-
-       if (!dns_name_equal(name, key->key_name) ||
-           id != key->key_id ||
-           alg != key->key_alg)
-       {
-               dst_key_free(&key);
-               return (DST_R_INVALIDPRIVATEKEY);
-       }
-       key->key_id = id;
-
-       *keyp = key;
-       return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst_key_fromnamedfile(const char *filename, int type, isc_mem_t *mctx,
-                     dst_key_t **keyp)
-{
-       isc_result_t result;
-       dst_key_t *pubkey = NULL, *key = NULL;
-       dns_keytag_t id;
-
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(filename != NULL);
-       REQUIRE((type & (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC)) != 0);
-       REQUIRE(mctx != NULL);
-       REQUIRE(keyp != NULL && *keyp == NULL);
-
-       result = read_public_key(filename, mctx, &pubkey);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-
-       if ((type & (DST_TYPE_PRIVATE | DST_TYPE_PUBLIC)) == DST_TYPE_PUBLIC ||
-           (pubkey->key_flags & DNS_KEYFLAG_TYPEMASK) == DNS_KEYTYPE_NOKEY)
-       {
-               result = computeid(pubkey);
-               if (result != ISC_R_SUCCESS) {
-                       dst_key_free(&pubkey);
-                       return (result);
-               }
-
-               *keyp = pubkey;
-               return (ISC_R_SUCCESS);
-       }
-
-       key = get_key_struct(pubkey->key_name, pubkey->key_alg,
-                            pubkey->key_flags, pubkey->key_proto, 0,
-                            pubkey->key_class, mctx);
-       id = pubkey->key_id;
-       dst_key_free(&pubkey);
-
-       if (key == NULL)
-               return (ISC_R_NOMEMORY);
-
-       if (key->func->fromfile == NULL) {
-               dst_key_free(&key);
-               return (DST_R_UNSUPPORTEDALG);
-       }
-
-       result = key->func->fromfile(key, filename);
-       if (result != ISC_R_SUCCESS) {
-               dst_key_free(&key);
-               return (result);
-       }
-
-       result = computeid(key);
-       if (result != ISC_R_SUCCESS) {
-               dst_key_free(&key);
-               return (result);
-       }
-
-       if (id != key->key_id) {
-               dst_key_free(&key);
-               return (DST_R_INVALIDPRIVATEKEY);
-       }
-
-       *keyp = key;
-       return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst_key_todns(const dst_key_t *key, isc_buffer_t *target) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key));
-       REQUIRE(target != NULL);
-
-       CHECKALG(key->key_alg);
-
-       if (key->func->todns == NULL)
-               return (DST_R_UNSUPPORTEDALG);
-
-       if (isc_buffer_availablelength(target) < 4)
-               return (ISC_R_NOSPACE);
-       isc_buffer_putuint16(target, (isc_uint16_t)(key->key_flags & 0xffff));
-       isc_buffer_putuint8(target, (isc_uint8_t)key->key_proto);
-       isc_buffer_putuint8(target, (isc_uint8_t)key->key_alg);
-
-       if (key->key_flags & DNS_KEYFLAG_EXTENDED) {
-               if (isc_buffer_availablelength(target) < 2)
-                       return (ISC_R_NOSPACE);
-               isc_buffer_putuint16(target,
-                                    (isc_uint16_t)((key->key_flags >> 16)
-                                                   & 0xffff));
-       }
-
-       if (key->opaque == NULL) /* NULL KEY */
-               return (ISC_R_SUCCESS);
-
-       return (key->func->todns(key, target));
-}
-
-isc_result_t
-dst_key_fromdns(dns_name_t *name, dns_rdataclass_t rdclass,
-               isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp)
-{
-       isc_uint8_t alg, proto;
-       isc_uint32_t flags, extflags;
-       dst_key_t *key = NULL;
-       dns_keytag_t id;
-       isc_region_t r;
-       isc_result_t result;
-
-       REQUIRE(dst_initialized);
-
-       isc_buffer_remainingregion(source, &r);
-
-       if (isc_buffer_remaininglength(source) < 4)
-               return (DST_R_INVALIDPUBLICKEY);
-       flags = isc_buffer_getuint16(source);
-       proto = isc_buffer_getuint8(source);
-       alg = isc_buffer_getuint8(source);
-
-       CHECKALG(alg);
-
-       id = dst_region_computeid(&r, alg);
-
-       if (flags & DNS_KEYFLAG_EXTENDED) {
-               if (isc_buffer_remaininglength(source) < 2)
-                       return (DST_R_INVALIDPUBLICKEY);
-               extflags = isc_buffer_getuint16(source);
-               flags |= (extflags << 16);
-       }
-
-       result = frombuffer(name, alg, flags, proto, rdclass, source,
-                           mctx, &key);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-       key->key_id = id;
-
-       *keyp = key;
-       return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst_key_frombuffer(dns_name_t *name, unsigned int alg,
-                  unsigned int flags, unsigned int protocol,
-                  dns_rdataclass_t rdclass,
-                  isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp)
-{
-       dst_key_t *key = NULL;
-       isc_result_t result;
-
-       REQUIRE(dst_initialized);
-
-       CHECKALG(alg);
-
-       result = frombuffer(name, alg, flags, protocol, rdclass, source,
-                           mctx, &key);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-
-       result = computeid(key);
-       if (result != ISC_R_SUCCESS) {
-               dst_key_free(&key);
-               return (result);
-       }
-
-       *keyp = key;
-       return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key));
-       REQUIRE(target != NULL);
-
-       CHECKALG(key->key_alg);
-
-       if (key->func->todns == NULL)
-               return (DST_R_UNSUPPORTEDALG);
-
-       return (key->func->todns(key, target));
-}
-
-isc_result_t
-dst_key_fromgssapi(dns_name_t *name, void *opaque, isc_mem_t *mctx,
-                  dst_key_t **keyp)
-{
-       dst_key_t *key;
-
-       REQUIRE(opaque != NULL);
-       REQUIRE(keyp != NULL && *keyp == NULL);
-
-       key = get_key_struct(name, DST_ALG_GSSAPI, 0, DNS_KEYPROTO_DNSSEC,
-                            0, dns_rdataclass_in, mctx);
-       if (key == NULL)
-               return (ISC_R_NOMEMORY);
-       key->opaque = opaque;
-       *keyp = key;
-       return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst_key_generate(dns_name_t *name, unsigned int alg,
-                unsigned int bits, unsigned int param,
-                unsigned int flags, unsigned int protocol,
-                dns_rdataclass_t rdclass,
-                isc_mem_t *mctx, dst_key_t **keyp)
-{
-       dst_key_t *key;
-       isc_result_t ret;
-
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(dns_name_isabsolute(name));
-       REQUIRE(mctx != NULL);
-       REQUIRE(keyp != NULL && *keyp == NULL);
-
-       CHECKALG(alg);
-
-       key = get_key_struct(name, alg, flags, protocol, bits, rdclass, mctx);
-       if (key == NULL)
-               return (ISC_R_NOMEMORY);
-
-       if (bits == 0) { /* NULL KEY */
-               key->key_flags |= DNS_KEYTYPE_NOKEY;
-               *keyp = key;
-               return (ISC_R_SUCCESS);
-       }
-
-       if (key->func->generate == NULL) {
-               dst_key_free(&key);
-               return (DST_R_UNSUPPORTEDALG);
-       }
-
-       ret = key->func->generate(key, param);
-       if (ret != ISC_R_SUCCESS) {
-               dst_key_free(&key);
-               return (ret);
-       }
-
-       ret = computeid(key);
-       if (ret != ISC_R_SUCCESS) {
-               dst_key_free(&key);
-               return (ret);
-       }
-
-       *keyp = key;
-       return (ISC_R_SUCCESS);
-}
-
-isc_boolean_t
-dst_key_compare(const dst_key_t *key1, const dst_key_t *key2) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key1));
-       REQUIRE(VALID_KEY(key2));
-
-       if (key1 == key2)
-               return (ISC_TRUE);
-       if (key1 == NULL || key2 == NULL)
-               return (ISC_FALSE);
-       if (key1->key_alg == key2->key_alg &&
-           key1->key_id == key2->key_id &&
-           key1->func->compare != NULL &&
-           key1->func->compare(key1, key2) == ISC_TRUE)
-               return (ISC_TRUE);
-       else
-               return (ISC_FALSE);
-}
-
-isc_boolean_t
-dst_key_paramcompare(const dst_key_t *key1, const dst_key_t *key2) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key1));
-       REQUIRE(VALID_KEY(key2));
-
-       if (key1 == key2)
-               return (ISC_TRUE);
-       if (key1 == NULL || key2 == NULL)
-               return (ISC_FALSE);
-       if (key1->key_alg == key2->key_alg &&
-           key1->func->paramcompare != NULL &&
-           key1->func->paramcompare(key1, key2) == ISC_TRUE)
-               return (ISC_TRUE);
-       else
-               return (ISC_FALSE);
-}
-
-void
-dst_key_free(dst_key_t **keyp) {
-       isc_mem_t *mctx;
-       dst_key_t *key;
-
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(keyp != NULL && VALID_KEY(*keyp));
-
-       key = *keyp;
-       mctx = key->mctx;
-
-       INSIST(key->func->destroy != NULL);
-
-       if (key->opaque != NULL)
-               key->func->destroy(key);
-
-       dns_name_free(key->key_name, mctx);
-       isc_mem_put(mctx, key->key_name, sizeof(dns_name_t));
-       memset(key, 0, sizeof(dst_key_t));
-       isc_mem_put(mctx, key, sizeof(dst_key_t));
-       *keyp = NULL;
-}
-
-isc_boolean_t
-dst_key_isprivate(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-       INSIST(key->func->isprivate != NULL);
-       return (key->func->isprivate(key));
-}
-
-isc_result_t
-dst_key_buildfilename(const dst_key_t *key, int type,
-                     const char *directory, isc_buffer_t *out) {
-
-       REQUIRE(VALID_KEY(key));
-       REQUIRE(type == DST_TYPE_PRIVATE || type == DST_TYPE_PUBLIC ||
-               type == 0);
-
-       return (buildfilename(key->key_name, key->key_id, key->key_alg,
-                             type, directory, out));
-}
-
-isc_result_t
-dst_key_sigsize(const dst_key_t *key, unsigned int *n) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key));
-       REQUIRE(n != NULL);
-
-       /* XXXVIX this switch statement is too sparse to gen a jump table. */
-       switch (key->key_alg) {
-       case DST_ALG_RSAMD5:
-               *n = (key->key_size + 7) / 8;
-               break;
-       case DST_ALG_DSA:
-               *n = DNS_SIG_DSASIGSIZE;
-               break;
-       case DST_ALG_HMACMD5:
-               *n = 16;
-               break;
-       case DST_ALG_GSSAPI:
-               *n = 128; /* XXX */
-               break;
-       case DST_ALG_DH:
-       default:
-               return (DST_R_UNSUPPORTEDALG);
-       }
-       return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst_key_secretsize(const dst_key_t *key, unsigned int *n) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-       REQUIRE(VALID_KEY(key));
-       REQUIRE(n != NULL);
-
-       if (key->key_alg == DST_ALG_DH)
-               *n = (key->key_size + 7) / 8;
-       else
-               return (DST_R_UNSUPPORTEDALG);
-       return (ISC_R_SUCCESS);
-}
-
-/***
- *** Static methods
- ***/
-
-/*
- * Allocates a key structure and fills in some of the fields.
- */
-static dst_key_t *
-get_key_struct(dns_name_t *name, unsigned int alg,
-              unsigned int flags, unsigned int protocol,
-              unsigned int bits, dns_rdataclass_t rdclass,
-              isc_mem_t *mctx)
-{
-       dst_key_t *key;
-       isc_result_t result;
-
-       REQUIRE(dst_algorithm_supported(alg) != ISC_FALSE);
-
-       key = (dst_key_t *) isc_mem_get(mctx, sizeof(dst_key_t));
-       if (key == NULL)
-               return (NULL);
-
-       memset(key, 0, sizeof(dst_key_t));
-       key->magic = KEY_MAGIC;
-
-       key->key_name = isc_mem_get(mctx, sizeof(dns_name_t));
-       if (key->key_name == NULL) {
-               isc_mem_put(mctx, key, sizeof(dst_key_t));
-               return (NULL);
-       }
-       dns_name_init(key->key_name, NULL);
-       result = dns_name_dup(name, mctx, key->key_name);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_put(mctx, key->key_name, sizeof(dns_name_t));
-               isc_mem_put(mctx, key, sizeof(dst_key_t));
-               return (NULL);
-       }
-       key->key_alg = alg;
-       key->key_flags = flags;
-       key->key_proto = protocol;
-       key->mctx = mctx;
-       key->opaque = NULL;
-       key->key_size = bits;
-       key->key_class = rdclass;
-       key->func = dst_t_func[alg];
-       return (key);
-}
-
-/*
- * Reads a public key from disk
- */
-static isc_result_t
-read_public_key(const char *filename, isc_mem_t *mctx, dst_key_t **keyp) {
-       u_char rdatabuf[DST_KEY_MAXSIZE];
-       isc_buffer_t b;
-       dns_fixedname_t name;
-       isc_lex_t *lex = NULL;
-       isc_token_t token;
-       isc_result_t ret;
-       dns_rdata_t rdata = DNS_RDATA_INIT;
-       unsigned int opt = ISC_LEXOPT_DNSMULTILINE;
-       char *newfilename;
-       unsigned int newfilenamelen;
-       isc_textregion_t r;
-       dns_rdataclass_t rdclass = dns_rdataclass_in;
-
-       newfilenamelen = strlen(filename) + 5;
-       newfilename = isc_mem_get(mctx, newfilenamelen);
-       if (newfilename == NULL)
-               return (ISC_R_NOMEMORY);
-       ret = dst__file_addsuffix(newfilename, newfilenamelen, filename,
-                                 ".key");
-       INSIST(ret == ISC_R_SUCCESS);
-
-       /*
-        * Open the file and read its formatted contents
-        * File format:
-        *    domain.name [ttl] [class] KEY <flags> <protocol> <algorithm> <key>
-        */
-
-       /* 1500 should be large enough for any key */
-       ret = isc_lex_create(mctx, 1500, &lex);
-       if (ret != ISC_R_SUCCESS)
-               goto cleanup;
-
-       ret = isc_lex_openfile(lex, newfilename);
-       if (ret != ISC_R_SUCCESS)
-               goto cleanup;
-
-#define NEXTTOKEN(lex, opt, token) { \
-       ret = isc_lex_gettoken(lex, opt, token); \
-       if (ret != ISC_R_SUCCESS) \
-               goto cleanup; \
-       }
-
-#define BADTOKEN() { \
-       ret = ISC_R_UNEXPECTEDTOKEN; \
-       goto cleanup; \
-       }
-
-       /* Read the domain name */
-       NEXTTOKEN(lex, opt, &token);
-       if (token.type != isc_tokentype_string)
-               BADTOKEN();
-       dns_fixedname_init(&name);
-       isc_buffer_init(&b, token.value.as_pointer,
-                       strlen(token.value.as_pointer));
-       isc_buffer_add(&b, strlen(token.value.as_pointer));
-       ret = dns_name_fromtext(dns_fixedname_name(&name), &b, dns_rootname,
-                               ISC_FALSE, NULL);
-       if (ret != ISC_R_SUCCESS)
-               goto cleanup;
-
-       /* Read the next word: either TTL, class, or 'KEY' */
-       NEXTTOKEN(lex, opt, &token);
-
-       /* If it's a TTL, read the next one */
-       if (token.type == isc_tokentype_number)
-               NEXTTOKEN(lex, opt, &token);
-
-       if (token.type != isc_tokentype_string)
-               BADTOKEN();
-
-       r.base = token.value.as_pointer;
-       r.length = strlen(r.base);
-       ret = dns_rdataclass_fromtext(&rdclass, &r);
-       if (ret == ISC_R_SUCCESS)
-               NEXTTOKEN(lex, opt, &token);
-
-       if (token.type != isc_tokentype_string)
-               BADTOKEN();
-
-       if (strcasecmp(token.value.as_pointer, "KEY") != 0)
-               BADTOKEN();
-
-       isc_buffer_init(&b, rdatabuf, sizeof(rdatabuf));
-       ret = dns_rdata_fromtext(&rdata, rdclass, dns_rdatatype_key,
-                                lex, NULL, ISC_FALSE, mctx, &b, NULL);
-       if (ret != ISC_R_SUCCESS)
-               goto cleanup;
-
-       ret = dst_key_fromdns(dns_fixedname_name(&name), rdclass, &b, mctx,
-                             keyp);
-       if (ret != ISC_R_SUCCESS)
-               goto cleanup;
-
- cleanup:
-       if (lex != NULL) {
-               isc_lex_close(lex);
-               isc_lex_destroy(&lex);
-       }
-       isc_mem_put(mctx, newfilename, newfilenamelen);
-
-       return (ret);
-}
-
-/*
- * Writes a public key to disk in DNS format.
- */
-static isc_result_t
-write_public_key(const dst_key_t *key, const char *directory) {
-       FILE *fp;
-       isc_buffer_t keyb, textb, fileb, classb;
-       isc_region_t r;
-       char filename[ISC_DIR_NAMEMAX];
-       unsigned char key_array[DST_KEY_MAXSIZE];
-       char text_array[DST_KEY_MAXTEXTSIZE];
-       char class_array[10];
-       isc_result_t ret;
-       dns_rdata_t rdata = DNS_RDATA_INIT;
-       isc_fsaccess_t access;
-
-       REQUIRE(VALID_KEY(key));
-
-       isc_buffer_init(&keyb, key_array, sizeof(key_array));
-       isc_buffer_init(&textb, text_array, sizeof(text_array));
-       isc_buffer_init(&classb, class_array, sizeof(class_array));
-
-       ret = dst_key_todns(key, &keyb);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       isc_buffer_usedregion(&keyb, &r);
-       dns_rdata_fromregion(&rdata, key->key_class, dns_rdatatype_key, &r);
-
-       ret = dns_rdata_totext(&rdata, (dns_name_t *) NULL, &textb);
-       if (ret != ISC_R_SUCCESS)
-               return (DST_R_INVALIDPUBLICKEY);
-
-       ret = dns_rdataclass_totext(key->key_class, &classb);
-       if (ret != ISC_R_SUCCESS)
-               return (DST_R_INVALIDPUBLICKEY);
-
-       /*
-        * Make the filename.
-        */
-       isc_buffer_init(&fileb, filename, sizeof(filename));
-       ret = dst_key_buildfilename(key, DST_TYPE_PUBLIC, directory, &fileb);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       /*
-        * Create public key file.
-        */
-       if ((fp = fopen(filename, "w")) == NULL)
-               return (DST_R_WRITEERROR);
-
-       if (key->func->issymmetric()) {
-               access = 0;
-               isc_fsaccess_add(ISC_FSACCESS_OWNER,
-                                ISC_FSACCESS_READ | ISC_FSACCESS_WRITE,
-                                &access);
-               (void)isc_fsaccess_set(filename, access);
-       }
-
-       ret = dns_name_print(key->key_name, fp);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       fprintf(fp, " ");
-
-       isc_buffer_usedregion(&classb, &r);
-       fwrite(r.base, 1, r.length, fp);
-
-       fprintf(fp, " KEY ");
-
-       isc_buffer_usedregion(&textb, &r);
-       fwrite(r.base, 1, r.length, fp);
-
-       fputc('\n', fp);
-       fclose(fp);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-buildfilename(dns_name_t *name, dns_keytag_t id,
-             unsigned int alg, unsigned int type,
-             const char *directory, isc_buffer_t *out)
-{
-       const char *suffix = "";
-       unsigned int len;
-       isc_result_t result;
-
-       REQUIRE(out != NULL);
-       if ((type & DST_TYPE_PRIVATE) != 0)
-               suffix = ".private";
-       else if (type == DST_TYPE_PUBLIC)
-               suffix = ".key";
-       if (directory != NULL) {
-               if (isc_buffer_availablelength(out) < strlen(directory))
-                       return (ISC_R_NOSPACE);
-               isc_buffer_putstr(out, directory);
-               if (strlen(directory) > 0U &&
-                   directory[strlen(directory) - 1] != '/')
-                       isc_buffer_putstr(out, "/");
-       }
-       if (isc_buffer_availablelength(out) < 1)
-               return (ISC_R_NOSPACE);
-       isc_buffer_putstr(out, "K");
-       result = dns_name_tofilenametext(name, ISC_FALSE, out);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-       len = 1 + 3 + 1 + 5 + strlen(suffix) + 1;
-       if (isc_buffer_availablelength(out) < len)
-               return (ISC_R_NOSPACE);
-       sprintf((char *) isc_buffer_used(out), "+%03d+%05d%s", alg, id, suffix);
-       isc_buffer_add(out, len);
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-computeid(dst_key_t *key) {
-       isc_buffer_t dnsbuf;
-       unsigned char dns_array[DST_KEY_MAXSIZE];
-       isc_region_t r;
-       isc_result_t ret;
-
-       isc_buffer_init(&dnsbuf, dns_array, sizeof(dns_array));
-       ret = dst_key_todns(key, &dnsbuf);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       isc_buffer_usedregion(&dnsbuf, &r);
-       key->key_id = dst_region_computeid(&r, key->key_alg);
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-frombuffer(dns_name_t *name, unsigned int alg, unsigned int flags,
-          unsigned int protocol, dns_rdataclass_t rdclass,
-          isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp)
-{
-       dst_key_t *key;
-       isc_result_t ret;
-
-       REQUIRE(dns_name_isabsolute(name));
-       REQUIRE(source != NULL);
-       REQUIRE(mctx != NULL);
-       REQUIRE(keyp != NULL && *keyp == NULL);
-
-       key = get_key_struct(name, alg, flags, protocol, 0, rdclass, mctx);
-       if (key == NULL)
-               return (ISC_R_NOMEMORY);
-
-       if (key->func->fromdns == NULL) {
-               dst_key_free(&key);
-               return (DST_R_UNSUPPORTEDALG);
-       }
-
-       ret = key->func->fromdns(key, source);
-       if (ret != ISC_R_SUCCESS) {
-               dst_key_free(&key);
-               return (ret);
-       }
-
-       *keyp = key;
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-algorithm_status(unsigned int alg) {
-       REQUIRE(dst_initialized == ISC_TRUE);
-
-#ifndef OPENSSL
-       if (alg == DST_ALG_RSA || alg == DST_ALG_DSA || alg == DST_ALG_DH)
-               return (DST_R_NOCRYPTO);
-#endif
-       if (!dst_algorithm_supported(alg))
-               return (DST_R_UNSUPPORTEDALG);
-       return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst__file_addsuffix(char *filename, unsigned int len,
-         const char *ofilename, const char *suffix)
-{
-       int olen = strlen(ofilename);
-       int n;
-
-       if (olen > 1 && ofilename[olen - 1] == '.')
-               olen -= 1;
-       else if (olen > 8 && strcmp(ofilename + olen - 8, ".private") == 0)
-               olen -= 8;
-       else if (olen > 4 && strcmp(ofilename + olen - 4, ".key") == 0)
-               olen -= 4;
-
-       n = snprintf(filename, len, "%.*s%s", olen, ofilename, suffix);
-       if (n < 0)
-               return (ISC_R_NOSPACE);
-       return (ISC_R_SUCCESS);
-}
-
-void *
-dst__mem_alloc(size_t size) {
-       INSIST(dst_memory_pool != NULL);
-       return (isc_mem_allocate(dst_memory_pool, size));
-}
-
-void
-dst__mem_free(void *ptr) {
-       INSIST(dst_memory_pool != NULL);
-       if (ptr != NULL)
-               isc_mem_free(dst_memory_pool, ptr);
-}
-
-void *
-dst__mem_realloc(void *ptr, size_t size) {
-       void *p;
-
-       INSIST(dst_memory_pool != NULL);
-       p = NULL;
-       if (size > 0U) {
-               p = dst__mem_alloc(size);
-               if (p != NULL && ptr != NULL)
-                       memcpy(p, ptr, size);
-       }
-       if (ptr != NULL)
-               dst__mem_free(ptr);
-       return (p);
-}
-
-isc_result_t
-dst__entropy_getdata(void *buf, unsigned int len, isc_boolean_t pseudo) {
-       unsigned int flags = dst_entropy_flags;
-       if (pseudo)
-               flags &= ~ISC_ENTROPY_GOODONLY;
-       return (isc_entropy_getdata(dst_entropy_pool, buf, len, NULL, flags));
-}
diff --git a/lib/dns/sec/dst/dst_internal.h b/lib/dns/sec/dst/dst_internal.h
deleted file mode 100644 (file)
index 5366c80..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 2000, 2001  Internet Software Consortium.
- * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES 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: dst_internal.h,v 1.38.2.1 2004/03/09 06:11:40 marka Exp $ */
-
-#ifndef DST_DST_INTERNAL_H
-#define DST_DST_INTERNAL_H 1
-
-#include <isc/lang.h>
-#include <isc/buffer.h>
-#include <isc/int.h>
-#include <isc/magic.h>
-#include <isc/region.h>
-
-#include <dst/dst.h>
-
-ISC_LANG_BEGINDECLS
-
-#define KEY_MAGIC       ISC_MAGIC('D','S','T','K')
-#define CTX_MAGIC       ISC_MAGIC('D','S','T','C')
-
-#define VALID_KEY(x) ISC_MAGIC_VALID(x, KEY_MAGIC)
-#define VALID_CTX(x) ISC_MAGIC_VALID(x, CTX_MAGIC)
-
-/***
- *** Types
- ***/
-
-typedef struct dst_func dst_func_t;
-
-struct dst_key {
-       unsigned int    magic;
-       dns_name_t *    key_name;       /* name of the key */
-       unsigned int    key_size;       /* size of the key in bits */
-       unsigned int    key_proto;      /* protocols this key is used for */
-       unsigned int    key_alg;        /* algorithm of the key */
-       isc_uint32_t    key_flags;      /* flags of the public key */
-       isc_uint16_t    key_id;         /* identifier of the key */
-       dns_rdataclass_t key_class;     /* class of the key record */
-       isc_mem_t       *mctx;          /* memory context */
-       void *          opaque;         /* pointer to key in crypto pkg fmt */
-       dst_func_t *    func;           /* crypto package specific functions */
-};
-
-struct dst_context {
-       unsigned int magic;
-       dst_key_t *key;
-       isc_mem_t *mctx;
-       void *opaque;
-};
-
-struct dst_func {
-       /*
-        * Context functions
-        */
-       isc_result_t (*createctx)(dst_key_t *key, dst_context_t *dctx);
-       void (*destroyctx)(dst_context_t *dctx);
-       isc_result_t (*adddata)(dst_context_t *dctx, const isc_region_t *data);
-
-       /*
-        * Key operations
-        */
-       isc_result_t (*sign)(dst_context_t *dctx, isc_buffer_t *sig);
-       isc_result_t (*verify)(dst_context_t *dctx, const isc_region_t *sig);
-       isc_result_t (*computesecret)(const dst_key_t *pub,
-                                     const dst_key_t *priv,
-                                     isc_buffer_t *secret);
-       isc_boolean_t (*compare)(const dst_key_t *key1, const dst_key_t *key2);
-       isc_boolean_t (*paramcompare)(const dst_key_t *key1,
-                                     const dst_key_t *key2);
-       isc_result_t (*generate)(dst_key_t *key, int parms);
-       isc_boolean_t (*isprivate)(const dst_key_t *key);
-       isc_boolean_t (*issymmetric)(void);
-       void (*destroy)(dst_key_t *key);
-
-       /* conversion functions */
-       isc_result_t (*todns)(const dst_key_t *key, isc_buffer_t *data);
-       isc_result_t (*fromdns)(dst_key_t *key, isc_buffer_t *data);
-       isc_result_t (*tofile)(const dst_key_t *key, const char *directory);
-       isc_result_t (*fromfile)(dst_key_t *key, const char *filename);
-};
-
-/*
- * Initializers
- */
-isc_result_t dst__openssl_init(void);
-
-isc_result_t dst__hmacmd5_init(struct dst_func **funcp);
-isc_result_t dst__opensslrsa_init(struct dst_func **funcp);
-isc_result_t dst__openssldsa_init(struct dst_func **funcp);
-isc_result_t dst__openssldh_init(struct dst_func **funcp);
-isc_result_t dst__gssapi_init(struct dst_func **funcp);
-
-/*
- * Destructors
- */
-void dst__openssl_destroy(void);
-
-void dst__hmacmd5_destroy(void);
-void dst__opensslrsa_destroy(void);
-void dst__openssldsa_destroy(void);
-void dst__openssldh_destroy(void);
-void dst__gssapi_destroy(void);
-
-/*
- * Memory allocators using the DST memory pool.
- */
-void * dst__mem_alloc(size_t size);
-void   dst__mem_free(void *ptr);
-void * dst__mem_realloc(void *ptr, size_t size);
-
-/*
- * Entropy retriever using the DST entropy pool.
- */
-isc_result_t dst__entropy_getdata(void *buf, unsigned int len,
-                                 isc_boolean_t pseudo);
-
-/*
- * Generic helper functions.
- */
-isc_result_t
-dst__file_addsuffix(char *filename, unsigned int len,
-                   const char *ofilename, const char *suffix);
-
-ISC_LANG_ENDDECLS
-
-#endif /* DST_DST_INTERNAL_H */
diff --git a/lib/dns/sec/dst/dst_lib.c b/lib/dns/sec/dst/dst_lib.c
deleted file mode 100644 (file)
index 535f1e3..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 1999-2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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.
- */
-
-/*
- * Principal Author: Brian Wellington
- * $Id: dst_lib.c,v 1.8.2.1 2004/03/09 06:11:40 marka Exp $
- */
-
-#include <config.h>
-
-#include <stddef.h>
-
-#include <isc/once.h>
-#include <isc/msgcat.h>
-#include <isc/util.h>
-
-#include <dst/lib.h>
-
-/***
- *** Globals
- ***/
-
-isc_msgcat_t *                 dst_msgcat = NULL;
-
-
-/***
- *** Private
- ***/
-
-static isc_once_t              msgcat_once = ISC_ONCE_INIT;
-
-
-/***
- *** Functions
- ***/
-
-static void
-open_msgcat(void) {
-       isc_msgcat_open("libdst.cat", &dst_msgcat);
-}
-
-void
-dst_lib_initmsgcat(void) {
-
-       /*
-        * Initialize the DST library's message catalog, dst_msgcat, if it
-        * has not already been initialized.
-        */
-
-       RUNTIME_CHECK(isc_once_do(&msgcat_once, open_msgcat) == ISC_R_SUCCESS);
-}
diff --git a/lib/dns/sec/dst/dst_parse.c b/lib/dns/sec/dst/dst_parse.c
deleted file mode 100644 (file)
index 5618773..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2001  Internet Software Consortium.
- * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES 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.
- */
-
-/*
- * Principal Author: Brian Wellington
- * $Id: dst_parse.c,v 1.31.2.3 2004/03/09 06:11:40 marka Exp $
- */
-
-#include <config.h>
-
-#include <isc/base64.h>
-#include <isc/dir.h>
-#include <isc/fsaccess.h>
-#include <isc/lex.h>
-#include <isc/mem.h>
-#include <isc/string.h>
-#include <isc/util.h>
-
-#include "dst_internal.h"
-#include "dst_parse.h"
-#include "dst/result.h"
-
-
-#define PRIVATE_KEY_STR "Private-key-format:"
-#define ALGORITHM_STR "Algorithm:"
-#define RSA_STR "RSA"
-#define DH_STR "DH"
-#define DSA_STR "DSA"
-#define HMACMD5_STR "HMAC_MD5"
-
-struct parse_map {
-       const int value;
-       const char *tag;
-};
-
-static struct parse_map map[] = {
-       {TAG_RSA_MODULUS, "Modulus:"},
-       {TAG_RSA_PUBLICEXPONENT, "PublicExponent:"},
-       {TAG_RSA_PRIVATEEXPONENT, "PrivateExponent:"},
-       {TAG_RSA_PRIME1, "Prime1:"},
-       {TAG_RSA_PRIME2, "Prime2:"},
-       {TAG_RSA_EXPONENT1, "Exponent1:"},
-       {TAG_RSA_EXPONENT2, "Exponent2:"},
-       {TAG_RSA_COEFFICIENT, "Coefficient:"},
-
-       {TAG_DH_PRIME, "Prime(p):"},
-       {TAG_DH_GENERATOR, "Generator(g):"},
-       {TAG_DH_PRIVATE, "Private_value(x):"},
-       {TAG_DH_PUBLIC, "Public_value(y):"},
-
-       {TAG_DSA_PRIME, "Prime(p):"},
-       {TAG_DSA_SUBPRIME, "Subprime(q):"},
-       {TAG_DSA_BASE, "Base(g):"},
-       {TAG_DSA_PRIVATE, "Private_value(x):"},
-       {TAG_DSA_PUBLIC, "Public_value(y):"},
-
-       {TAG_HMACMD5_KEY, "Key:"},
-       {0, NULL}
-};
-
-static int
-find_value(const char *s, const unsigned int alg) {
-       int i;
-
-       for (i = 0; ; i++) {
-               if (map[i].tag == NULL)
-                       return (-1);
-               else if (strcasecmp(s, map[i].tag) == 0 &&
-                        TAG_ALG(map[i].value) == alg)
-                       return (map[i].value);
-       }
-}
-
-static const char *
-find_tag(const int value) {
-       int i;
-
-       for (i = 0; ; i++) {
-               if (map[i].tag == NULL)
-                       return (NULL);
-               else if (value == map[i].value)
-                       return (map[i].tag);
-       }
-}
-
-static int
-check_rsa(const dst_private_t *priv) {
-       int i, j;
-       if (priv->nelements != RSA_NTAGS)
-               return (-1);
-       for (i = 0; i < RSA_NTAGS; i++) {
-               for (j = 0; j < priv->nelements; j++)
-                       if (priv->elements[j].tag == TAG(DST_ALG_RSAMD5, i))
-                               break;
-               if (j == priv->nelements)
-                       return (-1);
-       }
-       return (0);
-}
-
-static int
-check_dh(const dst_private_t *priv) {
-       int i, j;
-       if (priv->nelements != DH_NTAGS)
-               return (-1);
-       for (i = 0; i < DH_NTAGS; i++) {
-               for (j = 0; j < priv->nelements; j++)
-                       if (priv->elements[j].tag == TAG(DST_ALG_DH, i))
-                               break;
-               if (j == priv->nelements)
-                       return (-1);
-       }
-       return (0);
-}
-
-static int
-check_dsa(const dst_private_t *priv) {
-       int i, j;
-       if (priv->nelements != DSA_NTAGS)
-               return (-1);
-       for (i = 0; i < DSA_NTAGS; i++) {
-               for (j = 0; j < priv->nelements; j++)
-                       if (priv->elements[j].tag == TAG(DST_ALG_DSA, i))
-                               break;
-               if (j == priv->nelements)
-                       return (-1);
-       }
-       return (0);
-}
-
-static int
-check_hmac_md5(const dst_private_t *priv) {
-       if (priv->nelements != HMACMD5_NTAGS)
-               return (-1);
-       if (priv->elements[0].tag != TAG_HMACMD5_KEY)
-               return (-1);
-       return (0);
-}
-
-static int
-check_data(const dst_private_t *priv, const unsigned int alg) {
-       /* XXXVIX this switch statement is too sparse to gen a jump table. */
-       switch (alg) {
-       case DST_ALG_RSAMD5:
-               return (check_rsa(priv));
-       case DST_ALG_DH:
-               return (check_dh(priv));
-       case DST_ALG_DSA:
-               return (check_dsa(priv));
-       case DST_ALG_HMACMD5:
-               return (check_hmac_md5(priv));
-       default:
-               return (DST_R_UNSUPPORTEDALG);
-       }
-}
-
-void
-dst__privstruct_free(dst_private_t *priv, isc_mem_t *mctx) {
-       int i;
-
-       if (priv == NULL)
-               return;
-       for (i = 0; i < priv->nelements; i++) {
-               if (priv->elements[i].data == NULL)
-                       continue;
-               memset(priv->elements[i].data, 0, MAXFIELDSIZE);
-               isc_mem_put(mctx, priv->elements[i].data, MAXFIELDSIZE);
-       }
-       priv->nelements = 0;
-}
-
-int
-dst__privstruct_parsefile(dst_key_t *key, const char *filename,
-                         isc_mem_t *mctx, dst_private_t *priv)
-{
-       int n = 0, major, minor;
-       isc_buffer_t b;
-       isc_lex_t *lex = NULL;
-       isc_token_t token;
-       unsigned int opt = ISC_LEXOPT_EOL;
-       char *newfilename;
-       int newfilenamelen;
-       isc_result_t ret;
-
-       REQUIRE(priv != NULL);
-
-       newfilenamelen = strlen(filename) + 9;
-       newfilename = isc_mem_get(mctx, newfilenamelen);
-       if (newfilename == NULL)
-               return (ISC_R_NOMEMORY);
-       ret = dst__file_addsuffix(newfilename, newfilenamelen, filename,
-                                 ".private");
-       INSIST(ret == ISC_R_SUCCESS);
-
-       priv->nelements = 0;
-
-       ret = isc_lex_create(mctx, 1024, &lex);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       ret = isc_lex_openfile(lex, newfilename);
-       if (ret != ISC_R_SUCCESS)
-               goto fail;
-
-#define NEXTTOKEN(lex, opt, token) \
-       { \
-               ret = isc_lex_gettoken(lex, opt, token); \
-               if (ret != ISC_R_SUCCESS) \
-                       goto fail; \
-       }
-
-#define READLINE(lex, opt, token) \
-       do { \
-               NEXTTOKEN(lex, opt, token) \
-       } while ((*token).type != isc_tokentype_eol) \
-
-       /*
-        * Read the description line.
-        */
-       NEXTTOKEN(lex, opt, &token);
-       if (token.type != isc_tokentype_string ||
-           strcmp(token.value.as_pointer, PRIVATE_KEY_STR) != 0)
-       {
-               ret = DST_R_INVALIDPRIVATEKEY;
-               goto fail;
-       }
-
-       NEXTTOKEN(lex, opt, &token);
-       if (token.type != isc_tokentype_string ||
-           ((char *)token.value.as_pointer)[0] != 'v')
-       {
-               ret = DST_R_INVALIDPRIVATEKEY;
-               goto fail;
-       }
-       if (sscanf(token.value.as_pointer, "v%d.%d", &major, &minor) != 2)
-       {
-               ret = DST_R_INVALIDPRIVATEKEY;
-               goto fail;
-       }
-
-       if (major > MAJOR_VERSION ||
-           (major == MAJOR_VERSION && minor > MINOR_VERSION))
-       {
-               ret = DST_R_INVALIDPRIVATEKEY;
-               goto fail;
-       }
-
-       READLINE(lex, opt, &token);
-
-       /*
-        * Read the algorithm line.
-        */
-       NEXTTOKEN(lex, opt, &token);
-       if (token.type != isc_tokentype_string ||
-           strcmp(token.value.as_pointer, ALGORITHM_STR) != 0)
-       {
-               ret = DST_R_INVALIDPRIVATEKEY;
-               goto fail;
-       }
-
-       NEXTTOKEN(lex, opt | ISC_LEXOPT_NUMBER, &token);
-       if (token.type != isc_tokentype_number ||
-           token.value.as_ulong != (unsigned long) dst_key_alg(key))
-       {
-               ret = DST_R_INVALIDPRIVATEKEY;
-               goto fail;
-       }
-
-       READLINE(lex, opt, &token);
-
-       /*
-        * Read the key data.
-        */
-       for (n = 0; n < MAXFIELDS; n++) {
-               int tag;
-               unsigned char *data;
-               isc_region_t r;
-
-               do {
-                       ret = isc_lex_gettoken(lex, opt, &token);
-                       if (ret == ISC_R_EOF)
-                               goto done;
-                       if (ret != ISC_R_SUCCESS)
-                               goto fail;
-               } while (token.type == isc_tokentype_eol);
-
-               if (token.type != isc_tokentype_string) {
-                       ret = DST_R_INVALIDPRIVATEKEY;
-                       goto fail;
-               }
-
-               memset(&priv->elements[n], 0, sizeof(dst_private_element_t));
-               tag = find_value(token.value.as_pointer, dst_key_alg(key));
-               if (tag < 0 || TAG_ALG(tag) != dst_key_alg(key)) {
-                       ret = DST_R_INVALIDPRIVATEKEY;
-                       goto fail;
-               }
-               priv->elements[n].tag = tag;
-
-               data = (unsigned char *) isc_mem_get(mctx, MAXFIELDSIZE);
-               if (data == NULL)
-                       goto fail;
-
-               isc_buffer_init(&b, data, MAXFIELDSIZE);
-               ret = isc_base64_tobuffer(lex, &b, -1);
-               if (ret != ISC_R_SUCCESS)
-                       goto fail;
-               isc_buffer_usedregion(&b, &r);
-               priv->elements[n].length = r.length;
-               priv->elements[n].data = r.base;
-
-               READLINE(lex, opt, &token);
-       }
- done:
-       priv->nelements = n;
-
-       if (check_data(priv, dst_key_alg(key)) < 0)
-               goto fail;
-
-       isc_lex_close(lex);
-       isc_lex_destroy(&lex);
-       isc_mem_put(mctx, newfilename, newfilenamelen);
-
-       return (ISC_R_SUCCESS);
-
-fail:
-       if (lex != NULL) {
-               isc_lex_close(lex);
-               isc_lex_destroy(&lex);
-       }
-       isc_mem_put(mctx, newfilename, newfilenamelen);
-
-       priv->nelements = n;
-       dst__privstruct_free(priv, mctx);
-       return (ret);
-}
-
-int
-dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv,
-                         const char *directory)
-{
-       FILE *fp;
-       int ret, i;
-       isc_result_t iret;
-       char filename[ISC_DIR_NAMEMAX];
-       char buffer[MAXFIELDSIZE * 2];
-       isc_buffer_t b;
-       isc_fsaccess_t access;
-
-       REQUIRE(priv != NULL);
-
-       if (check_data(priv, dst_key_alg(key)) < 0)
-               return (DST_R_INVALIDPRIVATEKEY);
-
-       isc_buffer_init(&b, filename, sizeof(filename));
-       ret = dst_key_buildfilename(key, DST_TYPE_PRIVATE, directory, &b);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       if ((fp = fopen(filename, "w")) == NULL)
-               return (DST_R_WRITEERROR);
-
-       access = 0;
-       isc_fsaccess_add(ISC_FSACCESS_OWNER,
-                        ISC_FSACCESS_READ | ISC_FSACCESS_WRITE,
-                        &access);
-       (void)isc_fsaccess_set(filename, access);
-
-       /* XXXDCL return value should be checked for full filesystem */
-       fprintf(fp, "%s v%d.%d\n", PRIVATE_KEY_STR, MAJOR_VERSION,
-               MINOR_VERSION);
-
-       fprintf(fp, "%s %d ", ALGORITHM_STR, dst_key_alg(key));
-       /* XXXVIX this switch statement is too sparse to gen a jump table. */
-       switch (dst_key_alg(key)) {
-       case DST_ALG_RSAMD5:
-               fprintf(fp, "(RSA)\n");
-               break;
-       case DST_ALG_DH:
-               fprintf(fp, "(DH)\n");
-               break;
-       case DST_ALG_DSA:
-               fprintf(fp, "(DSA)\n");
-               break;
-       case DST_ALG_HMACMD5:
-               fprintf(fp, "(HMAC_MD5)\n");
-               break;
-       default:
-               fprintf(fp, "(?)\n");
-               break;
-       }
-
-       for (i = 0; i < priv->nelements; i++) {
-               isc_buffer_t b;
-               isc_region_t r;
-               const char *s;
-
-               s = find_tag(priv->elements[i].tag);
-
-               r.base = priv->elements[i].data;
-               r.length = priv->elements[i].length;
-               isc_buffer_init(&b, buffer, sizeof(buffer));
-               iret = isc_base64_totext(&r, sizeof(buffer), "", &b);
-               if (iret != ISC_R_SUCCESS) {
-                       fclose(fp);
-                       return (DST_R_INVALIDPRIVATEKEY);
-               }
-               isc_buffer_usedregion(&b, &r);
-
-               fprintf(fp, "%s ", s);
-               fwrite(r.base, 1, r.length, fp);
-               fprintf(fp, "\n");
-       }
-
-       fclose(fp);
-       return (ISC_R_SUCCESS);
-}
diff --git a/lib/dns/sec/dst/dst_parse.h b/lib/dns/sec/dst/dst_parse.h
deleted file mode 100644 (file)
index b9b5ebb..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 2000, 2001  Internet Software Consortium.
- * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES 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: dst_parse.h,v 1.19.2.1 2004/03/09 06:11:40 marka Exp $ */
-
-#ifndef DST_DST_PARSE_H
-#define DST_DST_PARSE_H 1
-
-#include <isc/lang.h>
-
-#include <dst/dst.h>
-
-#define MAJOR_VERSION          1
-#define MINOR_VERSION          2
-
-#define MAXFIELDSIZE           512
-#define MAXFIELDS              12
-
-#define TAG_SHIFT              4
-#define TAG_ALG(tag)           ((unsigned int)(tag) >> TAG_SHIFT)
-#define TAG(alg, off)          (((alg) << TAG_SHIFT) + (off))
-
-/* These are used by both RSA-MD5 and RSA-SHA1 */
-#define RSA_NTAGS              8
-#define TAG_RSA_MODULUS                ((DST_ALG_RSAMD5 << TAG_SHIFT) + 0)
-#define TAG_RSA_PUBLICEXPONENT ((DST_ALG_RSAMD5 << TAG_SHIFT) + 1)
-#define TAG_RSA_PRIVATEEXPONENT        ((DST_ALG_RSAMD5 << TAG_SHIFT) + 2)
-#define TAG_RSA_PRIME1         ((DST_ALG_RSAMD5 << TAG_SHIFT) + 3)
-#define TAG_RSA_PRIME2         ((DST_ALG_RSAMD5 << TAG_SHIFT) + 4)
-#define TAG_RSA_EXPONENT1      ((DST_ALG_RSAMD5 << TAG_SHIFT) + 5)
-#define TAG_RSA_EXPONENT2      ((DST_ALG_RSAMD5 << TAG_SHIFT) + 6)
-#define TAG_RSA_COEFFICIENT    ((DST_ALG_RSAMD5 << TAG_SHIFT) + 7)
-
-#define DH_NTAGS               4
-#define TAG_DH_PRIME           ((DST_ALG_DH << TAG_SHIFT) + 0)
-#define TAG_DH_GENERATOR       ((DST_ALG_DH << TAG_SHIFT) + 1)
-#define TAG_DH_PRIVATE         ((DST_ALG_DH << TAG_SHIFT) + 2)
-#define TAG_DH_PUBLIC          ((DST_ALG_DH << TAG_SHIFT) + 3)
-
-#define DSA_NTAGS              5
-#define TAG_DSA_PRIME          ((DST_ALG_DSA << TAG_SHIFT) + 0)
-#define TAG_DSA_SUBPRIME       ((DST_ALG_DSA << TAG_SHIFT) + 1)
-#define TAG_DSA_BASE           ((DST_ALG_DSA << TAG_SHIFT) + 2)
-#define TAG_DSA_PRIVATE                ((DST_ALG_DSA << TAG_SHIFT) + 3)
-#define TAG_DSA_PUBLIC         ((DST_ALG_DSA << TAG_SHIFT) + 4)
-
-#define HMACMD5_NTAGS          1
-#define TAG_HMACMD5_KEY                ((DST_ALG_HMACMD5 << TAG_SHIFT) + 0)
-
-struct dst_private_element {
-       unsigned short tag;
-       unsigned short length;
-       unsigned char *data;
-};
-
-typedef struct dst_private_element dst_private_element_t;
-
-struct dst_private {
-       unsigned short nelements;
-       dst_private_element_t elements[MAXFIELDS];
-};
-
-typedef struct dst_private dst_private_t;
-
-ISC_LANG_BEGINDECLS
-
-void
-dst__privstruct_free(dst_private_t *priv, isc_mem_t *mctx);
-
-int
-dst__privstruct_parsefile(dst_key_t *key, const char *filename,
-                         isc_mem_t *mctx, dst_private_t *priv);
-
-int
-dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv,
-                         const char *directory);
-
-ISC_LANG_ENDDECLS
-
-#endif /* DST_DST_PARSE_H */
diff --git a/lib/dns/sec/dst/dst_result.c b/lib/dns/sec/dst/dst_result.c
deleted file mode 100644 (file)
index 640f87b..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 1999-2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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.
- */
-
-/*
- * Principal Author: Brian Wellington
- * $Id: dst_result.c,v 1.18.2.2 2004/03/09 06:11:40 marka Exp $
- */
-
-#include <config.h>
-
-#include <isc/once.h>
-#include <isc/util.h>
-
-#include <dst/result.h>
-#include <dst/lib.h>
-
-static const char *text[DST_R_NRESULTS] = {
-       "algorithm is unsupported",             /*  0 */
-       "openssl failure",                      /*  1 */
-       "built with no crypto support",         /*  2 */
-       "illegal operation for a null key",     /*  3 */
-       "public key is invalid",                /*  4 */
-       "private key is invalid",               /*  5 */
-       "UNUSED6",                              /*  6 */
-       "error occurred writing key to disk",   /*  7 */
-       "invalid algorithm specific parameter", /*  8 */
-       "UNUSED9",                              /*  9 */
-       "UNUSED10",                             /* 10 */
-       "sign failure",                         /* 11 */
-       "UNUSED12",                             /* 12 */
-       "UNUSED13",                             /* 13 */
-       "verify failure",                       /* 14 */
-       "not a public key",                     /* 15 */
-       "not a private key",                    /* 16 */
-       "not a key that can compute a secret",  /* 17 */
-       "failure computing a shared secret",    /* 18 */
-       "no randomness available",              /* 19 */
-};
-
-#define DST_RESULT_RESULTSET                   2
-
-static isc_once_t              once = ISC_ONCE_INIT;
-
-static void
-initialize_action(void) {
-       isc_result_t result;
-
-       result = isc_result_register(ISC_RESULTCLASS_DST, DST_R_NRESULTS,
-                                    text, dst_msgcat, DST_RESULT_RESULTSET);
-       if (result != ISC_R_SUCCESS)
-               UNEXPECTED_ERROR(__FILE__, __LINE__,
-                                "isc_result_register() failed: %u", result);
-}
-
-static void
-initialize(void) {
-       dst_lib_initmsgcat();
-       RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS);
-}
-
-const char *
-dst_result_totext(isc_result_t result) {
-       initialize();
-
-       return (isc_result_totext(result));
-}
-
-void
-dst_result_register(void) {
-       initialize();
-}
diff --git a/lib/dns/sec/dst/gssapi_link.c b/lib/dns/sec/dst/gssapi_link.c
deleted file mode 100644 (file)
index 23fb55c..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000, 2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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: gssapi_link.c,v 1.7.2.1 2004/03/09 06:11:41 marka Exp $
- */
-
-#ifdef GSSAPI
-
-#include <config.h>
-
-#include <isc/buffer.h>
-#include <isc/mem.h>
-#include <isc/string.h>
-#include <isc/util.h>
-
-#include <dst/result.h>
-
-#include "dst_internal.h"
-#include "dst_parse.h"
-
-#include <gssapi/gssapi.h>
-
-#define INITIAL_BUFFER_SIZE 1024
-#define BUFFER_EXTRA 1024
-
-#define REGION_TO_GBUFFER(r, gb) \
-       do { \
-               (gb).length = (r).length;       \
-               (gb).value = (r).base;  \
-       } while (0)
-
-typedef struct gssapi_ctx {
-       isc_buffer_t *buffer;
-       gss_ctx_id_t *context_id;
-} gssapi_ctx_t;
-
-
-static isc_result_t
-gssapi_createctx(dst_key_t *key, dst_context_t *dctx) {
-       gssapi_ctx_t *ctx;
-       isc_result_t result;
-
-       UNUSED(key);
-
-       ctx = isc_mem_get(dctx->mctx, sizeof(gssapi_ctx_t));
-       if (ctx == NULL)
-               return (ISC_R_NOMEMORY);
-       ctx->buffer = NULL;
-       result = isc_buffer_allocate(dctx->mctx, &ctx->buffer,
-                                    INITIAL_BUFFER_SIZE);
-       if (result != ISC_R_SUCCESS) {
-               isc_mem_put(dctx->mctx, ctx, sizeof(gssapi_ctx_t));
-               return (result);
-       }
-       ctx->context_id = key->opaque;
-       dctx->opaque = ctx;
-       return (ISC_R_SUCCESS);
-}
-
-static void
-gssapi_destroyctx(dst_context_t *dctx) {
-       gssapi_ctx_t *ctx = dctx->opaque;
-
-       if (ctx != NULL) {
-               if (ctx->buffer != NULL)
-                       isc_buffer_free(&ctx->buffer);
-               isc_mem_put(dctx->mctx, ctx, sizeof(gssapi_ctx_t));
-               dctx->opaque = NULL;
-       }
-}
-
-static isc_result_t
-gssapi_adddata(dst_context_t *dctx, const isc_region_t *data) {
-       gssapi_ctx_t *ctx = dctx->opaque;
-       isc_buffer_t *newbuffer = NULL;
-       isc_region_t r;
-       unsigned int length;
-       isc_result_t result;
-
-       result = isc_buffer_copyregion(ctx->buffer, data);
-       if (result == ISC_R_SUCCESS)
-               return (ISC_R_SUCCESS);
-
-       length = isc_buffer_length(ctx->buffer) + data->length + BUFFER_EXTRA;
-
-       result = isc_buffer_allocate(dctx->mctx, &newbuffer, length);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-
-       isc_buffer_usedregion(ctx->buffer, &r);
-       (void) isc_buffer_copyregion(newbuffer, &r);
-       (void) isc_buffer_copyregion(newbuffer, data);
-
-       isc_buffer_free(&ctx->buffer);
-       ctx->buffer = newbuffer;
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-gssapi_sign(dst_context_t *dctx, isc_buffer_t *sig) {
-       gssapi_ctx_t *ctx = dctx->opaque;
-       isc_region_t message;
-       gss_buffer_desc gmessage, gsig;
-       OM_uint32 minor, gret;
-
-       isc_buffer_usedregion(ctx->buffer, &message);
-       REGION_TO_GBUFFER(message, gmessage);
-
-       gret = gss_get_mic(&minor, ctx->context_id,
-                          GSS_C_QOP_DEFAULT, &gmessage, &gsig);
-       if (gret != 0)
-               return (ISC_R_FAILURE);
-
-       if (gsig.length > isc_buffer_availablelength(sig)) {
-               gss_release_buffer(&minor, &gsig);
-               return (ISC_R_NOSPACE);
-       }
-
-       isc_buffer_putmem(sig, gsig.value, gsig.length);
-
-       gss_release_buffer(&minor, &gsig);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-gssapi_verify(dst_context_t *dctx, const isc_region_t *sig) {
-       gssapi_ctx_t *ctx = dctx->opaque;
-       isc_region_t message;
-       gss_buffer_desc gmessage, gsig;
-       OM_uint32 minor, gret;
-
-       isc_buffer_usedregion(ctx->buffer, &message);
-       REGION_TO_GBUFFER(message, gmessage);
-
-       REGION_TO_GBUFFER(*sig, gsig);
-
-       gret = gss_verify_mic(&minor, ctx->context_id, &gmessage, &gsig, NULL);
-       if (gret != 0)
-               return (ISC_R_FAILURE);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_boolean_t
-gssapi_compare(const dst_key_t *key1, const dst_key_t *key2) {
-       gss_ctx_id_t gsskey1 = key1->opaque;
-       gss_ctx_id_t gsskey2 = key2->opaque;
-
-       /* No idea */
-       return (ISC_TF(gsskey1 == gsskey2));
-}
-
-static isc_result_t
-gssapi_generate(dst_key_t *key, int unused) {
-       UNUSED(key);
-       UNUSED(unused);
-
-       /* No idea */
-       return (ISC_R_FAILURE);
-}
-
-static isc_boolean_t
-gssapi_isprivate(const dst_key_t *key) {
-       UNUSED(key);
-        return (ISC_TRUE);
-}
-
-static isc_boolean_t
-gssapi_issymmetric(const dst_key_t *key) {
-       UNUSED(key);
-        return (ISC_TRUE);
-}
-
-static void
-gssapi_destroy(dst_key_t *key) {
-       UNUSED(key);
-       /* No idea */
-}
-
-static dst_func_t gssapi_functions = {
-       gssapi_createctx,
-       gssapi_destroyctx,
-       gssapi_adddata,
-       gssapi_sign,
-       gssapi_verify,
-       NULL, /* computesecret */
-       gssapi_compare,
-       NULL, /* paramcompare */
-       gssapi_generate,
-       gssapi_isprivate,
-       gssapi_issymmetric,
-       gssapi_destroy,
-       NULL, /* todns */
-       NULL, /* fromdns */
-       NULL, /* tofile */
-       NULL, /* fromfile */
-};
-
-isc_result_t
-dst__gssapi_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL && *funcp == NULL);
-       *funcp = &gssapi_functions;
-       return (ISC_R_SUCCESS);
-}
-
-void
-dst__gssapi_destroy(void) {
-}
-
-#else
-int  gssapi_link_unneeded = 1;
-#endif
diff --git a/lib/dns/sec/dst/gssapictx.c b/lib/dns/sec/dst/gssapictx.c
deleted file mode 100644 (file)
index 3f103ec..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000, 2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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: gssapictx.c,v 1.3.2.2 2004/03/09 06:11:41 marka Exp $ */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <isc/buffer.h>
-#include <isc/dir.h>
-#include <isc/entropy.h>
-#include <isc/lex.h>
-#include <isc/mem.h>
-#include <isc/once.h>
-#include <isc/random.h>
-#include <isc/string.h>
-#include <isc/time.h>
-#include <isc/util.h>
-
-#include <dns/fixedname.h>
-#include <dns/name.h>
-#include <dns/rdata.h>
-#include <dns/rdataclass.h>
-#include <dns/result.h>
-#include <dns/types.h>
-#include <dns/keyvalues.h>
-
-#include <dst/gssapi.h>
-#include <dst/result.h>
-
-#include "dst_internal.h"
-
-#ifdef GSSAPI
-
-#include <gssapi/gssapi.h>
-
-#define RETERR(x) do { \
-       result = (x); \
-       if (result != ISC_R_SUCCESS) \
-               goto out; \
-       } while (0)
-
-#define REGION_TO_GBUFFER(r, gb)               \
-       do {                                    \
-               (gb).length = (r).length;       \
-               (gb).value = (r).base;          \
-       } while (0)
-
-#define GBUFFER_TO_REGION(gb, r)               \
-       do {                                    \
-               (r).length = (gb).length;       \
-               (r).base = (gb).value;          \
-       } while (0)
-
-static inline void
-name_to_gbuffer(dns_name_t *name, isc_buffer_t *buffer,
-               gss_buffer_desc *gbuffer)
-{
-       dns_name_t tname, *namep;
-       isc_region_t r;
-       isc_result_t result;
-
-       if (!dns_name_isabsolute(name))
-               namep = name;
-       else {
-               unsigned int labels;
-               dns_name_init(&tname, NULL);
-               labels = dns_name_countlabels(name);
-               dns_name_getlabelsequence(name, 0, labels - 1, &tname);
-               namep = &tname;
-       }
-                                       
-       result = dns_name_totext(namep, ISC_FALSE, buffer);
-       isc_buffer_putuint8(buffer, 0);
-       isc_buffer_usedregion(buffer, &r);
-       REGION_TO_GBUFFER(r, *gbuffer);
-}
-
-isc_result_t
-dst_gssapi_acquirecred(dns_name_t *name, isc_boolean_t initiate, void **cred) {
-       isc_buffer_t namebuf;
-       gss_name_t gname;
-       gss_buffer_desc gnamebuf;
-       unsigned char array[DNS_NAME_MAXTEXT + 1];
-       OM_uint32 gret, minor;
-       gss_OID_set mechs;
-       OM_uint32 lifetime;
-       gss_cred_usage_t usage;
-
-       REQUIRE(cred != NULL && *cred == NULL);
-
-       if (name != NULL) {
-               isc_buffer_init(&namebuf, array, sizeof(array));
-               name_to_gbuffer(name, &namebuf, &gnamebuf);
-               gret = gss_import_name(&minor, &gnamebuf, GSS_C_NO_OID,
-                                      &gname);
-               if (gret != GSS_S_COMPLETE)
-                       return (ISC_R_FAILURE);
-       } else
-               gname = NULL;
-
-       if (initiate)
-               usage = GSS_C_INITIATE;
-       else
-               usage = GSS_C_ACCEPT;
-
-       gret = gss_acquire_cred(&minor, gname, GSS_C_INDEFINITE,
-                               GSS_C_NO_OID_SET, usage,
-                               cred, &mechs, &lifetime);
-       if (gret != GSS_S_COMPLETE)
-               return (ISC_R_FAILURE);
-       return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dst_gssapi_initctx(dns_name_t *name, void *cred,
-                  isc_region_t *intoken, isc_buffer_t *outtoken,
-                  void **context)
-{
-       isc_region_t r;
-       isc_buffer_t namebuf;
-       gss_buffer_desc gnamebuf, gintoken, *gintokenp, gouttoken;
-       OM_uint32 gret, minor, flags, ret_flags;
-       gss_OID mech_type, ret_mech_type;
-       OM_uint32 lifetime;
-       gss_name_t gname;
-       isc_result_t result;
-       unsigned char array[DNS_NAME_MAXTEXT + 1];
-
-       isc_buffer_init(&namebuf, array, sizeof(array));
-       name_to_gbuffer(name, &namebuf, &gnamebuf);
-       gret = gss_import_name(&minor, &gnamebuf, GSS_C_NO_OID, &gname);
-       if (gret != GSS_S_COMPLETE)
-               return (ISC_R_FAILURE);
-
-       if (intoken != NULL) {
-               REGION_TO_GBUFFER(*intoken, gintoken);
-               gintokenp = &gintoken;
-       } else
-               gintokenp = NULL;
-
-       if (*context == NULL)
-               *context = GSS_C_NO_CONTEXT;
-       flags = GSS_C_REPLAY_FLAG | GSS_C_MUTUAL_FLAG | GSS_C_DELEG_FLAG |
-               GSS_C_SEQUENCE_FLAG | GSS_C_CONF_FLAG | GSS_C_INTEG_FLAG;
-       mech_type = GSS_C_NO_OID;
-
-       gret = gss_init_sec_context(&minor, cred, context, gname,
-                                   mech_type, flags, 0,
-                                   GSS_C_NO_CHANNEL_BINDINGS, gintokenp,
-                                   &ret_mech_type, &gouttoken, &ret_flags,
-                                   &lifetime);
-       if (gret != GSS_S_COMPLETE && gret != GSS_S_CONTINUE_NEEDED)
-               return (ISC_R_FAILURE);
-
-       GBUFFER_TO_REGION(gouttoken, r);
-       RETERR(isc_buffer_copyregion(outtoken, &r));
-
-       if (gret == GSS_S_COMPLETE)
-               return (ISC_R_SUCCESS);
-       else
-               return (DNS_R_CONTINUE);
-
- out:
-       return (result);
-}
-
-isc_result_t
-dst_gssapi_acceptctx(dns_name_t *name, void *cred,
-                    isc_region_t *intoken, isc_buffer_t *outtoken,
-                    void **context)
-{
-       isc_region_t r;
-       isc_buffer_t namebuf;
-       gss_buffer_desc gnamebuf, gintoken, gouttoken;
-       OM_uint32 gret, minor, flags;
-       gss_OID mech_type;
-       OM_uint32 lifetime;
-       gss_cred_id_t delegated_cred;
-       gss_name_t gname;
-       isc_result_t result;
-       unsigned char array[DNS_NAME_MAXTEXT + 1];
-
-       isc_buffer_init(&namebuf, array, sizeof(array));
-       name_to_gbuffer(name, &namebuf, &gnamebuf);
-       gret = gss_import_name(&minor, &gnamebuf, GSS_C_NO_OID, &gname);
-       if (gret != GSS_S_COMPLETE)
-               return (ISC_R_FAILURE);
-
-       REGION_TO_GBUFFER(*intoken, gintoken);
-
-       if (*context == NULL)
-               *context = GSS_C_NO_CONTEXT;
-
-       gret = gss_accept_sec_context(&minor, context, cred, &gintoken,
-                                     GSS_C_NO_CHANNEL_BINDINGS, gname,
-                                     &mech_type, &gouttoken, &flags,
-                                     &lifetime, &delegated_cred);
-       if (gret != GSS_S_COMPLETE)
-               return (ISC_R_FAILURE);
-
-       GBUFFER_TO_REGION(gouttoken, r);
-       RETERR(isc_buffer_copyregion(outtoken, &r));
-
-       return (ISC_R_SUCCESS);
-
- out:
-       return (result);
-}
-
-#else
-
-isc_result_t
-dst_gssapi_acquirecred(dns_name_t *name, isc_boolean_t initiate, void **cred) {
-       UNUSED(name);
-       UNUSED(initiate);
-       UNUSED(cred);
-       return (ISC_R_NOTIMPLEMENTED);
-}
-
-isc_result_t
-dst_gssapi_initctx(dns_name_t *name, void *cred,
-                  isc_region_t *intoken, isc_buffer_t *outtoken,
-                  void **context)
-{
-       UNUSED(name);
-       UNUSED(cred);
-       UNUSED(intoken);
-       UNUSED(outtoken);
-       UNUSED(context);
-       return (ISC_R_NOTIMPLEMENTED);
-}
-
-isc_result_t
-dst_gssapi_acceptctx(dns_name_t *name, void *cred,
-                    isc_region_t *intoken, isc_buffer_t *outtoken,
-                    void **context)
-{
-       UNUSED(name);
-       UNUSED(cred);
-       UNUSED(intoken);
-       UNUSED(outtoken);
-       UNUSED(context);
-       return (ISC_R_NOTIMPLEMENTED);
-}
-
-#endif
diff --git a/lib/dns/sec/dst/hmac_link.c b/lib/dns/sec/dst/hmac_link.c
deleted file mode 100644 (file)
index b3c87c6..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2001  Internet Software Consortium.
- * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES 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.
- */
-
-/*
- * Principal Author: Brian Wellington
- * $Id: hmac_link.c,v 1.53.2.2 2004/03/09 06:11:41 marka Exp $
- */
-
-#include <config.h>
-
-#include <isc/buffer.h>
-#include <isc/hmacmd5.h>
-#include <isc/md5.h>
-#include <isc/mem.h>
-#include <isc/string.h>
-#include <isc/util.h>
-
-#include <dst/result.h>
-
-#include "dst_internal.h"
-#include "dst_parse.h"
-
-#define HMAC_LEN       64
-#define HMAC_IPAD      0x36
-#define HMAC_OPAD      0x5c
-
-static isc_result_t hmacmd5_fromdns(dst_key_t *key, isc_buffer_t *data);
-
-typedef struct hmackey {
-       unsigned char key[HMAC_LEN];
-} HMAC_Key;
-
-static isc_result_t
-hmacmd5_createctx(dst_key_t *key, dst_context_t *dctx) {
-       isc_hmacmd5_t *hmacmd5ctx;
-       HMAC_Key *hkey = key->opaque;
-
-       hmacmd5ctx = isc_mem_get(dctx->mctx, sizeof(isc_hmacmd5_t));
-       if (hmacmd5ctx == NULL)
-               return (ISC_R_NOMEMORY);
-       isc_hmacmd5_init(hmacmd5ctx, hkey->key, HMAC_LEN);
-       dctx->opaque = hmacmd5ctx;
-       return (ISC_R_SUCCESS);
-}
-
-static void
-hmacmd5_destroyctx(dst_context_t *dctx) {
-       isc_hmacmd5_t *hmacmd5ctx = dctx->opaque;
-
-       if (hmacmd5ctx != NULL) {
-               isc_hmacmd5_invalidate(hmacmd5ctx);
-               isc_mem_put(dctx->mctx, hmacmd5ctx, sizeof(isc_hmacmd5_t));
-               dctx->opaque = NULL;
-       }
-}
-
-static isc_result_t
-hmacmd5_adddata(dst_context_t *dctx, const isc_region_t *data) {
-       isc_hmacmd5_t *hmacmd5ctx = dctx->opaque;
-
-       isc_hmacmd5_update(hmacmd5ctx, data->base, data->length);
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-hmacmd5_sign(dst_context_t *dctx, isc_buffer_t *sig) {
-       isc_hmacmd5_t *hmacmd5ctx = dctx->opaque;
-       unsigned char *digest;
-
-       if (isc_buffer_availablelength(sig) < ISC_MD5_DIGESTLENGTH)
-               return (ISC_R_NOSPACE);
-       digest = isc_buffer_used(sig);
-       isc_hmacmd5_sign(hmacmd5ctx, digest);
-       isc_buffer_add(sig, ISC_MD5_DIGESTLENGTH);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-hmacmd5_verify(dst_context_t *dctx, const isc_region_t *sig) {
-       isc_hmacmd5_t *hmacmd5ctx = dctx->opaque;
-
-       if (sig->length < ISC_MD5_DIGESTLENGTH)
-               return (DST_R_VERIFYFAILURE);
-
-       if (isc_hmacmd5_verify(hmacmd5ctx, sig->base))
-               return (ISC_R_SUCCESS);
-       else
-               return (DST_R_VERIFYFAILURE);
-}
-
-static isc_boolean_t
-hmacmd5_compare(const dst_key_t *key1, const dst_key_t *key2) {
-       HMAC_Key *hkey1, *hkey2;
-
-       hkey1 = (HMAC_Key *)key1->opaque;
-       hkey2 = (HMAC_Key *)key2->opaque;
-
-       if (hkey1 == NULL && hkey2 == NULL)
-               return (ISC_TRUE);
-       else if (hkey1 == NULL || hkey2 == NULL)
-               return (ISC_FALSE);
-
-       if (memcmp(hkey1->key, hkey2->key, HMAC_LEN) == 0)
-               return (ISC_TRUE);
-       else
-               return (ISC_FALSE);
-}
-
-static isc_result_t
-hmacmd5_generate(dst_key_t *key, int pseudorandom_ok) {
-       isc_buffer_t b;
-       isc_result_t ret;
-       int bytes;
-       unsigned char data[HMAC_LEN];
-
-       bytes = (key->key_size + 7) / 8;
-       if (bytes > 64) {
-               bytes = 64;
-               key->key_size = 512;
-       }
-
-       memset(data, 0, HMAC_LEN);
-       ret = dst__entropy_getdata(data, bytes, ISC_TF(pseudorandom_ok != 0));
-
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       isc_buffer_init(&b, data, bytes);
-       isc_buffer_add(&b, bytes);
-       ret = hmacmd5_fromdns(key, &b);
-       memset(data, 0, HMAC_LEN);
-
-       return (ret);
-}
-
-static isc_boolean_t
-hmacmd5_isprivate(const dst_key_t *key) {
-       UNUSED(key);
-       return (ISC_TRUE);
-}
-
-static isc_boolean_t
-hmacmd5_issymmetric(void) {
-        return (ISC_TRUE);
-}
-
-static void
-hmacmd5_destroy(dst_key_t *key) {
-       HMAC_Key *hkey = key->opaque;
-       memset(hkey, 0, sizeof(HMAC_Key));
-       isc_mem_put(key->mctx, hkey, sizeof(HMAC_Key));
-       key->opaque = NULL;
-}
-
-static isc_result_t
-hmacmd5_todns(const dst_key_t *key, isc_buffer_t *data) {
-       HMAC_Key *hkey;
-       unsigned int bytes;
-
-       REQUIRE(key->opaque != NULL);
-
-       hkey = (HMAC_Key *) key->opaque;
-
-       bytes = (key->key_size + 7) / 8;
-       if (isc_buffer_availablelength(data) < bytes)
-               return (ISC_R_NOSPACE);
-       isc_buffer_putmem(data, hkey->key, bytes);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-hmacmd5_fromdns(dst_key_t *key, isc_buffer_t *data) {
-       HMAC_Key *hkey;
-       int keylen;
-       isc_region_t r;
-       isc_md5_t md5ctx;
-
-       isc_buffer_remainingregion(data, &r);
-       if (r.length == 0)
-               return (ISC_R_SUCCESS);
-
-       hkey = (HMAC_Key *) isc_mem_get(key->mctx, sizeof(HMAC_Key));
-       if (hkey == NULL)
-               return (ISC_R_NOMEMORY);
-
-       memset(hkey->key, 0, sizeof(hkey->key));
-
-       if (r.length > HMAC_LEN) {
-               isc_md5_init(&md5ctx);
-               isc_md5_update(&md5ctx, r.base, r.length);
-               isc_md5_final(&md5ctx, hkey->key);
-               keylen = ISC_MD5_DIGESTLENGTH;
-       }
-       else {
-               memcpy(hkey->key, r.base, r.length);
-               keylen = r.length;
-       }
-
-       key->key_size = keylen * 8;
-       key->opaque = hkey;
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-hmacmd5_tofile(const dst_key_t *key, const char *directory) {
-       int cnt = 0;
-       HMAC_Key *hkey;
-       dst_private_t priv;
-       int bytes = (key->key_size + 7) / 8;
-
-       if (key->opaque == NULL)
-               return (DST_R_NULLKEY);
-
-       hkey = (HMAC_Key *) key->opaque;
-
-       priv.elements[cnt].tag = TAG_HMACMD5_KEY;
-       priv.elements[cnt].length = bytes;
-       priv.elements[cnt++].data = hkey->key;
-
-       priv.nelements = cnt;
-       return (dst__privstruct_writefile(key, &priv, directory));
-}
-
-static isc_result_t
-hmacmd5_fromfile(dst_key_t *key, const char *filename) {
-       dst_private_t priv;
-       isc_result_t ret;
-       isc_buffer_t b;
-       isc_mem_t *mctx = key->mctx;
-
-       /* read private key file */
-       ret = dst__privstruct_parsefile(key, filename, mctx, &priv);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       isc_buffer_init(&b, priv.elements[0].data, priv.elements[0].length);
-       isc_buffer_add(&b, priv.elements[0].length);
-       ret = hmacmd5_fromdns(key, &b);
-       dst__privstruct_free(&priv, mctx);
-       memset(&priv, 0, sizeof(priv));
-       return (ret);
-}
-
-static dst_func_t hmacmd5_functions = {
-       hmacmd5_createctx,
-       hmacmd5_destroyctx,
-       hmacmd5_adddata,
-       hmacmd5_sign,
-       hmacmd5_verify,
-       NULL, /* computesecret */
-       hmacmd5_compare,
-       NULL, /* paramcompare */
-       hmacmd5_generate,
-       hmacmd5_isprivate,
-       hmacmd5_issymmetric,
-       hmacmd5_destroy,
-       hmacmd5_todns,
-       hmacmd5_fromdns,
-       hmacmd5_tofile,
-       hmacmd5_fromfile,
-};
-
-isc_result_t
-dst__hmacmd5_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL && *funcp == NULL);
-       *funcp = &hmacmd5_functions;
-       return (ISC_R_SUCCESS);
-}
-
-void
-dst__hmacmd5_destroy(void) {
-}
diff --git a/lib/dns/sec/dst/include/.cvsignore b/lib/dns/sec/dst/include/.cvsignore
deleted file mode 100644 (file)
index f3c7a7c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/lib/dns/sec/dst/include/Makefile.in b/lib/dns/sec/dst/include/Makefile.in
deleted file mode 100644 (file)
index 7e22d69..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
-# Copyright (C) 1998-2001  Internet Software Consortium.
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND 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: Makefile.in,v 1.8.2.1 2004/03/09 06:11:42 marka Exp $
-
-srcdir =       @srcdir@
-VPATH =                @srcdir@
-top_srcdir =   @top_srcdir@
-
-SUBDIRS =      dst
-TARGETS =
-
-@BIND9_MAKE_RULES@
diff --git a/lib/dns/sec/dst/include/dst/.cvsignore b/lib/dns/sec/dst/include/dst/.cvsignore
deleted file mode 100644 (file)
index f3c7a7c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/lib/dns/sec/dst/include/dst/Makefile.in b/lib/dns/sec/dst/include/dst/Makefile.in
deleted file mode 100644 (file)
index 8aee303..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
-# Copyright (C) 1998-2001  Internet Software Consortium.
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND 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: Makefile.in,v 1.10.2.1 2004/03/09 06:11:43 marka Exp $
-
-srcdir =       @srcdir@
-VPATH =                @srcdir@
-top_srcdir =   @top_srcdir@
-
-@BIND9_VERSION@
-
-HEADERS =      dst.h lib.h result.h
-
-SUBDIRS =
-TARGETS =
-
-@BIND9_MAKE_RULES@
-
-installdirs:
-       $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${includedir}/dst
-
-install:: installdirs
-       for i in ${HEADERS}; do \
-               ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${includedir}/dst ; \
-       done
diff --git a/lib/dns/sec/dst/include/dst/dst.h b/lib/dns/sec/dst/include/dst/dst.h
deleted file mode 100644 (file)
index d7b5916..0000000
+++ /dev/null
@@ -1,545 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000, 2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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: dst.h,v 1.42.2.2 2004/03/09 06:11:43 marka Exp $ */
-
-#ifndef DST_DST_H
-#define DST_DST_H 1
-
-#include <isc/lang.h>
-
-#include <dns/types.h>
-
-ISC_LANG_BEGINDECLS
-
-/***
- *** Types
- ***/
-
-/*
- * The dst_key structure is opaque.  Applications should use the accessor
- * functions provided to retrieve key attributes.  If an application needs
- * to set attributes, new accessor functions will be written.
- */
-
-typedef struct dst_key         dst_key_t;
-typedef struct dst_context     dst_context_t;
-
-/* DST algorithm codes */
-#define DST_ALG_UNKNOWN                0
-#define DST_ALG_RSAMD5         1
-#define DST_ALG_RSA            DST_ALG_RSAMD5  /* backwards compatibility */
-#define DST_ALG_DH             2
-#define DST_ALG_DSA            3
-#define DST_ALG_HMACMD5                157
-#define DST_ALG_GSSAPI         160
-#define DST_ALG_PRIVATE                254
-#define DST_ALG_EXPAND         255
-#define DST_MAX_ALGS           255
-
-/* A buffer of this size is large enough to hold any key */
-#define DST_KEY_MAXSIZE                1280
-
-/*
- * A buffer of this size is large enough to hold the textual representation
- * of any key
- */
-#define DST_KEY_MAXTEXTSIZE    2048
-
-/* 'Type' for dst_read_key() */
-#define DST_TYPE_PRIVATE       0x2000000
-#define DST_TYPE_PUBLIC                0x4000000
-
-/***
- *** Functions
- ***/
-
-isc_result_t
-dst_lib_init(isc_mem_t *mctx, isc_entropy_t *ectx, unsigned int eflags);
-/*
- * Initializes the DST subsystem.
- *
- * Requires:
- *     "mctx" is a valid memory context
- *     "ectx" is a valid entropy context
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     ISC_R_NOMEMORY
- *
- * Ensures:
- *     DST is properly initialized.
- */
-
-void
-dst_lib_destroy(void);
-/*
- * Releases all resources allocated by DST.
- */
-
-isc_boolean_t
-dst_algorithm_supported(unsigned int alg);
-/*
- * Checks that a given algorithm is supported by DST.
- *
- * Returns:
- *     ISC_TRUE
- *     ISC_FALSE
- */
-
-isc_result_t
-dst_context_create(dst_key_t *key, isc_mem_t *mctx, dst_context_t **dctxp);
-/*
- * Creates a context to be used for a sign or verify operation.
- *
- * Requires:
- *     "key" is a valid key.
- *     "mctx" is a valid memory context.
- *     dctxp != NULL && *dctxp == NULL
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     ISC_R_NOMEMORY
- *
- * Ensures:
- *     *dctxp will contain a usable context.
- */
-
-void
-dst_context_destroy(dst_context_t **dctxp);
-/*
- * Destroys all memory associated with a context.
- *
- * Requires:
- *     *dctxp != NULL && *dctxp == NULL
- *
- * Ensures:
- *     *dctxp == NULL
- */
-
-isc_result_t
-dst_context_adddata(dst_context_t *dctx, const isc_region_t *data);
-/*
- * Incrementally adds data to the context to be used in a sign or verify
- * operation.
- *
- * Requires:
- *     "dctx" is a valid context
- *     "data" is a valid region
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     DST_R_SIGNFAILURE
- *     all other errors indicate failure
- */
-
-isc_result_t
-dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig);
-/*
- * Computes a signature using the data and key stored in the context.
- *
- * Requires:
- *     "dctx" is a valid context.
- *     "sig" is a valid buffer.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     DST_R_VERIFYFAILURE
- *     all other errors indicate failure
- *
- * Ensures:
- *     "sig" will contain the signature
- */
-
-isc_result_t
-dst_context_verify(dst_context_t *dctx, isc_region_t *sig);
-/*
- * Verifies the signature using the data and key stored in the context.
- *
- * Requires:
- *     "dctx" is a valid context.
- *     "sig" is a valid region.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     all other errors indicate failure
- *
- * Ensures:
- *     "sig" will contain the signature
- */
-
-isc_result_t
-dst_key_computesecret(const dst_key_t *pub, const dst_key_t *priv,
-                     isc_buffer_t *secret);
-/*
- * Computes a shared secret from two (Diffie-Hellman) keys.
- *
- * Requires:
- *     "pub" is a valid key that can be used to derive a shared secret
- *     "priv" is a valid private key that can be used to derive a shared secret
- *     "secret" is a valid buffer
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *      If successful, secret will contain the derived shared secret.
- */
-
-isc_result_t
-dst_key_fromfile(dns_name_t *name, dns_keytag_t id, unsigned int alg, int type,
-                const char *directory, isc_mem_t *mctx, dst_key_t **keyp);
-/*
- * Reads a key from permanent storage.  The key can either be a public or
- * private key, and is specified by name, algorithm, and id.  If a private key
- * is specified, the public key must also be present.  If directory is NULL,
- * the current directory is assumed.
- *
- * Requires:
- *     "name" is a valid absolute dns name.
- *     "id" is a valid key tag identifier.
- *     "alg" is a supported key algorithm.
- *     "type" is DST_TYPE_PUBLIC, DST_TYPE_PRIVATE, or the bitwise union.
- *     "mctx" is a valid memory context.
- *     "keyp" is not NULL and "*keyp" is NULL.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, *keyp will contain a valid key.
- */
-
-isc_result_t
-dst_key_fromnamedfile(const char *filename, int type, isc_mem_t *mctx,
-                     dst_key_t **keyp);
-/*
- * Reads a key from permanent storage.  The key can either be a public or
- * key, and is specified by filename.  If a private key is specified, the
- * public key must also be present.
- *
- * Requires:
- *     "filename" is not NULL
- *     "type" is DST_TYPE_PUBLIC, DST_TYPE_PRIVATE, or the bitwise union
- *     "mctx" is a valid memory context
- *     "keyp" is not NULL and "*keyp" is NULL.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, *keyp will contain a valid key.
- */
-
-isc_result_t
-dst_key_tofile(const dst_key_t *key, int type, const char *directory);
-/*
- * Writes a key to permanent storage.  The key can either be a public or
- * private key.  Public keys are written in DNS format and private keys
- * are written as a set of base64 encoded values.  If directory is NULL,
- * the current directory is assumed.
- *
- * Requires:
- *     "key" is a valid key.
- *     "type" is DST_TYPE_PUBLIC, DST_TYPE_PRIVATE, or the bitwise union
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- */
-
-isc_result_t
-dst_key_fromdns(dns_name_t *name, dns_rdataclass_t rdclass,
-               isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp);
-/*
- * Converts a DNS KEY record into a DST key.
- *
- * Requires:
- *     "name" is a valid absolute dns name.
- *     "source" is a valid buffer.  There must be at least 4 bytes available.
- *     "mctx" is a valid memory context.
- *     "keyp" is not NULL and "*keyp" is NULL.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, *keyp will contain a valid key, and the consumed
- *     pointer in data will be advanced.
- */
-
-isc_result_t
-dst_key_todns(const dst_key_t *key, isc_buffer_t *target);
-/*
- * Converts a DST key into a DNS KEY record.
- *
- * Requires:
- *     "key" is a valid key.
- *     "target" is a valid buffer.  There must be at least 4 bytes unused.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, the used pointer in 'target' is advanced by at least 4.
- */
-
-isc_result_t
-dst_key_frombuffer(dns_name_t *name, unsigned int alg,
-                  unsigned int flags, unsigned int protocol,
-                  dns_rdataclass_t rdclass,
-                  isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp);
-/*
- * Converts a buffer containing DNS KEY RDATA into a DST key.
- *
- * Requires:
- *     "name" is a valid absolute dns name.
- *     "alg" is a supported key algorithm.
- *     "source" is a valid buffer.
- *     "mctx" is a valid memory context.
- *     "keyp" is not NULL and "*keyp" is NULL.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, *keyp will contain a valid key, and the consumed
- *     pointer in source will be advanced.
- */
-
-isc_result_t
-dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target);
-/*
- * Converts a DST key into DNS KEY RDATA format.
- *
- * Requires:
- *     "key" is a valid key.
- *     "target" is a valid buffer.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, the used pointer in 'target' is advanced.
- */
-
-isc_result_t
-dst_key_fromgssapi(dns_name_t *name, void *opaque, isc_mem_t *mctx,
-                                  dst_key_t **keyp);
-/*
- * Converts a GSSAPI opaque context id into a DST key.
- *
- * Requires:
- *     "name" is a valid absolute dns name.
- *     "opaque" is a GSSAPI context id.
- *     "mctx" is a valid memory context.
- *     "keyp" is not NULL and "*keyp" is NULL.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, *keyp will contain a valid key and be responsible for
- *     the context id.
- */
-
-isc_result_t
-dst_key_generate(dns_name_t *name, unsigned int alg,
-                unsigned int bits, unsigned int param,
-                unsigned int flags, unsigned int protocol,
-                dns_rdataclass_t rdclass,
-                isc_mem_t *mctx, dst_key_t **keyp);
-/*
- * Generate a DST key (or keypair) with the supplied parameters.  The
- * interpretation of the "param" field depends on the algorithm:
- *     RSA:    exponent
- *             0       use exponent 3
- *             !0      use Fermat4 (2^16 + 1)
- *     DH:     generator
- *             0       default - use well known prime if bits == 768 or 1024,
- *                     otherwise use 2 as the generator.
- *             !0      use this value as the generator.
- *     DSA:    unused
- *     HMACMD5: entropy
- *             0       default - require good entropy
- *             !0      lack of good entropy is ok
- *
- * Requires:
- *     "name" is a valid absolute dns name.
- *     "keyp" is not NULL and "*keyp" is NULL.
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     any other result indicates failure
- *
- * Ensures:
- *     If successful, *keyp will contain a valid key.
- */
-
-isc_boolean_t
-dst_key_compare(const dst_key_t *key1, const dst_key_t *key2);
-/*
- * Compares two DST keys.
- *
- * Requires:
- *     "key1" is a valid key.
- *     "key2" is a valid key.
- *
- * Returns:
- *     ISC_TRUE
- *     ISC_FALSE
- */
-
-isc_boolean_t
-dst_key_paramcompare(const dst_key_t *key1, const dst_key_t *key2);
-/*
- * Compares the parameters of two DST keys.  This is used to determine if
- * two (Diffie-Hellman) keys can be used to derive a shared secret.
- *
- * Requires:
- *     "key1" is a valid key.
- *     "key2" is a valid key.
- *
- * Returns:
- *     ISC_TRUE
- *     ISC_FALSE
- */
-
-void
-dst_key_free(dst_key_t **keyp);
-/*
- * Release all memory associated with the key.
- *
- * Requires:
- *     "keyp" is not NULL and "*keyp" is a valid key.
- *
- * Ensures:
- *     All memory associated with "*keyp" will be freed.
- *     *keyp == NULL
- */
-
-/*
- * Accessor functions to obtain key fields.
- *
- * Require:
- *     "key" is a valid key.
- */
-dns_name_t *
-dst_key_name(const dst_key_t *key);
-
-unsigned int
-dst_key_size(const dst_key_t *key);
-
-unsigned int
-dst_key_proto(const dst_key_t *key);
-
-unsigned int
-dst_key_alg(const dst_key_t *key);
-
-isc_uint32_t
-dst_key_flags(const dst_key_t *key);
-
-dns_keytag_t
-dst_key_id(const dst_key_t *key);
-
-dns_rdataclass_t
-dst_key_class(const dst_key_t *key);
-
-isc_boolean_t
-dst_key_isprivate(const dst_key_t *key);
-
-isc_boolean_t
-dst_key_iszonekey(const dst_key_t *key);
-
-isc_boolean_t
-dst_key_isnullkey(const dst_key_t *key);
-
-isc_result_t
-dst_key_buildfilename(const dst_key_t *key, int type,
-                     const char *directory, isc_buffer_t *out);
-/*
- * Generates the filename used by dst to store the specified key.
- * If directory is NULL, the current directory is assumed.
- *
- * Requires:
- *     "key" is a valid key
- *     "type" is either DST_TYPE_PUBLIC, DST_TYPE_PRIVATE, or 0 for no suffix.
- *     "out" is a valid buffer
- *
- * Ensures:
- *     the file name will be written to "out", and the used pointer will
- *             be advanced.
- */
-
-isc_result_t
-dst_key_sigsize(const dst_key_t *key, unsigned int *n);
-/*
- * Computes the size of a signature generated by the given key.
- *
- * Requires:
- *     "key" is a valid key.
- *     "n" is not NULL
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     DST_R_UNSUPPORTEDALG
- *
- * Ensures:
- *     "n" stores the size of a generated signature
- */
-
-isc_result_t
-dst_key_secretsize(const dst_key_t *key, unsigned int *n);
-/*
- * Computes the size of a shared secret generated by the given key.
- *
- * Requires:
- *     "key" is a valid key.
- *     "n" is not NULL
- *
- * Returns:
- *     ISC_R_SUCCESS
- *     DST_R_UNSUPPORTEDALG
- *
- * Ensures:
- *     "n" stores the size of a generated shared secret
- */
-
-isc_uint16_t
-dst_region_computeid(const isc_region_t *source, unsigned int alg);
-/*
- * Computes the key id of the key stored in the provided region with the
- * given algorithm.
- *
- * Requires:
- *     "source" contains a valid, non-NULL region.
- *
- * Returns:
- *     the key id
- */
-
-ISC_LANG_ENDDECLS
-
-#endif /* DST_DST_H */
diff --git a/lib/dns/sec/dst/include/dst/gssapi.h b/lib/dns/sec/dst/include/dst/gssapi.h
deleted file mode 100644 (file)
index 577bc84..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000, 2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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: gssapi.h,v 1.3.2.1 2004/03/09 06:11:43 marka Exp $ */
-
-#ifndef DST_GSSAPI_H
-#define DST_GSSAPI_H 1
-
-#include <isc/lang.h>
-
-#include <isc/types.h>
-
-ISC_LANG_BEGINDECLS
-
-/***
- *** Types
- ***/
-
-/***
- *** Functions
- ***/
-
-isc_result_t
-dst_gssapi_acquirecred(dns_name_t *name, isc_boolean_t initiate, void **cred);
-
-isc_result_t
-dst_gssapi_initctx(dns_name_t *name, void *cred,
-                  isc_region_t *intoken, isc_buffer_t *outtoken,
-                  void **context);
-
-isc_result_t
-dst_gssapi_acceptctx(dns_name_t *name, void *cred,
-                    isc_region_t *intoken, isc_buffer_t *outtoken,
-                    void **context);
-
-/*
- * XXX
- */
-
-ISC_LANG_ENDDECLS
-
-#endif /* DST_GSSAPI_H */
diff --git a/lib/dns/sec/dst/include/dst/lib.h b/lib/dns/sec/dst/include/dst/lib.h
deleted file mode 100644 (file)
index 83a4e23..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 1999-2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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: lib.h,v 1.6.2.1 2004/03/09 06:11:43 marka Exp $ */
-
-#ifndef DST_LIB_H
-#define DST_LIB_H 1
-
-#include <isc/types.h>
-#include <isc/lang.h>
-
-ISC_LANG_BEGINDECLS
-
-extern isc_msgcat_t *dst_msgcat;
-
-void
-dst_lib_initmsgcat(void);
-/*
- * Initialize the DST library's message catalog, dst_msgcat, if it
- * has not already been initialized.
- */
-
-ISC_LANG_ENDDECLS
-
-#endif /* DST_LIB_H */
diff --git a/lib/dns/sec/dst/include/dst/result.h b/lib/dns/sec/dst/include/dst/result.h
deleted file mode 100644 (file)
index 4e13e6a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 1999-2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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: result.h,v 1.20.2.1 2004/03/09 06:11:43 marka Exp $ */
-
-#ifndef DST_RESULT_H
-#define DST_RESULT_H 1
-
-#include <isc/lang.h>
-#include <isc/resultclass.h>
-
-/*
- * Nothing in this file truly depends on <isc/result.h>, but the
- * DST result codes are considered to be publicly derived from
- * the ISC result codes, so including this file buys you the ISC_R_
- * namespace too.
- */
-#include <isc/result.h>                /* Contractual promise. */
-
-#define DST_R_UNSUPPORTEDALG           (ISC_RESULTCLASS_DST + 0)
-#define DST_R_OPENSSLFAILURE           (ISC_RESULTCLASS_DST + 1)
-#define DST_R_NOCRYPTO                 (ISC_RESULTCLASS_DST + 2)
-#define DST_R_NULLKEY                  (ISC_RESULTCLASS_DST + 3)
-#define DST_R_INVALIDPUBLICKEY         (ISC_RESULTCLASS_DST + 4)
-#define DST_R_INVALIDPRIVATEKEY                (ISC_RESULTCLASS_DST + 5)
-/* 6 is unused */
-#define DST_R_WRITEERROR               (ISC_RESULTCLASS_DST + 7)
-#define DST_R_INVALIDPARAM             (ISC_RESULTCLASS_DST + 8)
-/* 9 is unused */
-/* 10 is unused */
-#define DST_R_SIGNFAILURE              (ISC_RESULTCLASS_DST + 11)
-/* 12 is unused */
-/* 13 is unused */
-#define DST_R_VERIFYFAILURE            (ISC_RESULTCLASS_DST + 14)
-#define DST_R_NOTPUBLICKEY             (ISC_RESULTCLASS_DST + 15)
-#define DST_R_NOTPRIVATEKEY            (ISC_RESULTCLASS_DST + 16)
-#define DST_R_KEYCANNOTCOMPUTESECRET   (ISC_RESULTCLASS_DST + 17)
-#define DST_R_COMPUTESECRETFAILURE     (ISC_RESULTCLASS_DST + 18)
-#define DST_R_NORANDOMNESS             (ISC_RESULTCLASS_DST + 19)
-
-#define DST_R_NRESULTS                 20      /* Number of results */
-
-ISC_LANG_BEGINDECLS
-
-const char *
-dst_result_totext(isc_result_t);
-
-void
-dst_result_register(void);
-
-ISC_LANG_ENDDECLS
-
-#endif /* DST_RESULT_H */
diff --git a/lib/dns/sec/dst/key.c b/lib/dns/sec/dst/key.c
deleted file mode 100644 (file)
index 030a6a5..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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: key.c,v 1.6.2.1 2004/03/09 06:11:41 marka Exp $ */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <isc/region.h>
-#include <isc/util.h>
-
-#include <dns/keyvalues.h>
-
-#include <dst/dst.h>
-
-#include "dst_internal.h"
-
-isc_uint16_t
-dst_region_computeid(const isc_region_t *source, unsigned int alg) {
-       isc_uint32_t ac;
-       const unsigned char *p;
-       int size;
-
-       REQUIRE(source != NULL);
-       REQUIRE(source->length >= 4);
-
-       p = source->base;
-       size = source->length;
-
-       if (alg == DST_ALG_RSAMD5)
-               return ((p[size - 3] << 8) + p[size - 2]);
-
-       for (ac = 0; size > 1; size -= 2, p += 2)
-               ac += ((*p) << 8) + *(p + 1);
-
-       if (size > 0)
-               ac += ((*p) << 8);
-       ac += (ac >> 16) & 0xffff;
-
-       return ((isc_uint16_t)(ac & 0xffff));
-}
-
-dns_name_t *
-dst_key_name(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-       return (key->key_name);
-}
-
-unsigned int
-dst_key_size(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-       return (key->key_size);
-}
-
-unsigned int
-dst_key_proto(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-       return (key->key_proto);
-}
-
-unsigned int
-dst_key_alg(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-       return (key->key_alg);
-}
-
-isc_uint32_t
-dst_key_flags(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-       return (key->key_flags);
-}
-
-dns_keytag_t
-dst_key_id(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-       return (key->key_id);
-}
-
-dns_rdataclass_t
-dst_key_class(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-       return (key->key_class);
-}
-
-isc_boolean_t
-dst_key_iszonekey(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-
-       if ((key->key_flags & DNS_KEYTYPE_NOAUTH) != 0)
-               return (ISC_FALSE);
-       if ((key->key_flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE)
-               return (ISC_FALSE);
-       if (key->key_proto != DNS_KEYPROTO_DNSSEC &&
-           key->key_proto != DNS_KEYPROTO_ANY)
-               return (ISC_FALSE);
-       return (ISC_TRUE);
-}
-
-isc_boolean_t
-dst_key_isnullkey(const dst_key_t *key) {
-       REQUIRE(VALID_KEY(key));
-
-       if ((key->key_flags & DNS_KEYFLAG_TYPEMASK) != DNS_KEYTYPE_NOKEY)
-               return (ISC_FALSE);
-       if ((key->key_flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE)
-               return (ISC_FALSE);
-       if (key->key_proto != DNS_KEYPROTO_DNSSEC &&
-           key->key_proto != DNS_KEYPROTO_ANY)
-               return (ISC_FALSE);
-       return (ISC_TRUE);
-}
diff --git a/lib/dns/sec/dst/openssl_link.c b/lib/dns/sec/dst/openssl_link.c
deleted file mode 100644 (file)
index 18df6d9..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2001, 2003  Internet Software Consortium.
- * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES 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.
- */
-
-/*
- * Principal Author: Brian Wellington
- * $Id: openssl_link.c,v 1.46.2.3 2004/03/09 06:11:41 marka Exp $
- */
-#ifdef OPENSSL
-
-#include <config.h>
-
-#include <isc/entropy.h>
-#include <isc/mem.h>
-#include <isc/mutex.h>
-#include <isc/mutexblock.h>
-#include <isc/string.h>
-#include <isc/thread.h>
-#include <isc/util.h>
-
-#include "dst_internal.h"
-
-#include <openssl/rand.h>
-#include <openssl/crypto.h>
-
-#if defined(CRYPTO_LOCK_ENGINE) && (OPENSSL_VERSION_NUMBER < 0x00907000L)
-#define USE_ENGINE 1
-#endif
-
-#ifdef USE_ENGINE
-#include <openssl/engine.h>
-#endif
-
-static RAND_METHOD *rm = NULL;
-static isc_mutex_t *locks = NULL;
-static int nlocks;
-
-#ifdef USE_ENGINE
-static ENGINE *e;
-#endif
-
-
-static int
-entropy_get(unsigned char *buf, int num) {
-       isc_result_t result;
-       if (num < 0)
-               return (-1);
-       result = dst__entropy_getdata(buf, (unsigned int) num, ISC_FALSE);
-       return (result == ISC_R_SUCCESS ? num : -1);
-}
-
-static int
-entropy_getpseudo(unsigned char *buf, int num) {
-       isc_result_t result;
-       if (num < 0)
-               return (-1);
-       result = dst__entropy_getdata(buf, (unsigned int) num, ISC_TRUE);
-       return (result == ISC_R_SUCCESS ? num : -1);
-}
-
-static void
-entropy_add(const void *buf, int num, double entropy) {
-       /*
-        * Do nothing.  The only call to this provides no useful data anyway.
-        */
-       UNUSED(buf);
-       UNUSED(num);
-       UNUSED(entropy);
-}
-
-static void
-lock_callback(int mode, int type, const char *file, int line) {
-       UNUSED(file);
-       UNUSED(line);
-       if ((mode & CRYPTO_LOCK) != 0)
-               LOCK(&locks[type]);
-       else
-               UNLOCK(&locks[type]);
-}
-
-static unsigned long
-id_callback(void) {
-       return ((unsigned long)isc_thread_self());
-}
-
-isc_result_t
-dst__openssl_init() {
-       isc_result_t result;
-
-       CRYPTO_set_mem_functions(dst__mem_alloc, dst__mem_realloc,
-                                dst__mem_free);
-       nlocks = CRYPTO_num_locks();
-       locks = dst__mem_alloc(sizeof(isc_mutex_t) * nlocks);
-       if (locks == NULL)
-               return (ISC_R_NOMEMORY);
-       result = isc_mutexblock_init(locks, nlocks);
-       if (result != ISC_R_SUCCESS)
-               goto cleanup_mutexalloc;
-       CRYPTO_set_locking_callback(lock_callback);
-       CRYPTO_set_id_callback(id_callback);
-       rm = dst__mem_alloc(sizeof(RAND_METHOD));
-       if (rm == NULL) {
-               result = ISC_R_NOMEMORY;
-               goto cleanup_mutexinit;
-       }
-       rm->seed = NULL;
-       rm->bytes = entropy_get;
-       rm->cleanup = NULL;
-       rm->add = entropy_add;
-       rm->pseudorand = entropy_getpseudo;
-       rm->status = NULL;
-#ifdef USE_ENGINE
-       e = ENGINE_new();
-       if (e == NULL) {
-               result = ISC_R_NOMEMORY;
-               goto cleanup_rm;
-       }
-       ENGINE_set_RAND(e, rm);
-       RAND_set_rand_method(e);
-#else
-       RAND_set_rand_method(rm);
-#endif
-       return (ISC_R_SUCCESS);
-
-#ifdef USE_ENGINE
- cleanup_rm:
-       dst__mem_free(rm);
-#endif
- cleanup_mutexinit:
-       RUNTIME_CHECK(isc_mutexblock_destroy(locks, nlocks) == ISC_R_SUCCESS);
- cleanup_mutexalloc:
-       dst__mem_free(locks);
-       return (result);
-}
-
-void
-dst__openssl_destroy() {
-#ifdef USE_ENGINE
-       if (e != NULL) {
-               ENGINE_free(e);
-               e = NULL;
-       }
-#endif
-       if (locks != NULL) {
-               RUNTIME_CHECK(isc_mutexblock_destroy(locks, nlocks) ==
-                             ISC_R_SUCCESS);
-               dst__mem_free(locks);
-       }
-       if (rm != NULL)
-               dst__mem_free(rm);
-}
-
-#endif /* OPENSSL */
diff --git a/lib/dns/sec/dst/openssldh_link.c b/lib/dns/sec/dst/openssldh_link.c
deleted file mode 100644 (file)
index fb29bec..0000000
+++ /dev/null
@@ -1,572 +0,0 @@
-/*
- * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2001  Internet Software Consortium.
- * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES 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.
- */
-
-/*
- * Principal Author: Brian Wellington
- * $Id: openssldh_link.c,v 1.38.2.4 2004/03/16 12:45:41 marka Exp $
- */
-
-#ifdef OPENSSL
-
-#include <config.h>
-
-#include <ctype.h>
-
-#include <isc/mem.h>
-#include <isc/string.h>
-#include <isc/util.h>
-
-#include <dst/result.h>
-
-#include "dst_internal.h"
-#include "dst_parse.h"
-
-#include <openssl/dh.h>
-
-#define PRIME768 "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088" \
-       "A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25" \
-       "F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF"
-
-#define PRIME1024 "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E08" \
-       "8A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF2" \
-       "5F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406" \
-       "B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF"
-
-static isc_result_t openssldh_todns(const dst_key_t *key, isc_buffer_t *data);
-
-static BIGNUM bn2, bn768, bn1024;
-
-static isc_result_t
-openssldh_computesecret(const dst_key_t *pub, const dst_key_t *priv,
-                       isc_buffer_t *secret)
-{
-       DH *dhpub, *dhpriv;
-       int ret;
-       isc_region_t r;
-       unsigned int len;
-
-       REQUIRE(pub->opaque != NULL);
-       REQUIRE(priv->opaque != NULL);
-
-       dhpub = (DH *) pub->opaque;
-       dhpriv = (DH *) priv->opaque;
-
-       len = DH_size(dhpriv);
-       isc_buffer_availableregion(secret, &r);
-       if (r.length < len)
-               return (ISC_R_NOSPACE);
-       ret = DH_compute_key(r.base, dhpub->pub_key, dhpriv);
-       if (ret == 0)
-               return (DST_R_COMPUTESECRETFAILURE);
-       isc_buffer_add(secret, len);
-       return (ISC_R_SUCCESS);
-}
-
-static isc_boolean_t
-openssldh_compare(const dst_key_t *key1, const dst_key_t *key2) {
-       int status;
-       DH *dh1, *dh2;
-
-       dh1 = (DH *) key1->opaque;
-       dh2 = (DH *) key2->opaque;
-
-       if (dh1 == NULL && dh2 == NULL)
-               return (ISC_TRUE);
-       else if (dh1 == NULL || dh2 == NULL)
-               return (ISC_FALSE);
-
-       status = BN_cmp(dh1->p, dh2->p) ||
-                BN_cmp(dh1->g, dh2->g) ||
-                BN_cmp(dh1->pub_key, dh2->pub_key);
-
-       if (status != 0)
-               return (ISC_FALSE);
-
-       if (dh1->priv_key != NULL || dh2->priv_key != NULL) {
-               if (dh1->priv_key == NULL || dh2->priv_key == NULL)
-                       return (ISC_FALSE);
-               if (BN_cmp(dh1->priv_key, dh2->priv_key) != 0)
-                       return (ISC_FALSE);
-       }
-       return (ISC_TRUE);
-}
-
-static isc_boolean_t
-openssldh_paramcompare(const dst_key_t *key1, const dst_key_t *key2) {
-       int status;
-       DH *dh1, *dh2;
-
-       dh1 = (DH *) key1->opaque;
-       dh2 = (DH *) key2->opaque;
-
-       if (dh1 == NULL && dh2 == NULL)
-               return (ISC_TRUE);
-       else if (dh1 == NULL || dh2 == NULL)
-               return (ISC_FALSE);
-
-       status = BN_cmp(dh1->p, dh2->p) ||
-                BN_cmp(dh1->g, dh2->g);
-
-       if (status != 0)
-               return (ISC_FALSE);
-       return (ISC_TRUE);
-}
-
-static isc_result_t
-openssldh_generate(dst_key_t *key, int generator) {
-       DH *dh = NULL;
-
-       if (generator == 0) {
-               if (key->key_size == 768 || key->key_size == 1024) {
-                       dh = DH_new();
-                       if (dh == NULL)
-                               return (ISC_R_NOMEMORY);
-                       if (key->key_size == 768)
-                               dh->p = &bn768;
-                       else
-                               dh->p = &bn1024;
-                       dh->g = &bn2;
-               }
-               else
-                       generator = 2;
-       }
-
-       if (generator != 0)
-               dh = DH_generate_parameters(key->key_size, generator,
-                                           NULL, NULL);
-
-       if (dh == NULL)
-               return (DST_R_OPENSSLFAILURE);
-
-       if (DH_generate_key(dh) == 0) {
-               DH_free(dh);
-               return (DST_R_OPENSSLFAILURE);
-       }
-       dh->flags &= ~DH_FLAG_CACHE_MONT_P;
-
-       key->opaque = dh;
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_boolean_t
-openssldh_isprivate(const dst_key_t *key) {
-       DH *dh = (DH *) key->opaque;
-       return (ISC_TF(dh != NULL && dh->priv_key != NULL));
-}
-
-static isc_boolean_t
-openssldh_issymmetric(void) {
-        return (ISC_FALSE);
-}
-
-static void
-openssldh_destroy(dst_key_t *key) {
-       DH *dh = key->opaque;
-
-       if (dh == NULL)
-               return;
-
-       if (dh->p == &bn768 || dh->p == &bn1024)
-               dh->p = NULL;
-       if (dh->g == &bn2)
-               dh->g = NULL;
-       DH_free(dh);
-       key->opaque = NULL;
-}
-
-static void
-uint16_toregion(isc_uint16_t val, isc_region_t *region) {
-       *region->base++ = (val & 0xff00) >> 8;
-       *region->base++ = (val & 0x00ff);
-}
-
-static isc_uint16_t
-uint16_fromregion(isc_region_t *region) {
-       isc_uint16_t val;
-       unsigned char *cp = region->base;
-
-       val = ((unsigned int)(cp[0])) << 8;
-       val |= ((unsigned int)(cp[1]));
-
-       region->base += 2;
-       return (val);
-}
-
-static isc_result_t
-openssldh_todns(const dst_key_t *key, isc_buffer_t *data) {
-       DH *dh;
-       isc_region_t r;
-       isc_uint16_t dnslen, plen, glen, publen;
-
-       REQUIRE(key->opaque != NULL);
-
-       dh = (DH *) key->opaque;
-
-       isc_buffer_availableregion(data, &r);
-
-       if (dh->g == &bn2 && (dh->p == &bn768 || dh->p == &bn1024)) {
-               plen = 1;
-               glen = 0;
-       }
-       else {
-               plen = BN_num_bytes(dh->p);
-               glen = BN_num_bytes(dh->g);
-       }
-       publen = BN_num_bytes(dh->pub_key);
-       dnslen = plen + glen + publen + 6;
-       if (r.length < (unsigned int) dnslen)
-               return (ISC_R_NOSPACE);
-
-       uint16_toregion(plen, &r);
-       if (plen == 1) {
-               if (dh->p == &bn768)
-                       *r.base = 1;
-               else
-                       *r.base = 2;
-       }
-       else
-               BN_bn2bin(dh->p, r.base);
-       r.base += plen;
-
-       uint16_toregion(glen, &r);
-       if (glen > 0)
-               BN_bn2bin(dh->g, r.base);
-       r.base += glen;
-
-       uint16_toregion(publen, &r);
-       BN_bn2bin(dh->pub_key, r.base);
-       r.base += publen;
-
-       isc_buffer_add(data, dnslen);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-openssldh_fromdns(dst_key_t *key, isc_buffer_t *data) {
-       DH *dh;
-       isc_region_t r;
-       isc_uint16_t plen, glen, publen;
-       int special = 0;
-
-       isc_buffer_remainingregion(data, &r);
-       if (r.length == 0)
-               return (ISC_R_SUCCESS);
-
-       dh = DH_new();
-       if (dh == NULL)
-               return (ISC_R_NOMEMORY);
-       dh->flags &= ~DH_FLAG_CACHE_MONT_P;
-
-       /*
-        * Read the prime length.  1 & 2 are table entries, > 16 means a
-        * prime follows, otherwise an error.
-        */
-       if (r.length < 2) {
-               DH_free(dh);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       plen = uint16_fromregion(&r);
-       if (plen < 16 && plen != 1 && plen != 2) {
-               DH_free(dh);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       if (r.length < plen) {
-               DH_free(dh);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       if (plen == 1 || plen == 2) {
-               if (plen == 1)
-                       special = *r.base++;
-               else
-                       special = uint16_fromregion(&r);
-               switch (special) {
-                       case 1:
-                               dh->p = &bn768;
-                               break;
-                       case 2:
-                               dh->p = &bn1024;
-                               break;
-                       default:
-                               DH_free(dh);
-                               return (DST_R_INVALIDPUBLICKEY);
-               }
-       }
-       else {
-               dh->p = BN_bin2bn(r.base, plen, NULL);
-               r.base += plen;
-       }
-
-       /*
-        * Read the generator length.  This should be 0 if the prime was
-        * special, but it might not be.  If it's 0 and the prime is not
-        * special, we have a problem.
-        */
-       if (r.length < 2) {
-               DH_free(dh);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       glen = uint16_fromregion(&r);
-       if (r.length < glen) {
-               DH_free(dh);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       if (special != 0) {
-               if (glen == 0)
-                       dh->g = &bn2;
-               else {
-                       dh->g = BN_bin2bn(r.base, glen, NULL);
-                       if (BN_cmp(dh->g, &bn2) == 0) {
-                               BN_free(dh->g);
-                               dh->g = &bn2;
-                       }
-                       else {
-                               DH_free(dh);
-                               return (DST_R_INVALIDPUBLICKEY);
-                       }
-               }
-       }
-       else {
-               if (glen == 0) {
-                       DH_free(dh);
-                       return (DST_R_INVALIDPUBLICKEY);
-               }
-               dh->g = BN_bin2bn(r.base, glen, NULL);
-       }
-       r.base += glen;
-
-       if (r.length < 2) {
-               DH_free(dh);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       publen = uint16_fromregion(&r);
-       if (r.length < publen) {
-               DH_free(dh);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       dh->pub_key = BN_bin2bn(r.base, publen, NULL);
-       r.base += publen;
-
-       key->key_size = BN_num_bits(dh->p);
-
-       isc_buffer_forward(data, plen + glen + publen + 6);
-
-       key->opaque = (void *) dh;
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-openssldh_tofile(const dst_key_t *key, const char *directory) {
-       int i;
-       DH *dh;
-       dst_private_t priv;
-       unsigned char *bufs[4];
-       isc_result_t result;
-
-       if (key->opaque == NULL)
-               return (DST_R_NULLKEY);
-
-       dh = (DH *) key->opaque;
-
-       for (i = 0; i < 4; i++) {
-               bufs[i] = isc_mem_get(key->mctx, BN_num_bytes(dh->p));
-               if (bufs[i] == NULL) {
-                       result = ISC_R_NOMEMORY;
-                       goto fail;
-               }
-       }
-
-       i = 0;
-
-       priv.elements[i].tag = TAG_DH_PRIME;
-       priv.elements[i].length = BN_num_bytes(dh->p);
-       BN_bn2bin(dh->p, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_DH_GENERATOR;
-       priv.elements[i].length = BN_num_bytes(dh->g);
-       BN_bn2bin(dh->g, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_DH_PRIVATE;
-       priv.elements[i].length = BN_num_bytes(dh->priv_key);
-       BN_bn2bin(dh->priv_key, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_DH_PUBLIC;
-       priv.elements[i].length = BN_num_bytes(dh->pub_key);
-       BN_bn2bin(dh->pub_key, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.nelements = i;
-       result = dst__privstruct_writefile(key, &priv, directory);
- fail:
-       for (i = 0; i < 4; i++) {
-               if (bufs[i] == NULL)
-                       break;
-               isc_mem_put(key->mctx, bufs[i], BN_num_bytes(dh->p));
-       }
-       return (result);
-}
-
-static isc_result_t
-openssldh_fromfile(dst_key_t *key, const char *filename) {
-       dst_private_t priv;
-       isc_result_t ret;
-       int i;
-       DH *dh = NULL;
-       isc_mem_t *mctx;
-#define DST_RET(a) {ret = a; goto err;}
-
-       mctx = key->mctx;
-
-       /* read private key file */
-       ret = dst__privstruct_parsefile(key, filename, mctx, &priv);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       dh = DH_new();
-       if (dh == NULL)
-               DST_RET(ISC_R_NOMEMORY);
-       dh->flags &= ~DH_FLAG_CACHE_MONT_P;
-       key->opaque = dh;
-
-       for (i = 0; i < priv.nelements; i++) {
-               BIGNUM *bn;
-               bn = BN_bin2bn(priv.elements[i].data,
-                              priv.elements[i].length, NULL);
-               if (bn == NULL)
-                       DST_RET(ISC_R_NOMEMORY);
-
-               switch (priv.elements[i].tag) {
-                       case TAG_DH_PRIME:
-                               dh->p = bn;
-                               break;
-                       case TAG_DH_GENERATOR:
-                               dh->g = bn;
-                               break;
-                       case TAG_DH_PRIVATE:
-                               dh->priv_key = bn;
-                               break;
-                       case TAG_DH_PUBLIC:
-                               dh->pub_key = bn;
-                               break;
-               }
-       }
-       dst__privstruct_free(&priv, mctx);
-
-       key->key_size = BN_num_bits(dh->p);
-
-       if ((key->key_size == 768 || key->key_size == 1024) &&
-           BN_cmp(dh->g, &bn2) == 0)
-       {
-               if (key->key_size == 768 && BN_cmp(dh->p, &bn768) == 0) {
-                       BN_free(dh->p);
-                       BN_free(dh->g);
-                       dh->p = &bn768;
-                       dh->g = &bn2;
-               } else if (key->key_size == 1024 &&
-                          BN_cmp(dh->p, &bn1024) == 0) {
-                       BN_free(dh->p);
-                       BN_free(dh->g);
-                       dh->p = &bn1024;
-                       dh->g = &bn2;
-               }
-       }
-
-       return (ISC_R_SUCCESS);
-
- err:
-       openssldh_destroy(key);
-       dst__privstruct_free(&priv, mctx);
-       memset(&priv, 0, sizeof(priv));
-       return (ret);
-}
-
-static void
-BN_fromhex(BIGNUM *b, const char *str) {
-       static const char hexdigits[] = "0123456789abcdef";
-       unsigned char data[512];
-       unsigned int i;
-       BIGNUM *out;
-
-       RUNTIME_CHECK(strlen(str) < 1024U && strlen(str) % 2 == 0U);
-       for (i = 0; i < strlen(str); i += 2) {
-               char *s;
-               unsigned int high, low;
-
-               s = strchr(hexdigits, tolower((unsigned char)str[i]));
-               RUNTIME_CHECK(s != NULL);
-               high = s - hexdigits;
-
-               s = strchr(hexdigits, tolower((unsigned char)str[i + 1]));
-               RUNTIME_CHECK(s != NULL);
-               low = s - hexdigits;
-
-               data[i/2] = (unsigned char)((high << 4) + low);
-       }
-       out = BN_bin2bn(data, strlen(str)/2, b);
-       RUNTIME_CHECK(out != NULL);
-}
-
-static dst_func_t openssldh_functions = {
-       NULL, /* createctx */
-       NULL, /* destroyctx */
-       NULL, /* adddata */
-       NULL, /* openssldh_sign */
-       NULL, /* openssldh_verify */
-       openssldh_computesecret,
-       openssldh_compare,
-       openssldh_paramcompare,
-       openssldh_generate,
-       openssldh_isprivate,
-       openssldh_issymmetric,
-       openssldh_destroy,
-       openssldh_todns,
-       openssldh_fromdns,
-       openssldh_tofile,
-       openssldh_fromfile,
-};
-
-isc_result_t
-dst__openssldh_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL && *funcp == NULL);
-       BN_init(&bn2);
-       BN_init(&bn768);
-       BN_init(&bn1024);
-       BN_set_word(&bn2, 2);
-       BN_fromhex(&bn768, PRIME768);
-       BN_fromhex(&bn1024, PRIME1024);
-       *funcp = &openssldh_functions;
-       return (ISC_R_SUCCESS);
-}
-
-void
-dst__openssldh_destroy(void) {
-       BN_free(&bn2);
-       BN_free(&bn768);
-       BN_free(&bn1024);
-}
-
-#endif /* OPENSSL */
diff --git a/lib/dns/sec/dst/openssldsa_link.c b/lib/dns/sec/dst/openssldsa_link.c
deleted file mode 100644 (file)
index 769de88..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * Portions Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Portions Copyright (C) 1999-2001  Internet Software Consortium.
- * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES 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: openssldsa_link.c,v 1.4.2.2 2004/03/09 06:11:42 marka Exp $ */
-
-#ifdef OPENSSL
-
-#include <config.h>
-
-#include <string.h>
-
-#include <isc/entropy.h>
-#include <isc/mem.h>
-#include <isc/sha1.h>
-#include <isc/util.h>
-
-#include <dst/result.h>
-
-#include "dst_internal.h"
-#include "dst_parse.h"
-
-#include <openssl/dsa.h>
-
-static isc_result_t openssldsa_todns(const dst_key_t *key, isc_buffer_t *data);
-
-static isc_result_t
-openssldsa_createctx(dst_key_t *key, dst_context_t *dctx) {
-       isc_sha1_t *sha1ctx;
-
-       UNUSED(key);
-
-       sha1ctx = isc_mem_get(dctx->mctx, sizeof(isc_sha1_t));
-       isc_sha1_init(sha1ctx);
-       dctx->opaque = sha1ctx;
-       return (ISC_R_SUCCESS);
-}
-
-static void
-openssldsa_destroyctx(dst_context_t *dctx) {
-       isc_sha1_t *sha1ctx = dctx->opaque;
-
-       if (sha1ctx != NULL) {
-               isc_sha1_invalidate(sha1ctx);
-               isc_mem_put(dctx->mctx, sha1ctx, sizeof(isc_sha1_t));
-               dctx->opaque = NULL;
-       }
-}
-
-static isc_result_t
-openssldsa_adddata(dst_context_t *dctx, const isc_region_t *data) {
-       isc_sha1_t *sha1ctx = dctx->opaque;
-
-       isc_sha1_update(sha1ctx, data->base, data->length);
-       return (ISC_R_SUCCESS);
-}
-
-static int
-BN_bn2bin_fixed(BIGNUM *bn, unsigned char *buf, int size) {
-       int bytes = size - BN_num_bytes(bn);
-       while (bytes-- > 0)
-               *buf++ = 0;
-       BN_bn2bin(bn, buf);
-       return (size);
-}
-
-static isc_result_t
-openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
-       isc_sha1_t *sha1ctx = dctx->opaque;
-       dst_key_t *key = dctx->key;
-       DSA *dsa = key->opaque;
-       DSA_SIG *dsasig;
-       isc_region_t r;
-       unsigned char digest[ISC_SHA1_DIGESTLENGTH];
-
-       isc_buffer_availableregion(sig, &r);
-       if (r.length < ISC_SHA1_DIGESTLENGTH * 2 + 1)
-               return (ISC_R_NOSPACE);
-
-       isc_sha1_final(sha1ctx, digest);
-
-       dsasig = DSA_do_sign(digest, ISC_SHA1_DIGESTLENGTH, dsa);
-       if (dsasig == NULL)
-               return (DST_R_SIGNFAILURE);
-
-       *r.base++ = (key->key_size - 512)/64;
-       BN_bn2bin_fixed(dsasig->r, r.base, ISC_SHA1_DIGESTLENGTH);
-       r.base += ISC_SHA1_DIGESTLENGTH;
-       BN_bn2bin_fixed(dsasig->s, r.base, ISC_SHA1_DIGESTLENGTH);
-       r.base += ISC_SHA1_DIGESTLENGTH;
-       DSA_SIG_free(dsasig);
-       isc_buffer_add(sig, ISC_SHA1_DIGESTLENGTH * 2 + 1);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-openssldsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
-       isc_sha1_t *sha1ctx = dctx->opaque;
-       dst_key_t *key = dctx->key;
-       DSA *dsa = key->opaque;
-       DSA_SIG *dsasig;
-       int status = 0;
-       unsigned char digest[ISC_SHA1_DIGESTLENGTH];
-       unsigned char *cp = sig->base;
-
-       isc_sha1_final(sha1ctx, digest);
-
-       if (sig->length < 2 * ISC_SHA1_DIGESTLENGTH + 1)
-               return (DST_R_VERIFYFAILURE);
-
-       cp++;   /* Skip T */
-       dsasig = DSA_SIG_new();
-       dsasig->r = BN_bin2bn(cp, ISC_SHA1_DIGESTLENGTH, NULL);
-       cp += ISC_SHA1_DIGESTLENGTH;
-       dsasig->s = BN_bin2bn(cp, ISC_SHA1_DIGESTLENGTH, NULL);
-       cp += ISC_SHA1_DIGESTLENGTH;
-
-       status = DSA_do_verify(digest, ISC_SHA1_DIGESTLENGTH, dsasig, dsa);
-       DSA_SIG_free(dsasig);
-       if (status == 0)
-               return (DST_R_VERIFYFAILURE);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_boolean_t
-openssldsa_compare(const dst_key_t *key1, const dst_key_t *key2) {
-       int status;
-       DSA *dsa1, *dsa2;
-
-       dsa1 = (DSA *) key1->opaque;
-       dsa2 = (DSA *) key2->opaque;
-
-       if (dsa1 == NULL && dsa2 == NULL)
-               return (ISC_TRUE);
-       else if (dsa1 == NULL || dsa2 == NULL)
-               return (ISC_FALSE);
-
-       status = BN_cmp(dsa1->p, dsa2->p) ||
-                BN_cmp(dsa1->q, dsa2->q) ||
-                BN_cmp(dsa1->g, dsa2->g) ||
-                BN_cmp(dsa1->pub_key, dsa2->pub_key);
-
-       if (status != 0)
-               return (ISC_FALSE);
-
-       if (dsa1->priv_key != NULL || dsa2->priv_key != NULL) {
-               if (dsa1->priv_key == NULL || dsa2->priv_key == NULL)
-                       return (ISC_FALSE);
-               if (BN_cmp(dsa1->priv_key, dsa2->priv_key))
-                       return (ISC_FALSE);
-       }
-       return (ISC_TRUE);
-}
-
-static isc_result_t
-openssldsa_generate(dst_key_t *key, int unused) {
-       DSA *dsa;
-       unsigned char rand_array[ISC_SHA1_DIGESTLENGTH];
-       isc_result_t result;
-
-       UNUSED(unused);
-
-       result = dst__entropy_getdata(rand_array, sizeof(rand_array),
-                                     ISC_FALSE);
-       if (result != ISC_R_SUCCESS)
-               return (result);
-
-       dsa = DSA_generate_parameters(key->key_size, rand_array,
-                                     ISC_SHA1_DIGESTLENGTH, NULL, NULL,
-                                     NULL, NULL);
-
-       if (dsa == NULL)
-               return (DST_R_OPENSSLFAILURE);
-
-       if (DSA_generate_key(dsa) == 0) {
-               DSA_free(dsa);
-               return (DST_R_OPENSSLFAILURE);
-       }
-       dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
-
-       key->opaque = dsa;
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_boolean_t
-openssldsa_isprivate(const dst_key_t *key) {
-       DSA *dsa = (DSA *) key->opaque;
-       return (ISC_TF(dsa != NULL && dsa->priv_key != NULL));
-}
-
-static isc_boolean_t
-openssldsa_issymmetric(void) {
-        return (ISC_FALSE);
-}
-
-static void
-openssldsa_destroy(dst_key_t *key) {
-       DSA *dsa = key->opaque;
-       DSA_free(dsa);
-       key->opaque = NULL;
-}
-
-
-static isc_result_t
-openssldsa_todns(const dst_key_t *key, isc_buffer_t *data) {
-       DSA *dsa;
-       isc_region_t r;
-       int dnslen;
-       unsigned int t, p_bytes;
-
-       REQUIRE(key->opaque != NULL);
-
-       dsa = (DSA *) key->opaque;
-
-       isc_buffer_availableregion(data, &r);
-
-       t = (BN_num_bytes(dsa->p) - 64) / 8;
-       if (t > 8)
-               return (DST_R_INVALIDPUBLICKEY);
-       p_bytes = 64 + 8 * t;
-
-       dnslen = 1 + (key->key_size * 3)/8 + ISC_SHA1_DIGESTLENGTH;
-       if (r.length < (unsigned int) dnslen)
-               return (ISC_R_NOSPACE);
-
-       *r.base++ = t;
-       BN_bn2bin_fixed(dsa->q, r.base, ISC_SHA1_DIGESTLENGTH);
-       r.base += ISC_SHA1_DIGESTLENGTH;
-       BN_bn2bin_fixed(dsa->p, r.base, key->key_size/8);
-       r.base += p_bytes;
-       BN_bn2bin_fixed(dsa->g, r.base, key->key_size/8);
-       r.base += p_bytes;
-       BN_bn2bin_fixed(dsa->pub_key, r.base, key->key_size/8);
-       r.base += p_bytes;
-
-       isc_buffer_add(data, dnslen);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-openssldsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
-       DSA *dsa;
-       isc_region_t r;
-       unsigned int t, p_bytes;
-       isc_mem_t *mctx = key->mctx;
-
-       UNUSED(mctx);
-
-       isc_buffer_remainingregion(data, &r);
-       if (r.length == 0)
-               return (ISC_R_SUCCESS);
-
-       dsa = DSA_new();
-       if (dsa == NULL)
-               return (ISC_R_NOMEMORY);
-       dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
-
-       t = (unsigned int) *r.base++;
-       if (t > 8) {
-               DSA_free(dsa);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       p_bytes = 64 + 8 * t;
-
-       if (r.length < 1 + ISC_SHA1_DIGESTLENGTH + 3 * p_bytes) {
-               DSA_free(dsa);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-
-       dsa->q = BN_bin2bn(r.base, ISC_SHA1_DIGESTLENGTH, NULL);
-       r.base += ISC_SHA1_DIGESTLENGTH;
-
-       dsa->p = BN_bin2bn(r.base, p_bytes, NULL);
-       r.base += p_bytes;
-
-       dsa->g = BN_bin2bn(r.base, p_bytes, NULL);
-       r.base += p_bytes;
-
-       dsa->pub_key = BN_bin2bn(r.base, p_bytes, NULL);
-       r.base += p_bytes;
-
-       key->key_size = p_bytes * 8;
-
-       isc_buffer_forward(data, 1 + ISC_SHA1_DIGESTLENGTH + 3 * p_bytes);
-
-       key->opaque = (void *) dsa;
-
-       return (ISC_R_SUCCESS);
-}
-
-
-static isc_result_t
-openssldsa_tofile(const dst_key_t *key, const char *directory) {
-       int cnt = 0;
-       DSA *dsa;
-       dst_private_t priv;
-       unsigned char bufs[5][128];
-
-       if (key->opaque == NULL)
-               return (DST_R_NULLKEY);
-
-       dsa = (DSA *) key->opaque;
-
-       priv.elements[cnt].tag = TAG_DSA_PRIME;
-       priv.elements[cnt].length = BN_num_bytes(dsa->p);
-       BN_bn2bin(dsa->p, bufs[cnt]);
-       priv.elements[cnt].data = bufs[cnt];
-       cnt++;
-
-       priv.elements[cnt].tag = TAG_DSA_SUBPRIME;
-       priv.elements[cnt].length = BN_num_bytes(dsa->q);
-       BN_bn2bin(dsa->q, bufs[cnt]);
-       priv.elements[cnt].data = bufs[cnt];
-       cnt++;
-
-       priv.elements[cnt].tag = TAG_DSA_BASE;
-       priv.elements[cnt].length = BN_num_bytes(dsa->g);
-       BN_bn2bin(dsa->g, bufs[cnt]);
-       priv.elements[cnt].data = bufs[cnt];
-       cnt++;
-
-       priv.elements[cnt].tag = TAG_DSA_PRIVATE;
-       priv.elements[cnt].length = BN_num_bytes(dsa->priv_key);
-       BN_bn2bin(dsa->priv_key, bufs[cnt]);
-       priv.elements[cnt].data = bufs[cnt];
-       cnt++;
-
-       priv.elements[cnt].tag = TAG_DSA_PUBLIC;
-       priv.elements[cnt].length = BN_num_bytes(dsa->pub_key);
-       BN_bn2bin(dsa->pub_key, bufs[cnt]);
-       priv.elements[cnt].data = bufs[cnt];
-       cnt++;
-
-       priv.nelements = cnt;
-       return (dst__privstruct_writefile(key, &priv, directory));
-}
-
-static isc_result_t
-openssldsa_fromfile(dst_key_t *key, const char *filename) {
-       dst_private_t priv;
-       isc_result_t ret;
-       int i;
-       DSA *dsa = NULL;
-       isc_mem_t *mctx = key->mctx;
-#define DST_RET(a) {ret = a; goto err;}
-
-       /* read private key file */
-       ret = dst__privstruct_parsefile(key, filename, mctx, &priv);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       dsa = DSA_new();
-       if (dsa == NULL)
-               DST_RET(ISC_R_NOMEMORY);
-       dsa->flags &= ~DSA_FLAG_CACHE_MONT_P;
-       key->opaque = dsa;
-
-       for (i=0; i < priv.nelements; i++) {
-               BIGNUM *bn;
-               bn = BN_bin2bn(priv.elements[i].data,
-                              priv.elements[i].length, NULL);
-               if (bn == NULL)
-                       DST_RET(ISC_R_NOMEMORY);
-
-               switch (priv.elements[i].tag) {
-                       case TAG_DSA_PRIME:
-                               dsa->p = bn;
-                               break;
-                       case TAG_DSA_SUBPRIME:
-                               dsa->q = bn;
-                               break;
-                       case TAG_DSA_BASE:
-                               dsa->g = bn;
-                               break;
-                       case TAG_DSA_PRIVATE:
-                               dsa->priv_key = bn;
-                               break;
-                       case TAG_DSA_PUBLIC:
-                               dsa->pub_key = bn;
-                               break;
-               }
-       }
-       dst__privstruct_free(&priv, mctx);
-
-       key->key_size = BN_num_bits(dsa->p);
-
-       return (ISC_R_SUCCESS);
-
- err:
-       openssldsa_destroy(key);
-       dst__privstruct_free(&priv, mctx);
-       memset(&priv, 0, sizeof(priv));
-       return (ret);
-}
-
-static dst_func_t openssldsa_functions = {
-       openssldsa_createctx,
-       openssldsa_destroyctx,
-       openssldsa_adddata,
-       openssldsa_sign,
-       openssldsa_verify,
-       NULL, /* computesecret */
-       openssldsa_compare,
-       NULL, /* paramcompare */
-       openssldsa_generate,
-       openssldsa_isprivate,
-       openssldsa_issymmetric,
-       openssldsa_destroy,
-       openssldsa_todns,
-       openssldsa_fromdns,
-       openssldsa_tofile,
-       openssldsa_fromfile,
-};
-
-isc_result_t
-dst__openssldsa_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL && *funcp == NULL);
-       *funcp = &openssldsa_functions;
-       return (ISC_R_SUCCESS);
-}
-
-void
-dst__openssldsa_destroy(void) {
-}
-
-#endif /* OPENSSL */
diff --git a/lib/dns/sec/dst/opensslrsa_link.c b/lib/dns/sec/dst/opensslrsa_link.c
deleted file mode 100644 (file)
index 64dbc05..0000000
+++ /dev/null
@@ -1,519 +0,0 @@
-/*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000, 2001, 2003  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND 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.
- */
-
-/*
- * Principal Author: Brian Wellington
- * $Id: opensslrsa_link.c,v 1.12.2.6 2004/03/09 06:11:42 marka Exp $
- */
-#ifdef OPENSSL
-
-#include <config.h>
-
-#include <isc/entropy.h>
-#include <isc/md5.h>
-#include <isc/sha1.h>
-#include <isc/mem.h>
-#include <isc/string.h>
-#include <isc/util.h>
-
-#include <dst/result.h>
-
-#include "dst_internal.h"
-#include "dst_parse.h"
-
-#include <openssl/err.h>
-#include <openssl/objects.h>
-#include <openssl/rsa.h>
-
-static isc_result_t opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data);
-
-static isc_result_t
-opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) {
-       UNUSED(key);
-
-       if (dctx->key->key_alg == DST_ALG_RSAMD5) {
-               isc_md5_t *md5ctx;
-
-               md5ctx = isc_mem_get(dctx->mctx, sizeof(isc_md5_t));
-               isc_md5_init(md5ctx);
-               dctx->opaque = md5ctx;
-       } else {
-               isc_sha1_t *sha1ctx;
-
-               sha1ctx = isc_mem_get(dctx->mctx, sizeof(isc_sha1_t));
-               isc_sha1_init(sha1ctx);
-               dctx->opaque = sha1ctx;
-       }
-
-       return (ISC_R_SUCCESS);
-}
-
-static void
-opensslrsa_destroyctx(dst_context_t *dctx) {
-       if (dctx->key->key_alg == DST_ALG_RSAMD5) {
-               isc_md5_t *md5ctx = dctx->opaque;
-
-               if (md5ctx != NULL) {
-                       isc_md5_invalidate(md5ctx);
-                       isc_mem_put(dctx->mctx, md5ctx, sizeof(isc_md5_t));
-               }
-       } else {
-               isc_sha1_t *sha1ctx = dctx->opaque;
-
-               if (sha1ctx != NULL) {
-                       isc_sha1_invalidate(sha1ctx);
-                       isc_mem_put(dctx->mctx, sha1ctx, sizeof(isc_sha1_t));
-               }
-       }
-       dctx->opaque = NULL;
-}
-
-static isc_result_t
-opensslrsa_adddata(dst_context_t *dctx, const isc_region_t *data) {
-       if (dctx->key->key_alg == DST_ALG_RSAMD5) {
-               isc_md5_t *md5ctx = dctx->opaque;
-               isc_md5_update(md5ctx, data->base, data->length);
-       } else {
-               isc_sha1_t *sha1ctx = dctx->opaque;
-               isc_sha1_update(sha1ctx, data->base, data->length);
-       }
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
-       dst_key_t *key = dctx->key;
-       RSA *rsa = key->opaque;
-       isc_region_t r;
-       /* note: ISC_SHA1_DIGESTLENGTH > ISC_MD5_DIGESTLENGTH */
-       unsigned char digest[ISC_SHA1_DIGESTLENGTH];
-       unsigned int siglen;
-       int status;
-       int type;
-       unsigned int digestlen;
-
-       isc_buffer_availableregion(sig, &r);
-
-       if (r.length < (unsigned int) RSA_size(rsa))
-               return (ISC_R_NOSPACE);
-
-       if (dctx->key->key_alg == DST_ALG_RSAMD5) {
-               isc_md5_t *md5ctx = dctx->opaque;
-               isc_md5_final(md5ctx, digest);
-               type = NID_md5;
-               digestlen = ISC_MD5_DIGESTLENGTH;
-       } else {
-               isc_sha1_t *sha1ctx = dctx->opaque;
-               isc_sha1_final(sha1ctx, digest);
-               type = NID_sha1;
-               digestlen = ISC_SHA1_DIGESTLENGTH;
-       }
-
-       status = RSA_sign(type, digest, digestlen, r.base, &siglen, rsa);
-       if (status == 0) {
-               ERR_clear_error();
-               return (DST_R_SIGNFAILURE);
-       }
-
-       isc_buffer_add(sig, siglen);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) {
-       dst_key_t *key = dctx->key;
-       RSA *rsa = key->opaque;
-       /* note: ISC_SHA1_DIGESTLENGTH > ISC_MD5_DIGESTLENGTH */
-       unsigned char digest[ISC_SHA1_DIGESTLENGTH];
-       int status = 0;
-       int type;
-       unsigned int digestlen;
-
-       if (dctx->key->key_alg == DST_ALG_RSAMD5) {
-               isc_md5_t *md5ctx = dctx->opaque;
-               isc_md5_final(md5ctx, digest);
-               type = NID_md5;
-               digestlen = ISC_MD5_DIGESTLENGTH;
-       } else {
-               isc_sha1_t *sha1ctx = dctx->opaque;
-               isc_sha1_final(sha1ctx, digest);
-               type = NID_sha1;
-               digestlen = ISC_SHA1_DIGESTLENGTH;
-       }
-
-       if (sig->length < (unsigned int) RSA_size(rsa))
-               return (DST_R_VERIFYFAILURE);
-
-       status = RSA_verify(type, digest, digestlen, sig->base,
-                           RSA_size(rsa), rsa);
-       if (status == 0) {
-               ERR_clear_error();
-               return (DST_R_VERIFYFAILURE);
-       }
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_boolean_t
-opensslrsa_compare(const dst_key_t *key1, const dst_key_t *key2) {
-       int status;
-       RSA *rsa1, *rsa2;
-
-       rsa1 = (RSA *) key1->opaque;
-       rsa2 = (RSA *) key2->opaque;
-
-       if (rsa1 == NULL && rsa2 == NULL)
-               return (ISC_TRUE);
-       else if (rsa1 == NULL || rsa2 == NULL)
-               return (ISC_FALSE);
-
-       status = BN_cmp(rsa1->n, rsa2->n) ||
-                BN_cmp(rsa1->e, rsa2->e);
-
-       if (status != 0)
-               return (ISC_FALSE);
-
-       if (rsa1->d != NULL || rsa2->d != NULL) {
-               if (rsa1->d == NULL || rsa2->d == NULL)
-                       return (ISC_FALSE);
-               status = BN_cmp(rsa1->d, rsa2->d) ||
-                        BN_cmp(rsa1->p, rsa2->p) ||
-                        BN_cmp(rsa1->q, rsa2->q);
-
-               if (status != 0)
-                       return (ISC_FALSE);
-       }
-       return (ISC_TRUE);
-}
-
-static isc_result_t
-opensslrsa_generate(dst_key_t *key, int exp) {
-       RSA *rsa;
-       unsigned long e;
-
-       if (exp == 0)
-               e = RSA_3;
-       else
-               e = RSA_F4;
-       rsa = RSA_generate_key(key->key_size, e, NULL, NULL);
-       if (rsa == NULL) {
-               ERR_clear_error();
-               return (DST_R_OPENSSLFAILURE);
-       }
-
-       rsa->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE);
-       rsa->flags |= RSA_FLAG_BLINDING;
-
-       key->opaque = rsa;
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_boolean_t
-opensslrsa_isprivate(const dst_key_t *key) {
-       RSA *rsa = (RSA *) key->opaque;
-       return (ISC_TF(rsa != NULL && rsa->d != NULL));
-}
-
-static isc_boolean_t
-opensslrsa_issymmetric(void) {
-        return (ISC_FALSE);
-}
-
-static void
-opensslrsa_destroy(dst_key_t *key) {
-       RSA *rsa = key->opaque;
-       RSA_free(rsa);
-       key->opaque = NULL;
-}
-
-
-static isc_result_t
-opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data) {
-       RSA *rsa;
-       isc_region_t r;
-       unsigned int e_bytes;
-       unsigned int mod_bytes;
-
-       REQUIRE(key->opaque != NULL);
-
-       rsa = (RSA *) key->opaque;
-
-       isc_buffer_availableregion(data, &r);
-
-       e_bytes = BN_num_bytes(rsa->e);
-       mod_bytes = BN_num_bytes(rsa->n);
-
-       if (e_bytes < 256) {    /* key exponent is <= 2040 bits */
-               if (r.length < 1)
-                       return (ISC_R_NOSPACE);
-               isc_buffer_putuint8(data, (isc_uint8_t) e_bytes);
-       } else {
-               if (r.length < 3)
-                       return (ISC_R_NOSPACE);
-               isc_buffer_putuint8(data, 0);
-               isc_buffer_putuint16(data, (isc_uint16_t) e_bytes);
-       }
-
-       if (r.length < e_bytes + mod_bytes)
-               return (ISC_R_NOSPACE);
-       isc_buffer_availableregion(data, &r);
-
-       BN_bn2bin(rsa->e, r.base);
-       r.base += e_bytes;
-       BN_bn2bin(rsa->n, r.base);
-
-       isc_buffer_add(data, e_bytes + mod_bytes);
-
-       return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
-       RSA *rsa;
-       isc_region_t r;
-       unsigned int e_bytes;
-
-       isc_buffer_remainingregion(data, &r);
-       if (r.length == 0)
-               return (ISC_R_SUCCESS);
-
-       rsa = RSA_new();
-       if (rsa == NULL)
-               return (ISC_R_NOMEMORY);
-       rsa->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE);
-       rsa->flags |= RSA_FLAG_BLINDING;
-
-       if (r.length < 1) {
-               RSA_free(rsa);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       e_bytes = *r.base++;
-       r.length--;
-
-       if (e_bytes == 0) {
-               if (r.length < 2) {
-                       RSA_free(rsa);
-                       return (DST_R_INVALIDPUBLICKEY);
-               }
-               e_bytes = ((*r.base++) << 8);
-               e_bytes += *r.base++;
-               r.length -= 2;
-       }
-
-       if (r.length < e_bytes) {
-               RSA_free(rsa);
-               return (DST_R_INVALIDPUBLICKEY);
-       }
-       rsa->e = BN_bin2bn(r.base, e_bytes, NULL);
-       r.base += e_bytes;
-       r.length -= e_bytes;
-
-       rsa->n = BN_bin2bn(r.base, r.length, NULL);
-
-       key->key_size = BN_num_bits(rsa->n);
-
-       isc_buffer_forward(data, r.length);
-
-       key->opaque = (void *) rsa;
-
-       return (ISC_R_SUCCESS);
-}
-
-
-static isc_result_t
-opensslrsa_tofile(const dst_key_t *key, const char *directory) {
-       int i;
-       RSA *rsa;
-       dst_private_t priv;
-       unsigned char *bufs[8];
-       isc_result_t result;
-
-       if (key->opaque == NULL)
-               return (DST_R_NULLKEY);
-
-       rsa = (RSA *) key->opaque;
-
-       for (i = 0; i < 8; i++) {
-               bufs[i] = isc_mem_get(key->mctx, BN_num_bytes(rsa->n));
-               if (bufs[i] == NULL) {
-                       result = ISC_R_NOMEMORY;
-                       goto fail;
-               }
-       }
-
-       i = 0;
-
-       priv.elements[i].tag = TAG_RSA_MODULUS;
-       priv.elements[i].length = BN_num_bytes(rsa->n);
-       BN_bn2bin(rsa->n, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_RSA_PUBLICEXPONENT;
-       priv.elements[i].length = BN_num_bytes(rsa->e);
-       BN_bn2bin(rsa->e, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_RSA_PRIVATEEXPONENT;
-       priv.elements[i].length = BN_num_bytes(rsa->d);
-       BN_bn2bin(rsa->d, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_RSA_PRIME1;
-       priv.elements[i].length = BN_num_bytes(rsa->p);
-       BN_bn2bin(rsa->p, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_RSA_PRIME2;
-       priv.elements[i].length = BN_num_bytes(rsa->q);
-       BN_bn2bin(rsa->q, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_RSA_EXPONENT1;
-       priv.elements[i].length = BN_num_bytes(rsa->dmp1);
-       BN_bn2bin(rsa->dmp1, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_RSA_EXPONENT2;
-       priv.elements[i].length = BN_num_bytes(rsa->dmq1);
-       BN_bn2bin(rsa->dmq1, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.elements[i].tag = TAG_RSA_COEFFICIENT;
-       priv.elements[i].length = BN_num_bytes(rsa->iqmp);
-       BN_bn2bin(rsa->iqmp, bufs[i]);
-       priv.elements[i].data = bufs[i];
-       i++;
-
-       priv.nelements = i;
-       result =  dst__privstruct_writefile(key, &priv, directory);
- fail:
-       for (i = 0; i < 8; i++) {
-               if (bufs[i] == NULL)
-                       break;
-               isc_mem_put(key->mctx, bufs[i], BN_num_bytes(rsa->n));
-       }
-       return (result);
-}
-
-static isc_result_t
-opensslrsa_fromfile(dst_key_t *key, const char *filename) {
-       dst_private_t priv;
-       isc_result_t ret;
-       int i;
-       RSA *rsa = NULL;
-       isc_mem_t *mctx = key->mctx;
-#define DST_RET(a) {ret = a; goto err;}
-
-       /* read private key file */
-       ret = dst__privstruct_parsefile(key, filename, mctx, &priv);
-       if (ret != ISC_R_SUCCESS)
-               return (ret);
-
-       rsa = RSA_new();
-       if (rsa == NULL)
-               DST_RET(ISC_R_NOMEMORY);
-       rsa->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE);
-       rsa->flags |= RSA_FLAG_BLINDING;
-       key->opaque = rsa;
-
-       for (i = 0; i < priv.nelements; i++) {
-               BIGNUM *bn;
-               bn = BN_bin2bn(priv.elements[i].data,
-                              priv.elements[i].length, NULL);
-               if (bn == NULL)
-                       DST_RET(ISC_R_NOMEMORY);
-
-               switch (priv.elements[i].tag) {
-                       case TAG_RSA_MODULUS:
-                               rsa->n = bn;
-                               break;
-                       case TAG_RSA_PUBLICEXPONENT:
-                               rsa->e = bn;
-                               break;
-                       case TAG_RSA_PRIVATEEXPONENT:
-                               rsa->d = bn;
-                               break;
-                       case TAG_RSA_PRIME1:
-                               rsa->p = bn;
-                               break;
-                       case TAG_RSA_PRIME2:
-                               rsa->q = bn;
-                               break;
-                       case TAG_RSA_EXPONENT1:
-                               rsa->dmp1 = bn;
-                               break;
-                       case TAG_RSA_EXPONENT2:
-                               rsa->dmq1 = bn;
-                               break;
-                       case TAG_RSA_COEFFICIENT:
-                               rsa->iqmp = bn;
-                               break;
-               }
-       }
-       dst__privstruct_free(&priv, mctx);
-
-       key->key_size = BN_num_bits(rsa->n);
-
-       return (ISC_R_SUCCESS);
-
- err:
-       opensslrsa_destroy(key);
-       dst__privstruct_free(&priv, mctx);
-       memset(&priv, 0, sizeof(priv));
-       return (ret);
-}
-
-static dst_func_t opensslrsa_functions = {
-       opensslrsa_createctx,
-       opensslrsa_destroyctx,
-       opensslrsa_adddata,
-       opensslrsa_sign,
-       opensslrsa_verify,
-       NULL, /* computesecret */
-       opensslrsa_compare,
-       NULL, /* paramcompare */
-       opensslrsa_generate,
-       opensslrsa_isprivate,
-       opensslrsa_issymmetric,
-       opensslrsa_destroy,
-       opensslrsa_todns,
-       opensslrsa_fromdns,
-       opensslrsa_tofile,
-       opensslrsa_fromfile,
-};
-
-isc_result_t
-dst__opensslrsa_init(dst_func_t **funcp) {
-       REQUIRE(funcp != NULL && *funcp == NULL);
-       *funcp = &opensslrsa_functions;
-       return (ISC_R_SUCCESS);
-}
-
-void
-dst__opensslrsa_destroy(void) {
-}
-
-#endif /* OPENSSL */
index 8d28732ff38e8181faa251ad3607eeacac33d6f8..192d25dc842114d3b8d760d1e6cb0f9810852c60 100644 (file)
@@ -43,7 +43,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libdns_EXPORTS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /YX /FD /c\r
 # SUBTRACT CPP /X\r
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
@@ -70,7 +70,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libdns_EXPORTS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR /YX /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../../../openssl-0.9.6k/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR /YX /FD /GZ /c\r
 # SUBTRACT CPP /X\r
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
@@ -151,15 +151,6 @@ SOURCE=..\diff.c
 # Begin Source File\r
 \r
 SOURCE=..\dispatch.c\r
-\r
-!IF  "$(CFG)" == "libdns - Win32 Release"\r
-\r
-!ELSEIF  "$(CFG)" == "libdns - Win32 Debug"\r
-\r
-# ADD CPP /I "../sec/dst/include"\r
-\r
-!ENDIF \r
-\r
 # End Source File\r
 # Begin Source File\r
 \r
@@ -343,51 +334,51 @@ SOURCE=..\zt.c
 # PROP Default_Filter "c"\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\dst_api.c\r
+SOURCE=..\dst_api.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\dst_lib.c\r
+SOURCE=..\dst_lib.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\dst_parse.c\r
+SOURCE=..\dst_parse.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\dst_result.c\r
+SOURCE=..\dst_result.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\gssapi_link.c\r
+SOURCE=..\gssapi_link.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\gssapictx.c\r
+SOURCE=..\gssapictx.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\hmac_link.c\r
+SOURCE=..\hmac_link.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\key.c\r
+SOURCE=..\key.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\openssl_link.c\r
+SOURCE=..\openssl_link.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\openssldh_link.c\r
+SOURCE=..\openssldh_link.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\openssldsa_link.c\r
+SOURCE=..\openssldsa_link.c\r
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\sec\dst\opensslrsa_link.c\r
+SOURCE=..\opensslrsa_link.c\r
 # End Source File\r
 # End Group\r
 # Begin Source File\r
index 76e275ca1af03ec98ca732eb8ba62c10148a187e..893b18415d0a85e11cfafd3a174aee11a6fc0005 100644 (file)
@@ -111,7 +111,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -391,7 +391,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../../../openssl-0.9.6k/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -797,7 +797,7 @@ SOURCE=..\dispatch.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
-CPP_SWITCHES=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_SWITCHES=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 "$(INTDIR)\dispatch.obj" : $(SOURCE) "$(INTDIR)"
        $(CPP) @<<
@@ -807,7 +807,7 @@ CPP_SWITCHES=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/ope
 
 !ELSEIF  "$(CFG)" == "libdns - Win32 Debug"
 
-CPP_SWITCHES=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /I "../sec/dst/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_SWITCHES=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../../../openssl-0.9.6k/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 "$(INTDIR)\dispatch.obj"       "$(INTDIR)\dispatch.sbr" : $(SOURCE) "$(INTDIR)"
        $(CPP) @<<
@@ -1605,7 +1605,7 @@ SOURCE=..\zt.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\dst_api.c
+SOURCE=..\dst_api.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1623,7 +1623,7 @@ SOURCE=..\sec\dst\dst_api.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\dst_lib.c
+SOURCE=..\dst_lib.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1641,7 +1641,7 @@ SOURCE=..\sec\dst\dst_lib.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\dst_parse.c
+SOURCE=..\dst_parse.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1659,7 +1659,7 @@ SOURCE=..\sec\dst\dst_parse.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\dst_result.c
+SOURCE=..\dst_result.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1677,7 +1677,7 @@ SOURCE=..\sec\dst\dst_result.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\gssapi_link.c
+SOURCE=..\gssapi_link.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1695,7 +1695,7 @@ SOURCE=..\sec\dst\gssapi_link.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\gssapictx.c
+SOURCE=..\gssapictx.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1713,7 +1713,7 @@ SOURCE=..\sec\dst\gssapictx.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\hmac_link.c
+SOURCE=..\hmac_link.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1731,7 +1731,7 @@ SOURCE=..\sec\dst\hmac_link.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\key.c
+SOURCE=..\key.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1749,7 +1749,7 @@ SOURCE=..\sec\dst\key.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\openssl_link.c
+SOURCE=..\openssl_link.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1767,7 +1767,7 @@ SOURCE=..\sec\dst\openssl_link.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\openssldh_link.c
+SOURCE=..\openssldh_link.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1785,7 +1785,7 @@ SOURCE=..\sec\dst\openssldh_link.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\openssldsa_link.c
+SOURCE=..\openssldsa_link.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
@@ -1803,7 +1803,7 @@ SOURCE=..\sec\dst\openssldsa_link.c
 
 !ENDIF 
 
-SOURCE=..\sec\dst\opensslrsa_link.c
+SOURCE=..\opensslrsa_link.c
 
 !IF  "$(CFG)" == "libdns - Win32 Release"
 
index 0b9eb49bc505241eb1841cbd6781a465a30588ac..2870ffad1d35a9c434a6aba061cdc71b7e9a86cf 100644 (file)
@@ -43,7 +43,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libisccc_EXPORTS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCC_EXPORTS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCC_EXPORTS" /YX /FD /c\r
 # SUBTRACT CPP /X\r
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
@@ -70,7 +70,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libisccc_EXPORTS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCC_EXPORTS" /FR /YX /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCC_EXPORTS" /FR /YX /FD /GZ /c\r
 # SUBTRACT CPP /X\r
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
index 26157c26a507dc3203d9b1dfbe3d07a312494b50..b3333e7a78af5c988374682b4952f82e853a894a 100644 (file)
@@ -53,7 +53,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCC_EXPORTS" /Fp"$(INTDIR)\libisccc.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCC_EXPORTS" /Fp"$(INTDIR)\libisccc.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
@@ -158,7 +158,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCC_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libisccc.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCC_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libisccc.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index 8333be1744383fd0524eb1cefb66fd28d10d8c5c..d11b0c93f298fb7212e5b492ee4c6c2fab8d48f0 100644 (file)
@@ -43,7 +43,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libisccfg_EXPORTS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCFG_EXPORTS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../..../lib/dns/sec/openssl/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCFG_EXPORTS" /YX /FD /c\r
 # SUBTRACT CPP /X\r
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
@@ -70,7 +70,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libisccfg_EXPORTS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISCCFG_EXPORTS" /FR /YX /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../..../lib/dns/sec/openssl/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISCCFG_EXPORTS" /FR /YX /FD /GZ /c\r
 # SUBTRACT CPP /X\r
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
index a7c09380f341e021c6a01edfb17b68fe9536781b..6b8379e8212e388f34be7361b1c3ef56b3a811e0 100644 (file)
@@ -62,7 +62,7 @@ CLEAN :
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCFG_EXPORTS" /Fp"$(INTDIR)\libisccfg.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../..../lib/dns/sec/openssl/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBISCCFG_EXPORTS" /Fp"$(INTDIR)\libisccfg.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\libisccfg.bsc" 
@@ -131,7 +131,7 @@ CLEAN :
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISCCFG_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libisccfg.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../..../lib/dns/sec/openssl/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISCCFG_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libisccfg.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c 
 MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\libisccfg.bsc" 
index fe151c9b8467c30825b071fb9e8cf016692634fb..28ca2ee2554356b06e515afdfa2d79a271c74f45 100644 (file)
@@ -43,7 +43,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "liblwres_EXPORTS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../lib/lwres/win32/include/lwres" /I "include" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBLWRES_EXPORTS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../lib/lwres/win32/include/lwres" /I "include" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBLWRES_EXPORTS" /YX /FD /c\r
 # SUBTRACT CPP /X\r
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
index 859aba4568ff32c61767c1a8c1cf36cd74b411a7..6e40e6cd46843276a51d3fe92eb86a6eb3f69077 100644 (file)
@@ -64,7 +64,7 @@ CLEAN :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
 CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../lib/lwres/win32/include/lwres" /I "include" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /I "../../../lib/dns/sec/dst/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBLWRES_EXPORTS" /Fp"$(INTDIR)\liblwres.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../lib/lwres/win32/include/lwres" /I "include" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isc/include" /I "../..../lib/dns/sec/openssl/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBLWRES_EXPORTS" /Fp"$(INTDIR)\liblwres.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
 .c{$(INTDIR)}.obj::
    $(CPP) @<<
index 8e9f5a705eff1a6395606948df4fd5be65e63ae9..e14ca1de92b78b6af4aefc7b2957b10eb7962493 100644 (file)
@@ -13,7 +13,7 @@
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: includes.in,v 1.15.2.1 2004/03/09 06:12:46 marka Exp $
+# $Id: includes.in,v 1.15.2.2 2004/12/09 03:18:36 marka Exp $
 
 # Search for machine-generated header files in the build tree,
 # and for normal headers in the source tree (${top_srcdir}).
@@ -34,8 +34,7 @@ ISCCFG_INCLUDES = @BIND9_ISCCFG_BUILDINCLUDE@ \
        -I${top_srcdir}/lib/isccfg/include
 
 DNS_INCLUDES = @BIND9_DNS_BUILDINCLUDE@ \
-       -I${top_srcdir}/lib/dns/include \
-       -I${top_srcdir}/lib/dns/sec/dst/include
+       -I${top_srcdir}/lib/dns/include
 
 LWRES_INCLUDES = @BIND9_LWRES_BUILDINCLUDE@ \
        -I${top_srcdir}/lib/lwres/unix/include \
index d9dff6de64f74f2115a61ff94c958ec0691f0212..ea9e83cbd2248f276e6306f05f339d37c3f9b53f 100644 (file)
 ./lib/dns/diff.c                               C       2000,2001,2002,2004
 ./lib/dns/dispatch.c                           C       1999,2000,2001,2002,2003,2004
 ./lib/dns/dnssec.c                             C       1999,2000,2001,2002,2003,2004
+./lib/dns/dst_api.c                            C.NAI   1999,2000,2001,2003,2004
+./lib/dns/dst_internal.h                       C.NAI   2000,2001,2004
+./lib/dns/dst_lib.c                            C       1999,2000,2001,2004
+./lib/dns/dst_parse.c                          C.NAI   1999,2000,2001,2004
+./lib/dns/dst_parse.h                          C.NAI   2000,2001,2004
+./lib/dns/dst_result.c                         C       1999,2000,2001,2004
 ./lib/dns/forward.c                            C       2000,2001,2004
 ./lib/dns/gen-unix.h                           C       1999,2000,2001,2004
 ./lib/dns/gen-win32.h                          C       1999,2000,2001,2004
 ./lib/dns/gen.c                                        C       1998,1999,2000,2001,2002,2003,2004
+./lib/dns/gssapi_link.c                                C       2000,2001,2004
+./lib/dns/gssapictx.c                          C       2000,2001,2004
+./lib/dns/hmac_link.c                          C.NAI   1999,2000,2001,2004
 ./lib/dns/include/.cvsignore                   X       1999,2000,2001
 ./lib/dns/include/Makefile.in                  MAKE    1998,1999,2000,2001,2004
 ./lib/dns/include/dns/.cvsignore               X       1999,2000,2001
 ./lib/dns/include/dns/zone.h                   C       1999,2000,2001,2002,2003,2004
 ./lib/dns/include/dns/zonekey.h                        C       2001,2004
 ./lib/dns/include/dns/zt.h                     C       1999,2000,2001,2002,2004
+./lib/dns/include/dst/.cvsignore               X       2000,2001
+./lib/dns/include/dst/Makefile.in              MAKE    1998,1999,2000,2001,2004
+./lib/dns/include/dst/dst.h                    C       2000,2001,2004
+./lib/dns/include/dst/gssapi.h                 C       2000,2001,2004
+./lib/dns/include/dst/lib.h                    C       1999,2000,2001,2004
+./lib/dns/include/dst/result.h                 C       1999,2000,2001,2004
 ./lib/dns/journal.c                            C       1999,2000,2001,2004
+./lib/dns/key.c                                        C       2001,2004
 ./lib/dns/keytable.c                           C       2000,2001,2004
 ./lib/dns/lib.c                                        C       1999,2000,2001,2004
 ./lib/dns/log.c                                        C       1999,2000,2001,2003,2004
 ./lib/dns/name.c                               C       1998,1999,2000,2001,2002,2003,2004
 ./lib/dns/ncache.c                             C       1999,2000,2001,2002,2003,2004
 ./lib/dns/nxt.c                                        C       1999,2000,2001,2003,2004
+./lib/dns/openssl_link.c                       C.NAI   1999,2000,2001,2003,2004
+./lib/dns/openssldh_link.c                     C.NAI   1999,2000,2001,2004
+./lib/dns/openssldsa_link.c                    C.NAI   1999,2000,2001,2004
+./lib/dns/opensslrsa_link.c                    C       2000,2001,2003,2004
 ./lib/dns/peer.c                               C       2000,2001,2004
 ./lib/dns/rbt.c                                        C       1999,2000,2001,2003,2004
 ./lib/dns/rbtdb.c                              C       1999,2000,2001,2002,2003,2004
 ./lib/dns/result.c                             C       1998,1999,2000,2001,2002,2003,2004
 ./lib/dns/rootns.c                             C       1999,2000,2001,2003,2004
 ./lib/dns/sdb.c                                        C       2000,2001,2003,2004
-./lib/dns/sec/.cvsignore                       X       1999,2000,2001
-./lib/dns/sec/Makefile.in                      MAKE    1998,1999,2000,2001,2004
-./lib/dns/sec/dst/.cvsignore                   X       1999,2000,2001
-./lib/dns/sec/dst/Makefile.in                  MAKE    1998,1999,2000,2001,2002,2004
-./lib/dns/sec/dst/dst_api.c                    C.NAI   1999,2000,2001,2003,2004
-./lib/dns/sec/dst/dst_internal.h               C.NAI   2000,2001,2004
-./lib/dns/sec/dst/dst_lib.c                    C       1999,2000,2001,2004
-./lib/dns/sec/dst/dst_parse.c                  C.NAI   1999,2000,2001,2004
-./lib/dns/sec/dst/dst_parse.h                  C.NAI   2000,2001,2004
-./lib/dns/sec/dst/dst_result.c                 C       1999,2000,2001,2004
-./lib/dns/sec/dst/gssapi_link.c                        C       2000,2001,2004
-./lib/dns/sec/dst/gssapictx.c                  C       2000,2001,2004
-./lib/dns/sec/dst/hmac_link.c                  C.NAI   1999,2000,2001,2004
-./lib/dns/sec/dst/include/.cvsignore           X       2000,2001
-./lib/dns/sec/dst/include/Makefile.in          MAKE    1998,1999,2000,2001,2004
-./lib/dns/sec/dst/include/dst/.cvsignore       X       2000,2001
-./lib/dns/sec/dst/include/dst/Makefile.in      MAKE    1998,1999,2000,2001,2004
-./lib/dns/sec/dst/include/dst/dst.h            C       2000,2001,2004
-./lib/dns/sec/dst/include/dst/gssapi.h         C       2000,2001,2004
-./lib/dns/sec/dst/include/dst/lib.h            C       1999,2000,2001,2004
-./lib/dns/sec/dst/include/dst/result.h         C       1999,2000,2001,2004
-./lib/dns/sec/dst/key.c                                C       2001,2004
-./lib/dns/sec/dst/openssl_link.c               C.NAI   1999,2000,2001,2003,2004
-./lib/dns/sec/dst/openssldh_link.c             C.NAI   1999,2000,2001,2004
-./lib/dns/sec/dst/openssldsa_link.c            C.NAI   1999,2000,2001,2004
-./lib/dns/sec/dst/opensslrsa_link.c            C       2000,2001,2003,2004
 ./lib/dns/soa.c                                        C       2000,2001,2004
 ./lib/dns/ssu.c                                        C       2000,2001,2004
 ./lib/dns/stats.c                              C       2000,2001,2004