--- configure.in.orig	Wed Feb 26 23:00:39 2003
+++ configure.in	Wed Feb 26 23:22:03 2003
@@ -66,8 +66,12 @@
 dnl check for -R, etc. switch
 CMU_GUESS_RUNPATH_SWITCH
 dnl let's just link against local.  otherwise we never find anything useful.
-CPPFLAGS="-I/usr/local/include ${CPPFLAGS}"
-CMU_ADD_LIBPATH("/usr/local/lib")
+CPPFLAGS="-I${OPENSSLINC}/openssl ${CPPFLAGS}"
+if test "${OPENSSLINC}" != "/usr/include" ; then
+  CPPFLAGS="-I${OPENSSLINC} ${CPPFLAGS}"
+fi
+CMU_ADD_LIBPATH("${OPENSSLLIB}")
+CMU_ADD_LIBPATH("${LOCALBASE}/lib")
 
 AM_DISABLE_STATIC
 
@@ -122,8 +126,6 @@
 
   AC_SUBST(JAVA_INCLUDES)
   AC_MSG_RESULT(JAVA_INCLUDES)
-  JAVAC=`echo "$JAVAC" | sed 's,.*/,,'`
-  JAVAH=`echo "$JAVAH" | sed 's,.*/,,'`
 fi
 
 AM_CONDITIONAL(SAMPLE, test "$enable_sample" = yes)
@@ -239,6 +241,13 @@
   berkeley)
     SASL_DB_BACKEND="db_${dblib}.lo"
     AC_DEFINE(SASL_BERKELEYDB)
+    for db3loc in ${prefix} /usr/local /usr
+    do
+      if test -d ${db3loc}/include/db3; then
+       CPPFLAGS="-I${db3loc}/include/db3 $CPPFLAGS"
+       break
+      fi
+    done
     ;;
   *)
     AC_MSG_WARN([Disabling SASL authentication database support])
@@ -473,16 +482,40 @@
     CPPFLAGS="$CPPFLAGS -I${with_des}/include"
     LDFLAGS="$LDFLAGS -L${with_des}/lib"
   fi
-  AC_CHECK_LIB(des, des_pcbc_encrypt, [LIB_DES="-ldes";
-				       with_des=yes], with_des=no)
+
+  dnl check for openssl installing -lcrypto, then make vanilla check
+  AC_CHECK_LIB(crypto, des_cbc_encrypt, [
+      AC_CHECK_HEADER(openssl/des.h, [AC_DEFINE(WITH_SSL_DES)
+                                     LIB_DES="-lcrypto";
+                                     with_des=yes],
+                     with_des=no)],
+      with_des=no, $LIB_RSAREF)
+
+  dnl same test again, different symbol name
+  if test "$with_des" = no; then
+    AC_CHECK_LIB(crypto, DES_cbc_encrypt, [
+      AC_CHECK_HEADER(openssl/des.h, [AC_DEFINE(WITH_SSL_DES)
+                                     LIB_DES="-lcrypto";
+                                     with_des=yes],
+                     with_des=no)],
+      with_des=no, $LIB_RSAREF)
+  fi
+
+  if test "$with_des" = no; then
+    AC_CHECK_LIB(des, des_pcbc_encrypt, [LIB_DES="-ldes";
+				         with_des=yes], with_des=no)
+  fi
+
   if test "$with_des" = no; then
     AC_CHECK_LIB(des524, des_pcbc_encrypt, [LIB_DES="-ldes524";
 				       with_des=yes], with_des=no)
   fi
+
   if test "$with_des" = no; then
     AC_CHECK_LIB(des425, des_pcbc_encrypt, [LIB_DES="-ldes425";
 				       with_des=yes], with_des=no)
   fi
+
   if test "$with_des" = no; then
     dnl if openssl is around, we might be able to use that for des
 
@@ -493,7 +526,7 @@
                  LIB_RSAREF="-lRSAglue -lrsaref"; cmu_have_rsaref=yes,
                  cmu_have_rsaref=no)
 
-    AC_CHECK_LIB(crypto, des_pcbc_encrypt, 
+    AC_CHECK_LIB(crypto, des_cbc_encrypt, 
 	AC_CHECK_HEADER(openssl/des.h, [AC_DEFINE(WITH_SSL_DES)
 					LIB_DES="-lcrypto";
 					with_des=yes],
@@ -502,10 +535,9 @@
   fi
 fi
 
-dnl if test "$with_des" != no; then
-dnl   AC_DEFINE(WITH_DES)
-dnl  LIB_DES="-ldes"
-dnl fi
+if test "$with_des" != no; then
+  AC_DEFINE(WITH_DES)
+fi
 
 AC_SUBST(LIB_DES)
 
@@ -563,8 +595,8 @@
     AC_CHECK_HEADER(krb.h,
       AC_CHECK_LIB(com_err, com_err,
 	AC_CHECK_LIB(krb, krb_mk_priv, COM_ERR="-lcom_err",
-                     krb4=no, -ldes -lcom_err),
-	AC_CHECK_LIB(krb, krb_mk_priv, COM_ERR="", krb4=no, -ldes)))
+                     krb4=no, ${LIB_DES} -lcrypt -lcom_err),
+	AC_CHECK_LIB(krb, krb_mk_priv, COM_ERR="", krb4=no, ${LIB_DES})))
 
   else
     AC_WARN(No DES library found for Kerberos V4 support)
@@ -592,7 +624,7 @@
   AC_MSG_RESULT(enabled)
   SASL_MECHS="$SASL_MECHS libkerberos4.la"
   AC_DEFINE(HAVE_KRB)
-  SASL_KRB_LIB="-lkrb -ldes $COM_ERR"
+  SASL_KRB_LIB="-lkrb $LIB_DES $COM_ERR"
   AC_SUBST(SASL_KRB_LIB)
 else
   AC_MSG_RESULT(disabled)
@@ -631,7 +663,7 @@
 
 # the base64_decode check fails because libroken has dependencies
 # FIXME: this is probabally non-optimal as well
-  AC_CHECK_LIB(krb5,krb5_vlog,gss_impl="heimdal",,)
+  AC_CHECK_LIB(krb5,krb5_vlog,gss_impl="heimdal",, -lasn1 ${LIB_DES} -lroken ${LIB_CRYPT} -lcom_err)
 #  AC_CHECK_LIB(roken,base64_decode,gss_impl="heimdal",, $LIB_CRYPT)
 
   if test -d ${gssapi}; then
@@ -641,7 +673,7 @@
   if test "$gss_impl" = mit; then
      GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
   elif test "$gss_impl" = "heimdal"; then
-     GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -ldes -lasn1 -lroken ${LIB_CRYPT} -lcom_err"
+     GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 ${LIB_DES} -lasn1 -lroken ${LIB_CRYPT} -lcom_err"
   else
      gssapi="no"
      AC_WARN(Disabling GSSAPI)
