sasl/sasl.patch

changeset 599
9d79786fbc64
parent 598
240aa8fdd538
child 600
00bfe519c9d3
     1.1 --- a/sasl/sasl.patch	Tue Aug 28 18:52:20 2012 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,600 +0,0 @@
     1.4 -Index: configure
     1.5 ---- configure.orig	2006-05-18 21:30:13 +0200
     1.6 -+++ configure	2008-12-25 18:48:51 +0100
     1.7 -@@ -3944,9 +3944,6 @@
     1.8 - 
     1.9 - fi
    1.10 - 
    1.11 --if test "$ac_cv_c_compiler_gnu" = yes; then
    1.12 --  CFLAGS="-Wall -W ${CFLAGS}"
    1.13 --fi
    1.14 - 
    1.15 - 
    1.16 - # Check whether --with-purecov or --without-purecov was given.
    1.17 -@@ -5125,7 +5122,7 @@
    1.18 - 	fi
    1.19 - 
    1.20 - 	saved_LIBS=$LIBS
    1.21 --        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
    1.22 -+        for dbname in db
    1.23 -           do
    1.24 - 	    LIBS="$saved_LIBS -l$dbname"
    1.25 - 	    cat >conftest.$ac_ext <<_ACEOF
    1.26 -@@ -5205,6 +5202,54 @@
    1.27 - fi
    1.28 - rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
    1.29 -         fi
    1.30 -+        if test "$dblib" = "no"; then
    1.31 -+	    cat >conftest.$ac_ext <<_ACEOF
    1.32 -+/* confdefs.h.  */
    1.33 -+_ACEOF
    1.34 -+cat confdefs.h >>conftest.$ac_ext
    1.35 -+cat >>conftest.$ac_ext <<_ACEOF
    1.36 -+/* end confdefs.h.  */
    1.37 -+#include <db.h>
    1.38 -+int
    1.39 -+main ()
    1.40 -+{
    1.41 -+dbm_open(NULL, 0, 0, 0, NULL, NULL, NULL);
    1.42 -+  ;
    1.43 -+  return 0;
    1.44 -+}
    1.45 -+_ACEOF
    1.46 -+rm -f conftest.$ac_objext conftest$ac_exeext
    1.47 -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
    1.48 -+  (eval $ac_link) 2>conftest.er1
    1.49 -+  ac_status=$?
    1.50 -+  grep -v '^ *+' conftest.er1 >conftest.err
    1.51 -+  rm -f conftest.er1
    1.52 -+  cat conftest.err >&5
    1.53 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    1.54 -+  (exit $ac_status); } &&
    1.55 -+	 { ac_try='test -z "$ac_c_werror_flag"
    1.56 -+			 || test ! -s conftest.err'
    1.57 -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
    1.58 -+  (eval $ac_try) 2>&5
    1.59 -+  ac_status=$?
    1.60 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    1.61 -+  (exit $ac_status); }; } &&
    1.62 -+	 { ac_try='test -s conftest$ac_exeext'
    1.63 -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
    1.64 -+  (eval $ac_try) 2>&5
    1.65 -+  ac_status=$?
    1.66 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    1.67 -+  (exit $ac_status); }; }; then
    1.68 -+  BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db
    1.69 -+else
    1.70 -+  echo "$as_me: failed program was:" >&5
    1.71 -+sed 's/^/| /' conftest.$ac_ext >&5
    1.72 -+
    1.73 -+dblib="no"
    1.74 -+fi
    1.75 -+rm -f conftest.err conftest.$ac_objext \
    1.76 -+      conftest$ac_exeext conftest.$ac_ext
    1.77 -+        fi
    1.78 - 	LIBS=$saved_LIBS
    1.79 - 
    1.80 - 	LDFLAGS=$BDB_SAVE_LDFLAGS
    1.81 -@@ -5882,7 +5927,7 @@
    1.82 - 	fi
    1.83 - 
    1.84 - 	saved_LIBS=$LIBS
    1.85 --        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
    1.86 -+        for dbname in db
    1.87 -           do
    1.88 - 	    LIBS="$saved_LIBS -l$dbname"
    1.89 - 	    cat >conftest.$ac_ext <<_ACEOF
    1.90 -@@ -5962,6 +6007,54 @@
    1.91 - fi
    1.92 - rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
    1.93 -         fi
    1.94 -+        if test "$dblib" = "no"; then
    1.95 -+	    cat >conftest.$ac_ext <<_ACEOF
    1.96 -+/* confdefs.h.  */
    1.97 -+_ACEOF
    1.98 -+cat confdefs.h >>conftest.$ac_ext
    1.99 -+cat >>conftest.$ac_ext <<_ACEOF
   1.100 -+/* end confdefs.h.  */
   1.101 -+#include <db.h>
   1.102 -+int
   1.103 -+main ()
   1.104 -+{
   1.105 -+dbm_open(NULL, 0, 0, 0, NULL, NULL, NULL);
   1.106 -+  ;
   1.107 -+  return 0;
   1.108 -+}
   1.109 -+_ACEOF
   1.110 -+rm -f conftest.$ac_objext conftest$ac_exeext
   1.111 -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   1.112 -+  (eval $ac_link) 2>conftest.er1
   1.113 -+  ac_status=$?
   1.114 -+  grep -v '^ *+' conftest.er1 >conftest.err
   1.115 -+  rm -f conftest.er1
   1.116 -+  cat conftest.err >&5
   1.117 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
   1.118 -+  (exit $ac_status); } &&
   1.119 -+	 { ac_try='test -z "$ac_c_werror_flag"
   1.120 -+			 || test ! -s conftest.err'
   1.121 -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   1.122 -+  (eval $ac_try) 2>&5
   1.123 -+  ac_status=$?
   1.124 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
   1.125 -+  (exit $ac_status); }; } &&
   1.126 -+	 { ac_try='test -s conftest$ac_exeext'
   1.127 -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   1.128 -+  (eval $ac_try) 2>&5
   1.129 -+  ac_status=$?
   1.130 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
   1.131 -+  (exit $ac_status); }; }; then
   1.132 -+  BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db
   1.133 -+else
   1.134 -+  echo "$as_me: failed program was:" >&5
   1.135 -+sed 's/^/| /' conftest.$ac_ext >&5
   1.136 -+
   1.137 -+dblib="no"
   1.138 -+fi
   1.139 -+rm -f conftest.err conftest.$ac_objext \
   1.140 -+      conftest$ac_exeext conftest.$ac_ext
   1.141 -+        fi
   1.142 - 	LIBS=$saved_LIBS
   1.143 - 
   1.144 - 	LDFLAGS=$BDB_SAVE_LDFLAGS
   1.145 -@@ -12005,20 +12098,20 @@
   1.146 -      fi
   1.147 - 
   1.148 -      LIB_SQLITE_DIR=$LIB_SQLITE
   1.149 --     LIB_SQLITE="$LIB_SQLITE -lsqlite"
   1.150 -+     LIB_SQLITE="$LIB_SQLITE -lsqlite3"
   1.151 - 
   1.152 -      if test -d ${with_sqlite}/include; then
   1.153 -          CPPFLAGS="${CPPFLAGS} -I${with_sqlite}/include"
   1.154 -      else
   1.155 -          CPPFLAGS="${CPPFLAGS} -I${with_sqlite}"
   1.156 -      fi
   1.157 --       echo "$as_me:$LINENO: checking for sqlite_open in -lsqlite" >&5
   1.158 --echo $ECHO_N "checking for sqlite_open in -lsqlite... $ECHO_C" >&6
   1.159 -+       echo "$as_me:$LINENO: checking for sqlite3_open in -lsqlite3" >&5
   1.160 -+echo $ECHO_N "checking for sqlite3_open in -lsqlite3... $ECHO_C" >&6
   1.161 - if test "${ac_cv_lib_sqlite_sqlite_open+set}" = set; then
   1.162 -   echo $ECHO_N "(cached) $ECHO_C" >&6
   1.163 - else
   1.164 -   ac_check_lib_save_LIBS=$LIBS
   1.165 --LIBS="-lsqlite $LIB_SQLITE_DIR $LIBS"
   1.166 -+LIBS="-lsqlite3 $LIB_SQLITE_DIR $LIBS"
   1.167 - cat >conftest.$ac_ext <<_ACEOF
   1.168 - #line $LINENO "configure"
   1.169 - /* confdefs.h.  */
   1.170 -@@ -12033,11 +12126,11 @@
   1.171 - #endif
   1.172 - /* We use char because int might match the return type of a gcc2
   1.173 -    builtin and then its argument prototype would still apply.  */
   1.174 --char sqlite_open ();
   1.175 -+char sqlite3_open ();
   1.176 - int
   1.177 - main ()
   1.178 - {
   1.179 --sqlite_open ();
   1.180 -+sqlite3_open ();
   1.181 -   ;
   1.182 -   return 0;
   1.183 - }
   1.184 -Index: lib/saslint.h
   1.185 ---- lib/saslint.h.orig	2006-04-18 22:25:45 +0200
   1.186 -+++ lib/saslint.h	2008-12-25 18:48:51 +0100
   1.187 -@@ -109,8 +109,6 @@
   1.188 -   const char *appname;
   1.189 - } sasl_global_callbacks_t;
   1.190 - 
   1.191 --extern sasl_global_callbacks_t global_callbacks;
   1.192 --
   1.193 - typedef struct _sasl_external_properties 
   1.194 - {
   1.195 -     sasl_ssf_t ssf;
   1.196 -Index: lib/server.c
   1.197 ---- lib/server.c.orig	2006-05-17 18:46:13 +0200
   1.198 -+++ lib/server.c	2008-12-25 18:48:51 +0100
   1.199 -@@ -95,7 +95,7 @@
   1.200 - 
   1.201 - static mech_list_t *mechlist = NULL; /* global var which holds the list */
   1.202 - 
   1.203 --sasl_global_callbacks_t global_callbacks;
   1.204 -+static sasl_global_callbacks_t global_callbacks;
   1.205 - 
   1.206 - /* set the password for a user
   1.207 -  *  conn        -- SASL connection
   1.208 -@@ -477,16 +477,8 @@
   1.209 -         return SASL_CONTINUE;
   1.210 -     }
   1.211 - 
   1.212 --    /* get the path to the config file */
   1.213 --    getconfpath_cb = _sasl_find_getconfpath_callback( global_callbacks.callbacks );
   1.214 --    if (getconfpath_cb == NULL) return SASL_BADPARAM;
   1.215 --
   1.216 --    /* getconfpath_cb->proc MUST be a sasl_getconfpath_t; if only C had a type
   1.217 --       system */
   1.218 --    result = ((sasl_getconfpath_t *)(getconfpath_cb->proc))(getconfpath_cb->context,
   1.219 --						    &path_to_config);
   1.220 --    if (result != SASL_OK) goto done;
   1.221 --    if (path_to_config == NULL) path_to_config = "";
   1.222 -+    result = SASL_OK;
   1.223 -+    path_to_config = "@l_sysconfdir@";
   1.224 - 
   1.225 -     next = path_to_config;
   1.226 - 
   1.227 -Index: plugins/sql.c
   1.228 ---- plugins/sql.c.orig	2006-04-07 15:42:16 +0200
   1.229 -+++ plugins/sql.c	2008-12-25 21:57:47 +0100
   1.230 -@@ -150,9 +150,15 @@
   1.231 - 	return -1;
   1.232 -     }
   1.233 -     if (value) {
   1.234 --	strncpy(value, row[0], size-2);
   1.235 --	value[size-1] = '\0';
   1.236 --	if (value_len) *value_len = strlen(value);
   1.237 -+        unsigned long *col_lens;
   1.238 -+        size_t col_len;
   1.239 -+        col_lens = mysql_fetch_lengths(result);
   1.240 -+        col_len = (size_t)col_lens[0];
   1.241 -+        if (col_len > size - 1);
   1.242 -+            col_len = size - 1;
   1.243 -+	memcpy(value, row[0], col_len);
   1.244 -+	value[col_len] = '\0';
   1.245 -+	if (value_len) *value_len = col_len;
   1.246 -     }
   1.247 -     
   1.248 -     /* free result */
   1.249 -@@ -277,7 +283,7 @@
   1.250 -     ExecStatusType status;
   1.251 -     
   1.252 -     /* run the query */
   1.253 --    result = PQexec(conn, cmd);
   1.254 -+    result = PQexecParams(conn, cmd, 0, NULL, NULL, NULL, NULL, 1);
   1.255 -     
   1.256 -     /* check the status */
   1.257 -     status = PQresultStatus(result);
   1.258 -@@ -298,6 +304,7 @@
   1.259 -     row_count = PQntuples(result);
   1.260 -     if (!row_count) {
   1.261 - 	/* umm nothing found */
   1.262 -+	utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: no result found for query %s", cmd);
   1.263 - 	utils->log(NULL, SASL_LOG_NOTE, "sql plugin: no result found");
   1.264 - 	PQclear(result);
   1.265 - 	return -1;
   1.266 -@@ -310,9 +317,26 @@
   1.267 -     /* now get the result set value and value_len */
   1.268 -     /* we only fetch one because we don't care about the rest */
   1.269 -     if (value) {
   1.270 --	strncpy(value, PQgetvalue(result,0,0), size-2);
   1.271 --	value[size-1] = '\0';
   1.272 --	if (value_len) *value_len = strlen(value);
   1.273 -+        if (PQgetisnull(result, 0, 0)) {
   1.274 -+            size_t col_len;
   1.275 -+            col_len = strlen(SQL_NULL_VALUE);
   1.276 -+            if (col_len > size - 1)
   1.277 -+                col_len = size - 1;
   1.278 -+            memcpy(value, SQL_NULL_VALUE, col_len);
   1.279 -+            value[col_len] = '\0';
   1.280 -+            if (value_len)
   1.281 -+                *value_len = col_len;
   1.282 -+        }
   1.283 -+        else {
   1.284 -+            size_t col_len;
   1.285 -+            col_len = (size_t)PQgetlength(result, 0, 0);
   1.286 -+            if (col_len > size - 1);
   1.287 -+                col_len = size - 1;
   1.288 -+            memcpy(value, PQgetvalue(result, 0, 0), col_len);
   1.289 -+            value[col_len] = '\0';
   1.290 -+            if (value_len)
   1.291 -+                *value_len = col_len;
   1.292 -+        }
   1.293 -     }
   1.294 -     
   1.295 -     /* free result */
   1.296 -@@ -342,7 +366,7 @@
   1.297 - #endif /* HAVE_PGSQL */
   1.298 - 
   1.299 - #ifdef HAVE_SQLITE
   1.300 --#include <sqlite.h>
   1.301 -+#include <sqlite3.h>
   1.302 - 
   1.303 - static void *_sqlite_open(char *host __attribute__((unused)),
   1.304 - 			  char *port __attribute__((unused)),
   1.305 -@@ -352,21 +376,23 @@
   1.306 - 			  const char *database, const sasl_utils_t *utils)
   1.307 - {
   1.308 -     int rc;
   1.309 --    sqlite *db;
   1.310 -+    sqlite3 *db;
   1.311 -     char *zErrMsg = NULL;
   1.312 - 
   1.313 --    db = sqlite_open(database, 0, &zErrMsg);
   1.314 --    if (db == NULL) {
   1.315 -+    rc = sqlite3_open(database, &db);
   1.316 -+    if (rc != SQLITE_OK) {
   1.317 -+	zErrMsg = (char *)sqlite3_errmsg(db);
   1.318 - 	utils->log(NULL, SASL_LOG_ERR, "sql plugin: %s", zErrMsg);
   1.319 --	sqlite_freemem (zErrMsg);
   1.320 -+	sqlite3_free (zErrMsg);
   1.321 -+	sqlite3_close (db);
   1.322 - 	return NULL;
   1.323 -     }
   1.324 - 
   1.325 --    rc = sqlite_exec(db, "PRAGMA empty_result_callbacks = ON", NULL, NULL, &zErrMsg);
   1.326 -+    rc = sqlite3_exec(db, "PRAGMA empty_result_callbacks = ON", NULL, NULL, &zErrMsg);
   1.327 -     if (rc != SQLITE_OK) {
   1.328 - 	utils->log(NULL, SASL_LOG_ERR, "sql plugin: %s", zErrMsg);
   1.329 --	sqlite_freemem (zErrMsg);
   1.330 --	sqlite_close(db);
   1.331 -+	sqlite3_free (zErrMsg);
   1.332 -+	sqlite3_close(db);
   1.333 - 	return NULL;
   1.334 -     }
   1.335 - 
   1.336 -@@ -388,62 +414,67 @@
   1.337 -     return 0;
   1.338 - }
   1.339 - 
   1.340 --static int sqlite_my_callback(void *pArg, int argc __attribute__((unused)),
   1.341 --			      char **argv,
   1.342 --			      char **columnNames __attribute__((unused)))
   1.343 --{
   1.344 --    char **result = (char**)pArg;
   1.345 --
   1.346 --    if (argv == NULL) {
   1.347 --	*result = NULL;				/* no record */
   1.348 --    } else if (argv[0] == NULL) {
   1.349 --	*result = strdup(SQL_NULL_VALUE);	/* NULL IS SQL_NULL_VALUE */
   1.350 --    } else {
   1.351 --	*result = strdup(argv[0]);
   1.352 --    }
   1.353 --
   1.354 --    return /*ABORT*/1;
   1.355 --}
   1.356 --
   1.357 - static int _sqlite_exec(void *db, const char *cmd, char *value, size_t size,
   1.358 - 		        size_t *value_len, const sasl_utils_t *utils)
   1.359 - {
   1.360 -     int rc;
   1.361 --    char *result = NULL;
   1.362 --    char *zErrMsg = NULL;
   1.363 -+    sqlite3_stmt *stmt;
   1.364 -+    const char *todo;
   1.365 -+    size_t len;
   1.366 - 
   1.367 --    rc = sqlite_exec((sqlite*)db, cmd, sqlite_my_callback, (void*)&result, &zErrMsg);
   1.368 --    if (rc != SQLITE_OK && rc != SQLITE_ABORT) {
   1.369 --	utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: %s ", zErrMsg);
   1.370 --	sqlite_freemem (zErrMsg);
   1.371 -+    rc = sqlite3_prepare((sqlite3*)db, cmd, (int)strlen(cmd), &stmt, &todo);
   1.372 -+    if (rc != SQLITE_OK) {
   1.373 -+	utils->log(NULL, SASL_LOG_DEBUG, "sql plugin error: %s", sqlite3_errmsg((sqlite3*)db));
   1.374 - 	return -1;
   1.375 -     }
   1.376 --
   1.377 --    if (rc == SQLITE_OK) {
   1.378 -+    rc = sqlite3_step(stmt);
   1.379 -+    if (rc != SQLITE_ROW && rc != SQLITE_DONE) {
   1.380 -+	utils->log(NULL, SASL_LOG_DEBUG, "sql plugin error: %s", sqlite3_errmsg((sqlite3*)db));
   1.381 -+	sqlite3_finalize(stmt);
   1.382 -+	return -1;
   1.383 -+    }
   1.384 -+    if (sqlite3_column_count(stmt) == 0) {
   1.385 - 	/* no results (BEGIN, COMMIT, DELETE, INSERT, UPDATE) */
   1.386 -+	sqlite3_finalize(stmt);
   1.387 - 	return 0;
   1.388 -     }
   1.389 --
   1.390 --    if (result == NULL) {
   1.391 -+    if (rc == SQLITE_DONE) {
   1.392 - 	/* umm nothing found */
   1.393 -+	utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: no result found for query %s", cmd);
   1.394 - 	utils->log(NULL, SASL_LOG_NOTE, "sql plugin: no result found");
   1.395 -+	sqlite3_finalize(stmt);
   1.396 - 	return -1;
   1.397 -     }
   1.398 --
   1.399 --    /* XXX: Duplication cannot be found by this method. */
   1.400 --
   1.401 --    /* now get the result set value and value_len */
   1.402 --    /* we only fetch one because we don't care about the rest */
   1.403 --    if (value) {
   1.404 --	strncpy(value, result, size - 2);
   1.405 --	value[size - 1] = '\0';
   1.406 --	if (value_len) {
   1.407 --	    *value_len = strlen(value);
   1.408 --	}
   1.409 -+    rc = sqlite3_column_type(stmt, 0);
   1.410 -+    switch (rc) {
   1.411 -+        case SQLITE_NULL: {
   1.412 -+            len = strlen(SQL_NULL_VALUE);
   1.413 -+            if (len > size - 1)
   1.414 -+                len = size - 1;
   1.415 -+	    memcpy(value, SQL_NULL_VALUE, len);
   1.416 -+            value[len] = '\0';
   1.417 -+	    if (value_len)
   1.418 -+	        *value_len = len;
   1.419 -+            break;
   1.420 -+        }
   1.421 -+        default: {
   1.422 -+            const void *blob = sqlite3_column_blob(stmt, 0);
   1.423 -+            len = (size_t)sqlite3_column_bytes(stmt, 0);
   1.424 -+            if (len > size - 1)
   1.425 -+                len = size - 1;
   1.426 -+	    memcpy(value, blob, len);
   1.427 -+            value[len] = '\0';
   1.428 -+	    if (value_len)
   1.429 -+	        *value_len = len;
   1.430 -+            break;
   1.431 -+        }
   1.432 -     }
   1.433 --
   1.434 --    /* free result */
   1.435 --    free(result);
   1.436 -+    rc = sqlite3_step(stmt);
   1.437 -+    if (rc != SQLITE_DONE) {
   1.438 -+	utils->log(NULL, SASL_LOG_WARN,
   1.439 -+		   "sql plugin: found duplicate row for query %s", cmd);
   1.440 -+    }
   1.441 -+    sqlite3_finalize(stmt);
   1.442 -     return 0;
   1.443 - }
   1.444 - 
   1.445 -@@ -464,7 +495,7 @@
   1.446 - 
   1.447 - static void _sqlite_close(void *db)
   1.448 - {
   1.449 --    sqlite_close((sqlite*)db);
   1.450 -+    sqlite3_close((sqlite3 *)db);
   1.451 - }
   1.452 - #endif /* HAVE_SQLITE */
   1.453 - 
   1.454 -@@ -771,7 +802,7 @@
   1.455 -     settings = (sql_settings_t *) glob_context;
   1.456 -     
   1.457 -     sparams->utils->log(NULL, SASL_LOG_DEBUG,
   1.458 --			"sql plugin Parse the username %s\n", user);
   1.459 -+			"sql plugin parse the username %s\n", user);
   1.460 -     
   1.461 -     user_buf = sparams->utils->malloc(ulen + 1);
   1.462 -     if (!user_buf) goto done;
   1.463 -@@ -849,7 +880,7 @@
   1.464 - 	}
   1.465 -     
   1.466 - 	sparams->utils->log(NULL, SASL_LOG_DEBUG,
   1.467 --			    "sql plugin create statement from %s %s %s\n",
   1.468 -+			    "sql plugin create statement from name=%s user=%s realm=%s\n",
   1.469 - 			    realname, escap_userid, escap_realm);
   1.470 - 	
   1.471 - 	/* create a statement that we will use */
   1.472 -@@ -864,9 +895,15 @@
   1.473 - 	/* run the query */
   1.474 - 	if (!settings->sql_engine->sql_exec(conn, query, value, sizeof(value),
   1.475 - 					    &value_len, sparams->utils)) {
   1.476 -+            sparams->utils->log(NULL, SASL_LOG_DEBUG,
   1.477 -+                                "sql plugin query successful\n");
   1.478 - 	    sparams->utils->prop_set(sparams->propctx, cur->name,
   1.479 - 				     value, value_len);
   1.480 - 	}
   1.481 -+        else {
   1.482 -+            sparams->utils->log(NULL, SASL_LOG_DEBUG,
   1.483 -+                                "sql plugin query failed\n");
   1.484 -+        }
   1.485 - 	
   1.486 - 	sparams->utils->free(query);
   1.487 -     }
   1.488 -Index: sample/client.c
   1.489 ---- sample/client.c.orig	2004-03-09 18:35:32 +0100
   1.490 -+++ sample/client.c	2008-12-25 18:48:51 +0100
   1.491 -@@ -133,13 +133,11 @@
   1.492 -     return SASL_OK;
   1.493 - }
   1.494 - 
   1.495 --#ifndef HAVE_GETPASSPHRASE
   1.496 - static char *
   1.497 --getpassphrase(const char *prompt)
   1.498 -+my_getpassphrase(const char *prompt)
   1.499 - {
   1.500 -   return getpass(prompt);
   1.501 - }
   1.502 --#endif /* ! HAVE_GETPASSPHRASE */
   1.503 - 
   1.504 - static int
   1.505 - getsecret(sasl_conn_t *conn,
   1.506 -@@ -155,7 +153,7 @@
   1.507 -     if (! conn || ! psecret || id != SASL_CB_PASS)
   1.508 - 	return SASL_BADPARAM;
   1.509 - 
   1.510 --    password = getpassphrase("Password: ");
   1.511 -+    password = my_getpassphrase("Password: ");
   1.512 -     if (! password)
   1.513 - 	return SASL_FAIL;
   1.514 - 
   1.515 -Index: sample/sample-client.c
   1.516 ---- sample/sample-client.c.orig	2004-10-26 13:14:33 +0200
   1.517 -+++ sample/sample-client.c	2008-12-25 18:48:51 +0100
   1.518 -@@ -244,13 +244,11 @@
   1.519 -   return SASL_OK;
   1.520 - }
   1.521 - 
   1.522 --#ifndef HAVE_GETPASSPHRASE
   1.523 - static char *
   1.524 --getpassphrase(const char *prompt)
   1.525 -+my_getpassphrase(const char *prompt)
   1.526 - {
   1.527 -   return getpass(prompt);
   1.528 - }
   1.529 --#endif /* ! HAVE_GETPASSPHRASE */
   1.530 - 
   1.531 - static int
   1.532 - getsecret(sasl_conn_t *conn,
   1.533 -@@ -264,7 +262,7 @@
   1.534 -   if (! conn || ! psecret || id != SASL_CB_PASS)
   1.535 -     return SASL_BADPARAM;
   1.536 - 
   1.537 --  password = getpassphrase("Password: ");
   1.538 -+  password = my_getpassphrase("Password: ");
   1.539 -   if (! password)
   1.540 -     return SASL_FAIL;
   1.541 - 
   1.542 -@@ -307,7 +305,7 @@
   1.543 -   fflush(stdout);
   1.544 -   
   1.545 -   if (id == SASL_CB_ECHOPROMPT) {
   1.546 --    char *original = getpassphrase("");
   1.547 -+    char *original = my_getpassphrase("");
   1.548 -     if (! original)
   1.549 -       return SASL_FAIL;
   1.550 -     if (*original)
   1.551 -Index: saslauthd/Makefile.am
   1.552 ---- saslauthd/Makefile.am.orig	2006-05-17 18:46:17 +0200
   1.553 -+++ saslauthd/Makefile.am	2008-12-25 18:48:51 +0100
   1.554 -@@ -36,4 +36,4 @@
   1.555 - 
   1.556 - install-data-local: saslauthd.8
   1.557 - 	$(mkinstalldirs) $(DESTDIR)$(mandir)/man8
   1.558 --	$(INSTALL_DATA) $(srcdir)/saslauthd.8 $(DESTDIR)$(mandir)/man8/saslauthd.8
   1.559 -+	$(INSTALL_DATA) $(srcdir)/saslauthd.mdoc $(DESTDIR)$(mandir)/man8/saslauthd.8
   1.560 -Index: saslauthd/Makefile.in
   1.561 ---- saslauthd/Makefile.in.orig	2008-12-25 18:48:51 +0100
   1.562 -+++ saslauthd/Makefile.in	2008-12-25 18:48:51 +0100
   1.563 -@@ -621,7 +621,7 @@
   1.564 - 
   1.565 - install-data-local: saslauthd.8
   1.566 - 	$(mkinstalldirs) $(DESTDIR)$(mandir)/man8
   1.567 --	$(INSTALL_DATA) $(srcdir)/saslauthd.8 $(DESTDIR)$(mandir)/man8/saslauthd.8
   1.568 -+	$(INSTALL_DATA) $(srcdir)/saslauthd.mdoc $(DESTDIR)$(mandir)/man8/saslauthd.8
   1.569 - # Tell versions [3.59,3.63) of GNU make to not export all variables.
   1.570 - # Otherwise a system limit (for SysV at least) may be exceeded.
   1.571 - .NOEXPORT:
   1.572 -Index: saslauthd/lak.c
   1.573 ---- saslauthd/lak.c.orig	2005-05-15 07:49:51 +0200
   1.574 -+++ saslauthd/lak.c	2008-12-25 18:48:51 +0100
   1.575 -@@ -47,6 +47,7 @@
   1.576 - #include <crypt.h>
   1.577 - #endif
   1.578 - 
   1.579 -+#include "saslauthd.h" /* get strlcpy macro for non-BSD; get HAVE_OPENSSL from config.h */
   1.580 - #ifdef HAVE_OPENSSL
   1.581 - #ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT
   1.582 - #define OPENSSL_DISABLE_OLD_DES_SUPPORT
   1.583 -@@ -57,7 +58,7 @@
   1.584 - 
   1.585 - #include <ldap.h>
   1.586 - #include <lber.h>
   1.587 --#include <sasl.h>
   1.588 -+#include "sasl.h"
   1.589 - #include "lak.h"
   1.590 - 
   1.591 - typedef struct lak_auth_method {
   1.592 -Index: utils/pluginviewer.c
   1.593 ---- utils/pluginviewer.c.orig	2006-05-17 18:46:17 +0200
   1.594 -+++ utils/pluginviewer.c	2008-12-25 18:48:51 +0100
   1.595 -@@ -536,7 +536,7 @@
   1.596 -         fprintf(stderr, "%s: Usage: %s [-a] [-s] [-c] [-b min=N,max=N] [-e ssf=N,id=ID] [-m MECHS] [-x AUXPROP_MECH] [-f FLAGS] [-i local=IP,remote=IP] [-p PATH]\n"
   1.597 - 	        "\t-a\tlist auxprop plugins\n"
   1.598 -                 "\t-s\tlist server authentication (SASL) plugins\n"
   1.599 --                "\t-s\tlist client authentication (SASL) plugins\n"
   1.600 -+                "\t-c\tlist client authentication (SASL) plugins\n"
   1.601 - 	        "\t-b ...\t#bits to use for encryption\n"
   1.602 - 	        "\t\tmin=N\tminumum #bits to use (1 => integrity)\n"
   1.603 - 	        "\t\tmax=N\tmaximum #bits to use\n"

mercurial