Index: configure
--- configure.orig	2005-05-15 07:58:28 +0200
+++ configure	2005-05-26 20:55:23 +0200
@@ -5124,7 +5124,7 @@
 	fi
 
 	saved_LIBS=$LIBS
-        for dbname in db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
+        for dbname in db
           do
 	    LIBS="$saved_LIBS -l$dbname"
 	    cat >conftest.$ac_ext <<_ACEOF
@@ -5204,6 +5204,54 @@
 fi
 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
         fi
+        if test "$dblib" = "no"; then
+	    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <db.h>
+int
+main ()
+{
+dbm_open(NULL, 0, 0, 0, NULL, NULL, NULL);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+dblib="no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+        fi
 	LIBS=$saved_LIBS
 
 	LDFLAGS=$BDB_SAVE_LDFLAGS
@@ -5881,7 +5929,7 @@
 	fi
 
 	saved_LIBS=$LIBS
-        for dbname in db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
+        for dbname in db
           do
 	    LIBS="$saved_LIBS -l$dbname"
 	    cat >conftest.$ac_ext <<_ACEOF
@@ -5961,6 +6009,54 @@
 fi
 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
         fi
+        if test "$dblib" = "no"; then
+	    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <db.h>
+int
+main ()
+{
+dbm_open(NULL, 0, 0, 0, NULL, NULL, NULL);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+dblib="no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+        fi
 	LIBS=$saved_LIBS
 
 	LDFLAGS=$BDB_SAVE_LDFLAGS
Index: lib/server.c
--- lib/server.c.orig	2004-11-17 15:19:30 +0100
+++ lib/server.c	2005-05-26 20:54:36 +0200
@@ -473,16 +473,8 @@
       return SASL_CONTINUE;
   }
 
-  /* get the path to the plugins; for now the config file will reside there */
-  getpath_cb=_sasl_find_getpath_callback( global_callbacks.callbacks );
-  if (getpath_cb==NULL) return SASL_BADPARAM;
-
-  /* getpath_cb->proc MUST be a sasl_getpath_t; if only c had a type
-     system */
-  result = ((sasl_getpath_t *)(getpath_cb->proc))(getpath_cb->context,
-						  &path_to_config);
-  if (result!=SASL_OK) goto done;
-  if (path_to_config == NULL) path_to_config = "";
+  result = SASL_OK;
+  path_to_config = "@l_sysconfdir@";
 
   c = strchr(path_to_config, PATHS_DELIMITER);
 
Index: saslauthd/lak.c
--- saslauthd/lak.c.orig	2005-05-15 07:55:22 +0200
+++ saslauthd/lak.c	2005-05-26 20:54:36 +0200
@@ -47,6 +47,7 @@
 #include <crypt.h>
 #endif
 
+#include "saslauthd.h" /* get strlcpy macro for non-BSD; get HAVE_OPENSSL from config.h */
 #ifdef HAVE_OPENSSL
 #ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT
 #define OPENSSL_DISABLE_OLD_DES_SUPPORT
@@ -57,7 +58,7 @@
 
 #include <ldap.h>
 #include <lber.h>
-#include <sasl.h>
+#include "sasl.h"
 #include "lak.h"
 
 typedef struct lak_auth_method {
Index: saslauthd/Makefile.in
--- saslauthd/Makefile.in.orig	2005-05-15 07:59:08 +0200
+++ saslauthd/Makefile.in	2005-05-30 14:26:59 +0200
@@ -150,11 +150,11 @@
 saslauthd_DEPENDENCIES = saslauthd-main.o @LTLIBOBJS@
 saslauthd_LDADD = @SASL_KRB_LIB@ \
 		  @GSSAPIBASE_LIBS@ @GSSAPI_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \
-		  @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@
+		  @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@ ../lib/libsasl2.a
 
 
 testsaslauthd_SOURCES = testsaslauthd.c utils.c
-testsaslauthd_LDADD = @LIB_SOCKET@
+testsaslauthd_LDADD = @LIB_SOCKET@ ../lib/libsasl2.a
 
 saslcache_SOURCES = saslcache.c
 
Index: lib/saslint.h
--- lib/saslint.h.orig	2004-11-17 15:19:30 +0100
+++ lib/saslint.h	2005-09-23 14:39:28 +0200
@@ -109,8 +109,6 @@
   const char *appname;
 } sasl_global_callbacks_t;
 
-extern sasl_global_callbacks_t global_callbacks;
-
 typedef struct _sasl_external_properties 
 {
     sasl_ssf_t ssf;
Index: lib/server.c
--- lib/server.c.orig	2005-09-23 14:31:14 +0200
+++ lib/server.c	2005-09-23 14:39:08 +0200
@@ -95,7 +95,7 @@
 
 static mech_list_t *mechlist = NULL; /* global var which holds the list */
 
-sasl_global_callbacks_t global_callbacks;
+static sasl_global_callbacks_t global_callbacks;
 
 /* set the password for a user
  *  conn        -- SASL connection
