summaryrefslogtreecommitdiff
path: root/security/cyrus-sasl/files/patch-ab
blob: acf1e6da4495b9e54c2520e4f71adf3e9c7ca7ea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
--- 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)