FYI, here's a little -p0 patch which tweaks SNAP-20010102 (& probly later)
to work with crappy older MIT Kerberos.  It provides code for the missing
krb5_free_data_contents() in ssl/kssl.c #ifdef KRB5_MIT_OLD11, and extends
the --with-krb5-flavor=mit in Configure to define this if a sufficiently
old version is supplied, e.g. --with-krb5-flavor=mit-1.0.6.
Note that "mit-" is edited out of $withargs{"krb5-flavor"} after, I think, 
everyone else is done with it.

The bulky middle part of the patch is throwing -lresolv's at Solaris.
I think some linuxes may need this as well.


--- ssl/kssl.c.orig     Mon Jan  8 15:57:30 2001
+++ ssl/kssl.c  Mon Jan  8 16:03:19 2001
@@ -1025,6 +1025,11 @@
 #ifdef KRB5_HEIMDAL
        data->length = 0;
        free(data->if (data->data) data);
+#elif defined(KRB5_MIT_OLD11)
+       if (data->data)  {
+               krb5_xfree(data->data);
+               data->data = 0;
+       }
 #else
        krb5_free_data_contents(NULL, data);
 #endif
--- Configure.orig      Mon Jan  8 16:08:15 2001
+++ Configure   Mon Jan  8 17:10:28 2001
@@ -143,32 +143,32 @@
 # surrounds it with #APP #NO_APP comment pair which (at least Solaris
 # 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
 # error message.
-"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN 
-DNO_INLINE_ASM::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:${x86_sol_asm}:dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN 
+-DNO_INLINE_ASM::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:${x86_sol_asm}:dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### SPARC Solaris with GNU C setups
-"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
-DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR::::::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
-DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris-sparcv9-gcc","gcc:-mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
DES_UNROLL 
BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
+-DBN_DIV2W::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
+DES_UNROLL 
+BF_PTR::::::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
+-DBN_DIV2W::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
+DES_UNROLL 
+BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv9-gcc","gcc:-mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
+-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG RC4_CHAR 
+RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 # gcc pre-2.8 doesn't understand -mcpu=ultrasparc, so fall down to -mv8
 # but keep the assembler modules.
-"solaris-sparcv9-gcc27","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
DES_UNROLL 
BF_PTR:asm/sparcv8plus-gcc27.o:::asm/md5-sparcv8plus-gcc27.o::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv9-gcc27","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
+-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG RC4_CHAR 
+RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8plus-gcc27.o:::asm/md5-sparcv8plus-gcc27.o::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 ####
-"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl 
-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -O -g -mcpu=ultrasparc -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket 
-lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR:asm/sparcv8plus.o:::::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket -lresolv -lnsl 
+-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG_ALL -O -g -mcpu=ultrasparc -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket 
+-lresolv -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8plus.o:::::::::dlfcn:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### SPARC Solaris with Sun C setups
 # DO NOT use /xO[34] on sparc with SC3.0.  It is broken, and will not pass the tests
-"solaris-sparc-sc3","cc:-fast -O -Xa -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl 
-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL 
BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparc-sc3","cc:-fast -O -Xa -DB_ENDIAN::-D_REENTRANT:-lsocket -lresolv -lnsl 
+-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL 
+BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 # SC4.0 doesn't pass 'make test', upgrade to SC5.0 or SC4.2.
 # SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8
 # SC5.0 note: Compiler common patch 107357-01 or later is required!
-"solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN 
-DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR 
DES_RISC1 DES_UNROLL 
BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN 
-DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR 
DES_RISC1 DES_UNROLL 
BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa 
-DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR 
RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL 
BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa 
-DB_ENDIAN -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR 
RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL 
BF_PTR::::asm/md5-sparcv9.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN 
+-DBN_DIV2W::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
+DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN 
+-DBN_DIV2W::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
+DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa 
+-DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lresolv -lnsl 
+-ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa 
+-DB_ENDIAN -DULTRASPARC::-D_REENTRANT:-lsocket -lresolv -lnsl 
+-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR::::asm/md5-sparcv9.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 ####
-"debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN 
-DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR 
DES_RISC1 DES_UNROLL 
BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN 
-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR 
RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL 
BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN 
+-DBN_DIV2W::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
+DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN 
+-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lresolv -lnsl -ldl:BN_LLONG RC4_CHAR 
+RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### SPARC Linux setups
 "linux-sparcv7","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::",
@@ -694,7 +694,7 @@
                        if $withargs{"krb5-lib"} eq "";
                $cflags="-DKRB5_HEIMDAL $cflags";
                }
-       if ($withargs{"krb5-flavor"} =~ /^[Mm][Ii][Tt]$/)
+       if ($withargs{"krb5-flavor"} =~ /^[Mm][Ii][Tt]/)
                {
                $withargs{"krb5-dir"} = "/usr/kerberos"
                        if $withargs{"krb5-dir"} eq "";
@@ -702,6 +702,11 @@
                        "/lib -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto"
                        if $withargs{"krb5-lib"} eq "";
                $cflags="-DKRB5_MIT $cflags";
+               $withargs{"krb5-flavor"} =~ s/^[Mm][Ii][Tt][._-]*//;
+               if ($withargs{"krb5-flavor"} =~ /^1[._-]*[01]/)
+                       {
+                       $cflags="-DKRB5_MIT_OLD11 $cflags";
+                       }
                }
        $withargs{"krb5-include"} = "-I".$withargs{"krb5-dir"}."/include"
                if $withargs{"krb5-include"} eq "" && $withargs{"krb5-dir"} ne "";

-- 
                "My company prefers to have that kind of decision made by
                 uninformed executives.  We call it "Empowerment".  --Dilbert
[EMAIL PROTECTED]
Vern Staats, ASC/HPTS, WPAFB OH 45433, 937-255-1616x449

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to