sasl/sasl.patch

Tue, 29 Mar 2011 19:46:35 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 29 Mar 2011 19:46:35 +0200
changeset 333
4ecfc2416fd8
child 727
914043724d20
permissions
-rw-r--r--

Correct and introduce slightly needed logic, leading to better reliability:
Update bash(1) patch logic, correct several buildconf make location
errors, correct failed bash(1) configure invocation, enable perl(1) to
build with unpathed make(1), patch rpm(1) to correctly link with
internal libdb(3), and lastly unsuscessfully try to reorganize rpm patch
hunks.

michael@144 1 Index: configure
michael@144 2 --- configure.orig 2006-05-18 21:30:13 +0200
michael@144 3 +++ configure 2008-12-25 18:48:51 +0100
michael@144 4 @@ -3944,9 +3944,6 @@
michael@144 5
michael@144 6 fi
michael@144 7
michael@144 8 -if test "$ac_cv_c_compiler_gnu" = yes; then
michael@144 9 - CFLAGS="-Wall -W ${CFLAGS}"
michael@144 10 -fi
michael@144 11
michael@144 12
michael@144 13 # Check whether --with-purecov or --without-purecov was given.
michael@144 14 @@ -5125,7 +5122,7 @@
michael@144 15 fi
michael@144 16
michael@144 17 saved_LIBS=$LIBS
michael@144 18 - 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
michael@144 19 + for dbname in db
michael@144 20 do
michael@144 21 LIBS="$saved_LIBS -l$dbname"
michael@144 22 cat >conftest.$ac_ext <<_ACEOF
michael@144 23 @@ -5205,6 +5202,54 @@
michael@144 24 fi
michael@144 25 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
michael@144 26 fi
michael@144 27 + if test "$dblib" = "no"; then
michael@144 28 + cat >conftest.$ac_ext <<_ACEOF
michael@144 29 +/* confdefs.h. */
michael@144 30 +_ACEOF
michael@144 31 +cat confdefs.h >>conftest.$ac_ext
michael@144 32 +cat >>conftest.$ac_ext <<_ACEOF
michael@144 33 +/* end confdefs.h. */
michael@144 34 +#include <db.h>
michael@144 35 +int
michael@144 36 +main ()
michael@144 37 +{
michael@144 38 +dbm_open(NULL, 0, 0, 0, NULL, NULL, NULL);
michael@144 39 + ;
michael@144 40 + return 0;
michael@144 41 +}
michael@144 42 +_ACEOF
michael@144 43 +rm -f conftest.$ac_objext conftest$ac_exeext
michael@144 44 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
michael@144 45 + (eval $ac_link) 2>conftest.er1
michael@144 46 + ac_status=$?
michael@144 47 + grep -v '^ *+' conftest.er1 >conftest.err
michael@144 48 + rm -f conftest.er1
michael@144 49 + cat conftest.err >&5
michael@144 50 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
michael@144 51 + (exit $ac_status); } &&
michael@144 52 + { ac_try='test -z "$ac_c_werror_flag"
michael@144 53 + || test ! -s conftest.err'
michael@144 54 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
michael@144 55 + (eval $ac_try) 2>&5
michael@144 56 + ac_status=$?
michael@144 57 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
michael@144 58 + (exit $ac_status); }; } &&
michael@144 59 + { ac_try='test -s conftest$ac_exeext'
michael@144 60 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
michael@144 61 + (eval $ac_try) 2>&5
michael@144 62 + ac_status=$?
michael@144 63 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
michael@144 64 + (exit $ac_status); }; }; then
michael@144 65 + BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db
michael@144 66 +else
michael@144 67 + echo "$as_me: failed program was:" >&5
michael@144 68 +sed 's/^/| /' conftest.$ac_ext >&5
michael@144 69 +
michael@144 70 +dblib="no"
michael@144 71 +fi
michael@144 72 +rm -f conftest.err conftest.$ac_objext \
michael@144 73 + conftest$ac_exeext conftest.$ac_ext
michael@144 74 + fi
michael@144 75 LIBS=$saved_LIBS
michael@144 76
michael@144 77 LDFLAGS=$BDB_SAVE_LDFLAGS
michael@144 78 @@ -5882,7 +5927,7 @@
michael@144 79 fi
michael@144 80
michael@144 81 saved_LIBS=$LIBS
michael@144 82 - 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
michael@144 83 + for dbname in db
michael@144 84 do
michael@144 85 LIBS="$saved_LIBS -l$dbname"
michael@144 86 cat >conftest.$ac_ext <<_ACEOF
michael@144 87 @@ -5962,6 +6007,54 @@
michael@144 88 fi
michael@144 89 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
michael@144 90 fi
michael@144 91 + if test "$dblib" = "no"; then
michael@144 92 + cat >conftest.$ac_ext <<_ACEOF
michael@144 93 +/* confdefs.h. */
michael@144 94 +_ACEOF
michael@144 95 +cat confdefs.h >>conftest.$ac_ext
michael@144 96 +cat >>conftest.$ac_ext <<_ACEOF
michael@144 97 +/* end confdefs.h. */
michael@144 98 +#include <db.h>
michael@144 99 +int
michael@144 100 +main ()
michael@144 101 +{
michael@144 102 +dbm_open(NULL, 0, 0, 0, NULL, NULL, NULL);
michael@144 103 + ;
michael@144 104 + return 0;
michael@144 105 +}
michael@144 106 +_ACEOF
michael@144 107 +rm -f conftest.$ac_objext conftest$ac_exeext
michael@144 108 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
michael@144 109 + (eval $ac_link) 2>conftest.er1
michael@144 110 + ac_status=$?
michael@144 111 + grep -v '^ *+' conftest.er1 >conftest.err
michael@144 112 + rm -f conftest.er1
michael@144 113 + cat conftest.err >&5
michael@144 114 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
michael@144 115 + (exit $ac_status); } &&
michael@144 116 + { ac_try='test -z "$ac_c_werror_flag"
michael@144 117 + || test ! -s conftest.err'
michael@144 118 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
michael@144 119 + (eval $ac_try) 2>&5
michael@144 120 + ac_status=$?
michael@144 121 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
michael@144 122 + (exit $ac_status); }; } &&
michael@144 123 + { ac_try='test -s conftest$ac_exeext'
michael@144 124 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
michael@144 125 + (eval $ac_try) 2>&5
michael@144 126 + ac_status=$?
michael@144 127 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
michael@144 128 + (exit $ac_status); }; }; then
michael@144 129 + BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db
michael@144 130 +else
michael@144 131 + echo "$as_me: failed program was:" >&5
michael@144 132 +sed 's/^/| /' conftest.$ac_ext >&5
michael@144 133 +
michael@144 134 +dblib="no"
michael@144 135 +fi
michael@144 136 +rm -f conftest.err conftest.$ac_objext \
michael@144 137 + conftest$ac_exeext conftest.$ac_ext
michael@144 138 + fi
michael@144 139 LIBS=$saved_LIBS
michael@144 140
michael@144 141 LDFLAGS=$BDB_SAVE_LDFLAGS
michael@144 142 @@ -12005,20 +12098,20 @@
michael@144 143 fi
michael@144 144
michael@144 145 LIB_SQLITE_DIR=$LIB_SQLITE
michael@144 146 - LIB_SQLITE="$LIB_SQLITE -lsqlite"
michael@144 147 + LIB_SQLITE="$LIB_SQLITE -lsqlite3"
michael@144 148
michael@144 149 if test -d ${with_sqlite}/include; then
michael@144 150 CPPFLAGS="${CPPFLAGS} -I${with_sqlite}/include"
michael@144 151 else
michael@144 152 CPPFLAGS="${CPPFLAGS} -I${with_sqlite}"
michael@144 153 fi
michael@144 154 - echo "$as_me:$LINENO: checking for sqlite_open in -lsqlite" >&5
michael@144 155 -echo $ECHO_N "checking for sqlite_open in -lsqlite... $ECHO_C" >&6
michael@144 156 + echo "$as_me:$LINENO: checking for sqlite3_open in -lsqlite3" >&5
michael@144 157 +echo $ECHO_N "checking for sqlite3_open in -lsqlite3... $ECHO_C" >&6
michael@144 158 if test "${ac_cv_lib_sqlite_sqlite_open+set}" = set; then
michael@144 159 echo $ECHO_N "(cached) $ECHO_C" >&6
michael@144 160 else
michael@144 161 ac_check_lib_save_LIBS=$LIBS
michael@144 162 -LIBS="-lsqlite $LIB_SQLITE_DIR $LIBS"
michael@144 163 +LIBS="-lsqlite3 $LIB_SQLITE_DIR $LIBS"
michael@144 164 cat >conftest.$ac_ext <<_ACEOF
michael@144 165 #line $LINENO "configure"
michael@144 166 /* confdefs.h. */
michael@144 167 @@ -12033,11 +12126,11 @@
michael@144 168 #endif
michael@144 169 /* We use char because int might match the return type of a gcc2
michael@144 170 builtin and then its argument prototype would still apply. */
michael@144 171 -char sqlite_open ();
michael@144 172 +char sqlite3_open ();
michael@144 173 int
michael@144 174 main ()
michael@144 175 {
michael@144 176 -sqlite_open ();
michael@144 177 +sqlite3_open ();
michael@144 178 ;
michael@144 179 return 0;
michael@144 180 }
michael@144 181 Index: lib/saslint.h
michael@144 182 --- lib/saslint.h.orig 2006-04-18 22:25:45 +0200
michael@144 183 +++ lib/saslint.h 2008-12-25 18:48:51 +0100
michael@144 184 @@ -109,8 +109,6 @@
michael@144 185 const char *appname;
michael@144 186 } sasl_global_callbacks_t;
michael@144 187
michael@144 188 -extern sasl_global_callbacks_t global_callbacks;
michael@144 189 -
michael@144 190 typedef struct _sasl_external_properties
michael@144 191 {
michael@144 192 sasl_ssf_t ssf;
michael@144 193 Index: lib/server.c
michael@144 194 --- lib/server.c.orig 2006-05-17 18:46:13 +0200
michael@144 195 +++ lib/server.c 2008-12-25 18:48:51 +0100
michael@144 196 @@ -95,7 +95,7 @@
michael@144 197
michael@144 198 static mech_list_t *mechlist = NULL; /* global var which holds the list */
michael@144 199
michael@144 200 -sasl_global_callbacks_t global_callbacks;
michael@144 201 +static sasl_global_callbacks_t global_callbacks;
michael@144 202
michael@144 203 /* set the password for a user
michael@144 204 * conn -- SASL connection
michael@144 205 @@ -477,16 +477,8 @@
michael@144 206 return SASL_CONTINUE;
michael@144 207 }
michael@144 208
michael@144 209 - /* get the path to the config file */
michael@144 210 - getconfpath_cb = _sasl_find_getconfpath_callback( global_callbacks.callbacks );
michael@144 211 - if (getconfpath_cb == NULL) return SASL_BADPARAM;
michael@144 212 -
michael@144 213 - /* getconfpath_cb->proc MUST be a sasl_getconfpath_t; if only C had a type
michael@144 214 - system */
michael@144 215 - result = ((sasl_getconfpath_t *)(getconfpath_cb->proc))(getconfpath_cb->context,
michael@144 216 - &path_to_config);
michael@144 217 - if (result != SASL_OK) goto done;
michael@144 218 - if (path_to_config == NULL) path_to_config = "";
michael@144 219 + result = SASL_OK;
michael@144 220 + path_to_config = "@l_sysconfdir@";
michael@144 221
michael@144 222 next = path_to_config;
michael@144 223
michael@144 224 Index: plugins/sql.c
michael@144 225 --- plugins/sql.c.orig 2006-04-07 15:42:16 +0200
michael@144 226 +++ plugins/sql.c 2008-12-25 21:57:47 +0100
michael@144 227 @@ -150,9 +150,15 @@
michael@144 228 return -1;
michael@144 229 }
michael@144 230 if (value) {
michael@144 231 - strncpy(value, row[0], size-2);
michael@144 232 - value[size-1] = '\0';
michael@144 233 - if (value_len) *value_len = strlen(value);
michael@144 234 + unsigned long *col_lens;
michael@144 235 + size_t col_len;
michael@144 236 + col_lens = mysql_fetch_lengths(result);
michael@144 237 + col_len = (size_t)col_lens[0];
michael@144 238 + if (col_len > size - 1);
michael@144 239 + col_len = size - 1;
michael@144 240 + memcpy(value, row[0], col_len);
michael@144 241 + value[col_len] = '\0';
michael@144 242 + if (value_len) *value_len = col_len;
michael@144 243 }
michael@144 244
michael@144 245 /* free result */
michael@144 246 @@ -277,7 +283,7 @@
michael@144 247 ExecStatusType status;
michael@144 248
michael@144 249 /* run the query */
michael@144 250 - result = PQexec(conn, cmd);
michael@144 251 + result = PQexecParams(conn, cmd, 0, NULL, NULL, NULL, NULL, 1);
michael@144 252
michael@144 253 /* check the status */
michael@144 254 status = PQresultStatus(result);
michael@144 255 @@ -298,6 +304,7 @@
michael@144 256 row_count = PQntuples(result);
michael@144 257 if (!row_count) {
michael@144 258 /* umm nothing found */
michael@144 259 + utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: no result found for query %s", cmd);
michael@144 260 utils->log(NULL, SASL_LOG_NOTE, "sql plugin: no result found");
michael@144 261 PQclear(result);
michael@144 262 return -1;
michael@144 263 @@ -310,9 +317,26 @@
michael@144 264 /* now get the result set value and value_len */
michael@144 265 /* we only fetch one because we don't care about the rest */
michael@144 266 if (value) {
michael@144 267 - strncpy(value, PQgetvalue(result,0,0), size-2);
michael@144 268 - value[size-1] = '\0';
michael@144 269 - if (value_len) *value_len = strlen(value);
michael@144 270 + if (PQgetisnull(result, 0, 0)) {
michael@144 271 + size_t col_len;
michael@144 272 + col_len = strlen(SQL_NULL_VALUE);
michael@144 273 + if (col_len > size - 1)
michael@144 274 + col_len = size - 1;
michael@144 275 + memcpy(value, SQL_NULL_VALUE, col_len);
michael@144 276 + value[col_len] = '\0';
michael@144 277 + if (value_len)
michael@144 278 + *value_len = col_len;
michael@144 279 + }
michael@144 280 + else {
michael@144 281 + size_t col_len;
michael@144 282 + col_len = (size_t)PQgetlength(result, 0, 0);
michael@144 283 + if (col_len > size - 1);
michael@144 284 + col_len = size - 1;
michael@144 285 + memcpy(value, PQgetvalue(result, 0, 0), col_len);
michael@144 286 + value[col_len] = '\0';
michael@144 287 + if (value_len)
michael@144 288 + *value_len = col_len;
michael@144 289 + }
michael@144 290 }
michael@144 291
michael@144 292 /* free result */
michael@144 293 @@ -342,7 +366,7 @@
michael@144 294 #endif /* HAVE_PGSQL */
michael@144 295
michael@144 296 #ifdef HAVE_SQLITE
michael@144 297 -#include <sqlite.h>
michael@144 298 +#include <sqlite3.h>
michael@144 299
michael@144 300 static void *_sqlite_open(char *host __attribute__((unused)),
michael@144 301 char *port __attribute__((unused)),
michael@144 302 @@ -352,21 +376,23 @@
michael@144 303 const char *database, const sasl_utils_t *utils)
michael@144 304 {
michael@144 305 int rc;
michael@144 306 - sqlite *db;
michael@144 307 + sqlite3 *db;
michael@144 308 char *zErrMsg = NULL;
michael@144 309
michael@144 310 - db = sqlite_open(database, 0, &zErrMsg);
michael@144 311 - if (db == NULL) {
michael@144 312 + rc = sqlite3_open(database, &db);
michael@144 313 + if (rc != SQLITE_OK) {
michael@144 314 + zErrMsg = (char *)sqlite3_errmsg(db);
michael@144 315 utils->log(NULL, SASL_LOG_ERR, "sql plugin: %s", zErrMsg);
michael@144 316 - sqlite_freemem (zErrMsg);
michael@144 317 + sqlite3_free (zErrMsg);
michael@144 318 + sqlite3_close (db);
michael@144 319 return NULL;
michael@144 320 }
michael@144 321
michael@144 322 - rc = sqlite_exec(db, "PRAGMA empty_result_callbacks = ON", NULL, NULL, &zErrMsg);
michael@144 323 + rc = sqlite3_exec(db, "PRAGMA empty_result_callbacks = ON", NULL, NULL, &zErrMsg);
michael@144 324 if (rc != SQLITE_OK) {
michael@144 325 utils->log(NULL, SASL_LOG_ERR, "sql plugin: %s", zErrMsg);
michael@144 326 - sqlite_freemem (zErrMsg);
michael@144 327 - sqlite_close(db);
michael@144 328 + sqlite3_free (zErrMsg);
michael@144 329 + sqlite3_close(db);
michael@144 330 return NULL;
michael@144 331 }
michael@144 332
michael@144 333 @@ -388,62 +414,67 @@
michael@144 334 return 0;
michael@144 335 }
michael@144 336
michael@144 337 -static int sqlite_my_callback(void *pArg, int argc __attribute__((unused)),
michael@144 338 - char **argv,
michael@144 339 - char **columnNames __attribute__((unused)))
michael@144 340 -{
michael@144 341 - char **result = (char**)pArg;
michael@144 342 -
michael@144 343 - if (argv == NULL) {
michael@144 344 - *result = NULL; /* no record */
michael@144 345 - } else if (argv[0] == NULL) {
michael@144 346 - *result = strdup(SQL_NULL_VALUE); /* NULL IS SQL_NULL_VALUE */
michael@144 347 - } else {
michael@144 348 - *result = strdup(argv[0]);
michael@144 349 - }
michael@144 350 -
michael@144 351 - return /*ABORT*/1;
michael@144 352 -}
michael@144 353 -
michael@144 354 static int _sqlite_exec(void *db, const char *cmd, char *value, size_t size,
michael@144 355 size_t *value_len, const sasl_utils_t *utils)
michael@144 356 {
michael@144 357 int rc;
michael@144 358 - char *result = NULL;
michael@144 359 - char *zErrMsg = NULL;
michael@144 360 + sqlite3_stmt *stmt;
michael@144 361 + const char *todo;
michael@144 362 + size_t len;
michael@144 363
michael@144 364 - rc = sqlite_exec((sqlite*)db, cmd, sqlite_my_callback, (void*)&result, &zErrMsg);
michael@144 365 - if (rc != SQLITE_OK && rc != SQLITE_ABORT) {
michael@144 366 - utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: %s ", zErrMsg);
michael@144 367 - sqlite_freemem (zErrMsg);
michael@144 368 + rc = sqlite3_prepare((sqlite3*)db, cmd, (int)strlen(cmd), &stmt, &todo);
michael@144 369 + if (rc != SQLITE_OK) {
michael@144 370 + utils->log(NULL, SASL_LOG_DEBUG, "sql plugin error: %s", sqlite3_errmsg((sqlite3*)db));
michael@144 371 return -1;
michael@144 372 }
michael@144 373 -
michael@144 374 - if (rc == SQLITE_OK) {
michael@144 375 + rc = sqlite3_step(stmt);
michael@144 376 + if (rc != SQLITE_ROW && rc != SQLITE_DONE) {
michael@144 377 + utils->log(NULL, SASL_LOG_DEBUG, "sql plugin error: %s", sqlite3_errmsg((sqlite3*)db));
michael@144 378 + sqlite3_finalize(stmt);
michael@144 379 + return -1;
michael@144 380 + }
michael@144 381 + if (sqlite3_column_count(stmt) == 0) {
michael@144 382 /* no results (BEGIN, COMMIT, DELETE, INSERT, UPDATE) */
michael@144 383 + sqlite3_finalize(stmt);
michael@144 384 return 0;
michael@144 385 }
michael@144 386 -
michael@144 387 - if (result == NULL) {
michael@144 388 + if (rc == SQLITE_DONE) {
michael@144 389 /* umm nothing found */
michael@144 390 + utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: no result found for query %s", cmd);
michael@144 391 utils->log(NULL, SASL_LOG_NOTE, "sql plugin: no result found");
michael@144 392 + sqlite3_finalize(stmt);
michael@144 393 return -1;
michael@144 394 }
michael@144 395 -
michael@144 396 - /* XXX: Duplication cannot be found by this method. */
michael@144 397 -
michael@144 398 - /* now get the result set value and value_len */
michael@144 399 - /* we only fetch one because we don't care about the rest */
michael@144 400 - if (value) {
michael@144 401 - strncpy(value, result, size - 2);
michael@144 402 - value[size - 1] = '\0';
michael@144 403 - if (value_len) {
michael@144 404 - *value_len = strlen(value);
michael@144 405 - }
michael@144 406 + rc = sqlite3_column_type(stmt, 0);
michael@144 407 + switch (rc) {
michael@144 408 + case SQLITE_NULL: {
michael@144 409 + len = strlen(SQL_NULL_VALUE);
michael@144 410 + if (len > size - 1)
michael@144 411 + len = size - 1;
michael@144 412 + memcpy(value, SQL_NULL_VALUE, len);
michael@144 413 + value[len] = '\0';
michael@144 414 + if (value_len)
michael@144 415 + *value_len = len;
michael@144 416 + break;
michael@144 417 + }
michael@144 418 + default: {
michael@144 419 + const void *blob = sqlite3_column_blob(stmt, 0);
michael@144 420 + len = (size_t)sqlite3_column_bytes(stmt, 0);
michael@144 421 + if (len > size - 1)
michael@144 422 + len = size - 1;
michael@144 423 + memcpy(value, blob, len);
michael@144 424 + value[len] = '\0';
michael@144 425 + if (value_len)
michael@144 426 + *value_len = len;
michael@144 427 + break;
michael@144 428 + }
michael@144 429 }
michael@144 430 -
michael@144 431 - /* free result */
michael@144 432 - free(result);
michael@144 433 + rc = sqlite3_step(stmt);
michael@144 434 + if (rc != SQLITE_DONE) {
michael@144 435 + utils->log(NULL, SASL_LOG_WARN,
michael@144 436 + "sql plugin: found duplicate row for query %s", cmd);
michael@144 437 + }
michael@144 438 + sqlite3_finalize(stmt);
michael@144 439 return 0;
michael@144 440 }
michael@144 441
michael@144 442 @@ -464,7 +495,7 @@
michael@144 443
michael@144 444 static void _sqlite_close(void *db)
michael@144 445 {
michael@144 446 - sqlite_close((sqlite*)db);
michael@144 447 + sqlite3_close((sqlite3 *)db);
michael@144 448 }
michael@144 449 #endif /* HAVE_SQLITE */
michael@144 450
michael@144 451 @@ -771,7 +802,7 @@
michael@144 452 settings = (sql_settings_t *) glob_context;
michael@144 453
michael@144 454 sparams->utils->log(NULL, SASL_LOG_DEBUG,
michael@144 455 - "sql plugin Parse the username %s\n", user);
michael@144 456 + "sql plugin parse the username %s\n", user);
michael@144 457
michael@144 458 user_buf = sparams->utils->malloc(ulen + 1);
michael@144 459 if (!user_buf) goto done;
michael@144 460 @@ -849,7 +880,7 @@
michael@144 461 }
michael@144 462
michael@144 463 sparams->utils->log(NULL, SASL_LOG_DEBUG,
michael@144 464 - "sql plugin create statement from %s %s %s\n",
michael@144 465 + "sql plugin create statement from name=%s user=%s realm=%s\n",
michael@144 466 realname, escap_userid, escap_realm);
michael@144 467
michael@144 468 /* create a statement that we will use */
michael@144 469 @@ -864,9 +895,15 @@
michael@144 470 /* run the query */
michael@144 471 if (!settings->sql_engine->sql_exec(conn, query, value, sizeof(value),
michael@144 472 &value_len, sparams->utils)) {
michael@144 473 + sparams->utils->log(NULL, SASL_LOG_DEBUG,
michael@144 474 + "sql plugin query successful\n");
michael@144 475 sparams->utils->prop_set(sparams->propctx, cur->name,
michael@144 476 value, value_len);
michael@144 477 }
michael@144 478 + else {
michael@144 479 + sparams->utils->log(NULL, SASL_LOG_DEBUG,
michael@144 480 + "sql plugin query failed\n");
michael@144 481 + }
michael@144 482
michael@144 483 sparams->utils->free(query);
michael@144 484 }
michael@144 485 Index: sample/client.c
michael@144 486 --- sample/client.c.orig 2004-03-09 18:35:32 +0100
michael@144 487 +++ sample/client.c 2008-12-25 18:48:51 +0100
michael@144 488 @@ -133,13 +133,11 @@
michael@144 489 return SASL_OK;
michael@144 490 }
michael@144 491
michael@144 492 -#ifndef HAVE_GETPASSPHRASE
michael@144 493 static char *
michael@144 494 -getpassphrase(const char *prompt)
michael@144 495 +my_getpassphrase(const char *prompt)
michael@144 496 {
michael@144 497 return getpass(prompt);
michael@144 498 }
michael@144 499 -#endif /* ! HAVE_GETPASSPHRASE */
michael@144 500
michael@144 501 static int
michael@144 502 getsecret(sasl_conn_t *conn,
michael@144 503 @@ -155,7 +153,7 @@
michael@144 504 if (! conn || ! psecret || id != SASL_CB_PASS)
michael@144 505 return SASL_BADPARAM;
michael@144 506
michael@144 507 - password = getpassphrase("Password: ");
michael@144 508 + password = my_getpassphrase("Password: ");
michael@144 509 if (! password)
michael@144 510 return SASL_FAIL;
michael@144 511
michael@144 512 Index: sample/sample-client.c
michael@144 513 --- sample/sample-client.c.orig 2004-10-26 13:14:33 +0200
michael@144 514 +++ sample/sample-client.c 2008-12-25 18:48:51 +0100
michael@144 515 @@ -244,13 +244,11 @@
michael@144 516 return SASL_OK;
michael@144 517 }
michael@144 518
michael@144 519 -#ifndef HAVE_GETPASSPHRASE
michael@144 520 static char *
michael@144 521 -getpassphrase(const char *prompt)
michael@144 522 +my_getpassphrase(const char *prompt)
michael@144 523 {
michael@144 524 return getpass(prompt);
michael@144 525 }
michael@144 526 -#endif /* ! HAVE_GETPASSPHRASE */
michael@144 527
michael@144 528 static int
michael@144 529 getsecret(sasl_conn_t *conn,
michael@144 530 @@ -264,7 +262,7 @@
michael@144 531 if (! conn || ! psecret || id != SASL_CB_PASS)
michael@144 532 return SASL_BADPARAM;
michael@144 533
michael@144 534 - password = getpassphrase("Password: ");
michael@144 535 + password = my_getpassphrase("Password: ");
michael@144 536 if (! password)
michael@144 537 return SASL_FAIL;
michael@144 538
michael@144 539 @@ -307,7 +305,7 @@
michael@144 540 fflush(stdout);
michael@144 541
michael@144 542 if (id == SASL_CB_ECHOPROMPT) {
michael@144 543 - char *original = getpassphrase("");
michael@144 544 + char *original = my_getpassphrase("");
michael@144 545 if (! original)
michael@144 546 return SASL_FAIL;
michael@144 547 if (*original)
michael@144 548 Index: saslauthd/Makefile.am
michael@144 549 --- saslauthd/Makefile.am.orig 2006-05-17 18:46:17 +0200
michael@144 550 +++ saslauthd/Makefile.am 2008-12-25 18:48:51 +0100
michael@144 551 @@ -36,4 +36,4 @@
michael@144 552
michael@144 553 install-data-local: saslauthd.8
michael@144 554 $(mkinstalldirs) $(DESTDIR)$(mandir)/man8
michael@144 555 - $(INSTALL_DATA) $(srcdir)/saslauthd.8 $(DESTDIR)$(mandir)/man8/saslauthd.8
michael@144 556 + $(INSTALL_DATA) $(srcdir)/saslauthd.mdoc $(DESTDIR)$(mandir)/man8/saslauthd.8
michael@144 557 Index: saslauthd/Makefile.in
michael@144 558 --- saslauthd/Makefile.in.orig 2008-12-25 18:48:51 +0100
michael@144 559 +++ saslauthd/Makefile.in 2008-12-25 18:48:51 +0100
michael@144 560 @@ -621,7 +621,7 @@
michael@144 561
michael@144 562 install-data-local: saslauthd.8
michael@144 563 $(mkinstalldirs) $(DESTDIR)$(mandir)/man8
michael@144 564 - $(INSTALL_DATA) $(srcdir)/saslauthd.8 $(DESTDIR)$(mandir)/man8/saslauthd.8
michael@144 565 + $(INSTALL_DATA) $(srcdir)/saslauthd.mdoc $(DESTDIR)$(mandir)/man8/saslauthd.8
michael@144 566 # Tell versions [3.59,3.63) of GNU make to not export all variables.
michael@144 567 # Otherwise a system limit (for SysV at least) may be exceeded.
michael@144 568 .NOEXPORT:
michael@144 569 Index: saslauthd/lak.c
michael@144 570 --- saslauthd/lak.c.orig 2005-05-15 07:49:51 +0200
michael@144 571 +++ saslauthd/lak.c 2008-12-25 18:48:51 +0100
michael@144 572 @@ -47,6 +47,7 @@
michael@144 573 #include <crypt.h>
michael@144 574 #endif
michael@144 575
michael@144 576 +#include "saslauthd.h" /* get strlcpy macro for non-BSD; get HAVE_OPENSSL from config.h */
michael@144 577 #ifdef HAVE_OPENSSL
michael@144 578 #ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT
michael@144 579 #define OPENSSL_DISABLE_OLD_DES_SUPPORT
michael@144 580 @@ -57,7 +58,7 @@
michael@144 581
michael@144 582 #include <ldap.h>
michael@144 583 #include <lber.h>
michael@144 584 -#include <sasl.h>
michael@144 585 +#include "sasl.h"
michael@144 586 #include "lak.h"
michael@144 587
michael@144 588 typedef struct lak_auth_method {
michael@144 589 Index: utils/pluginviewer.c
michael@144 590 --- utils/pluginviewer.c.orig 2006-05-17 18:46:17 +0200
michael@144 591 +++ utils/pluginviewer.c 2008-12-25 18:48:51 +0100
michael@144 592 @@ -536,7 +536,7 @@
michael@144 593 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"
michael@144 594 "\t-a\tlist auxprop plugins\n"
michael@144 595 "\t-s\tlist server authentication (SASL) plugins\n"
michael@144 596 - "\t-s\tlist client authentication (SASL) plugins\n"
michael@144 597 + "\t-c\tlist client authentication (SASL) plugins\n"
michael@144 598 "\t-b ...\t#bits to use for encryption\n"
michael@144 599 "\t\tmin=N\tminumum #bits to use (1 => integrity)\n"
michael@144 600 "\t\tmax=N\tmaximum #bits to use\n"

mercurial