You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
608 lines
17 KiB
608 lines
17 KiB
Index: config/ltconfig |
|
--- config/ltconfig.orig 2012-10-12 16:05:48.000000000 +0200 |
|
+++ config/ltconfig 2015-01-01 20:27:41.374381864 +0100 |
|
@@ -1341,10 +1341,6 @@ |
|
fix_srcfile_path='`cygpath -w $srcfile`' |
|
;; |
|
|
|
- freebsd1*) |
|
- ld_shlibs=no |
|
- ;; |
|
- |
|
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor |
|
# support. Future versions do this automatically, but an explicit c++rt0.o |
|
# does not break anything, and helps significantly (at the cost of a little |
|
@@ -1902,10 +1898,6 @@ |
|
lt_cv_dlopen_libs= |
|
;; |
|
|
|
-freebsd1*) |
|
- dynamic_linker=no |
|
- ;; |
|
- |
|
freebsd*) |
|
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` |
|
version_type=freebsd-$objformat |
|
Index: configure |
|
--- configure.orig 2012-11-06 20:21:37.000000000 +0100 |
|
+++ configure 2015-01-01 20:27:03.994080946 +0100 |
|
@@ -5015,9 +5015,6 @@ |
|
|
|
fi |
|
|
|
-if test "$ac_cv_c_compiler_gnu" = yes; then |
|
- CFLAGS="-Wall -W ${CFLAGS}" |
|
-fi |
|
|
|
|
|
# Check whether --with-purecov was given. |
|
@@ -6423,22 +6420,6 @@ |
|
|
|
saved_LIBS=$LIBS |
|
for dbname in ${with_bdb} \ |
|
- db-5.2 db5.2 db52 \ |
|
- db-5.1 db5.2 db51 \ |
|
- db-5.0 db5.2 db50 \ |
|
- db-4.8 db4.8 db48 \ |
|
- db-4.7 db4.7 db47 \ |
|
- db-4.6 db4.6 db46 \ |
|
- db-4.5 db4.5 db45 \ |
|
- 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 db40 db-4 db4 \ |
|
- db-3.3 db3.3 db33 \ |
|
- db-3.2 db3.2 db32 \ |
|
- db-3.1 db3.1 db31 \ |
|
- db-3.0 db3.0 db30 db-3 db3 \ |
|
db |
|
do |
|
LIBS="$saved_LIBS -l$dbname" |
|
@@ -6543,6 +6524,54 @@ |
|
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ |
|
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 |
|
@@ -7250,22 +7279,6 @@ |
|
|
|
saved_LIBS=$LIBS |
|
for dbname in ${with_bdb} \ |
|
- db-5.2 db5.2 db52 \ |
|
- db-5.1 db5.2 db51 \ |
|
- db-5.0 db5.2 db50 \ |
|
- db-4.8 db4.8 db48 \ |
|
- db-4.7 db4.7 db47 \ |
|
- db-4.6 db4.6 db46 \ |
|
- db-4.5 db4.5 db45 \ |
|
- 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 db40 db-4 db4 \ |
|
- db-3.3 db3.3 db33 \ |
|
- db-3.2 db3.2 db32 \ |
|
- db-3.1 db3.1 db31 \ |
|
- db-3.0 db3.0 db30 db-3 db3 \ |
|
db |
|
do |
|
LIBS="$saved_LIBS -l$dbname" |
|
@@ -7370,6 +7383,54 @@ |
|
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ |
|
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 |
|
@@ -14591,9 +14652,9 @@ |
|
$as_echo "$as_me: WARNING: SQLite Library not found" >&2;}; true;; |
|
*) |
|
if test -d ${with_sqlite}/lib; then |
|
- LIB_SQLITE="-L${with_sqlite}/lib -R${with_sqlite}/lib" |
|
+ LIB_SQLITE="-L${with_sqlite}/lib" |
|
else |
|
- LIB_SQLITE="-L${with_sqlite} -R${with_sqlite}" |
|
+ LIB_SQLITE="-L${with_sqlite}" |
|
fi |
|
|
|
LIB_SQLITE_DIR=$LIB_SQLITE |
|
@@ -14721,9 +14782,9 @@ |
|
$as_echo "$as_me: WARNING: SQLite3 Library not found" >&2;}; true;; |
|
*) |
|
if test -d ${with_sqlite3}/lib; then |
|
- LIB_SQLITE3="-L${with_sqlite3}/lib -R${with_sqlite3}/lib" |
|
+ LIB_SQLITE3="-L${with_sqlite3}/lib" |
|
else |
|
- LIB_SQLITE3="-L${with_sqlite3} -R${with_sqlite3}" |
|
+ LIB_SQLITE3="-L${with_sqlite3}" |
|
fi |
|
|
|
LIB_SQLITE3_DIR=$LIB_SQLITE3 |
|
Index: lib/server.c |
|
--- lib/server.c.orig 2012-10-12 16:05:48.000000000 +0200 |
|
+++ lib/server.c 2015-01-01 20:27:04.004094718 +0100 |
|
@@ -610,16 +610,8 @@ |
|
return SASL_CONTINUE; |
|
} |
|
|
|
- /* get the path to the config file */ |
|
- getconfpath_cb = _sasl_find_getconfpath_callback( global_callbacks.callbacks ); |
|
- if (getconfpath_cb == NULL) return SASL_BADPARAM; |
|
- |
|
- /* getconfpath_cb->proc MUST be a sasl_getconfpath_t; if only C had a type |
|
- system */ |
|
- result = ((sasl_getconfpath_t *)(getconfpath_cb->proc))(getconfpath_cb->context, |
|
- (char **) &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@"; |
|
|
|
next = path_to_config; |
|
|
|
Index: plugins/sql.c |
|
--- plugins/sql.c.orig 2012-01-28 00:31:36.000000000 +0100 |
|
+++ plugins/sql.c 2015-01-01 20:27:04.004094718 +0100 |
|
@@ -150,9 +150,15 @@ |
|
return -1; |
|
} |
|
if (value) { |
|
- strncpy(value, row[0], size-2); |
|
- value[size-1] = '\0'; |
|
- if (value_len) *value_len = strlen(value); |
|
+ unsigned long *col_lens; |
|
+ size_t col_len; |
|
+ col_lens = mysql_fetch_lengths(result); |
|
+ col_len = (size_t)col_lens[0]; |
|
+ if (col_len > size - 1); |
|
+ col_len = size - 1; |
|
+ memcpy(value, row[0], col_len); |
|
+ value[col_len] = '\0'; |
|
+ if (value_len) *value_len = col_len; |
|
} |
|
|
|
/* free result */ |
|
@@ -277,7 +283,7 @@ |
|
ExecStatusType status; |
|
|
|
/* run the query */ |
|
- result = PQexec(conn, cmd); |
|
+ result = PQexecParams(conn, cmd, 0, NULL, NULL, NULL, NULL, 1); |
|
|
|
/* check the status */ |
|
status = PQresultStatus(result); |
|
@@ -298,6 +304,7 @@ |
|
row_count = PQntuples(result); |
|
if (!row_count) { |
|
/* umm nothing found */ |
|
+ utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: no result found for query %s", cmd); |
|
utils->log(NULL, SASL_LOG_NOTE, "sql plugin: no result found"); |
|
PQclear(result); |
|
return -1; |
|
@@ -310,9 +317,26 @@ |
|
/* now get the result set value and value_len */ |
|
/* we only fetch one because we don't care about the rest */ |
|
if (value) { |
|
- strncpy(value, PQgetvalue(result,0,0), size-2); |
|
- value[size-1] = '\0'; |
|
- if (value_len) *value_len = strlen(value); |
|
+ if (PQgetisnull(result, 0, 0)) { |
|
+ size_t col_len; |
|
+ col_len = strlen(SQL_NULL_VALUE); |
|
+ if (col_len > size - 1) |
|
+ col_len = size - 1; |
|
+ memcpy(value, SQL_NULL_VALUE, col_len); |
|
+ value[col_len] = '\0'; |
|
+ if (value_len) |
|
+ *value_len = col_len; |
|
+ } |
|
+ else { |
|
+ size_t col_len; |
|
+ col_len = (size_t)PQgetlength(result, 0, 0); |
|
+ if (col_len > size - 1); |
|
+ col_len = size - 1; |
|
+ memcpy(value, PQgetvalue(result, 0, 0), col_len); |
|
+ value[col_len] = '\0'; |
|
+ if (value_len) |
|
+ *value_len = col_len; |
|
+ } |
|
} |
|
|
|
/* free result */ |
|
@@ -342,7 +366,7 @@ |
|
#endif /* HAVE_PGSQL */ |
|
|
|
#ifdef HAVE_SQLITE |
|
-#include <sqlite.h> |
|
+#include <sqlite3.h> |
|
|
|
static void *_sqlite_open(char *host __attribute__((unused)), |
|
char *port __attribute__((unused)), |
|
@@ -352,21 +376,23 @@ |
|
const char *database, const sasl_utils_t *utils) |
|
{ |
|
int rc; |
|
- sqlite *db; |
|
+ sqlite3 *db; |
|
char *zErrMsg = NULL; |
|
|
|
- db = sqlite_open(database, 0, &zErrMsg); |
|
- if (db == NULL) { |
|
+ rc = sqlite3_open(database, &db); |
|
+ if (rc != SQLITE_OK) { |
|
+ zErrMsg = (char *)sqlite3_errmsg(db); |
|
utils->log(NULL, SASL_LOG_ERR, "sql plugin: %s", zErrMsg); |
|
- sqlite_freemem (zErrMsg); |
|
+ sqlite3_free (zErrMsg); |
|
+ sqlite3_close (db); |
|
return NULL; |
|
} |
|
|
|
- rc = sqlite_exec(db, "PRAGMA empty_result_callbacks = ON", NULL, NULL, &zErrMsg); |
|
+ rc = sqlite3_exec(db, "PRAGMA empty_result_callbacks = ON", NULL, NULL, &zErrMsg); |
|
if (rc != SQLITE_OK) { |
|
utils->log(NULL, SASL_LOG_ERR, "sql plugin: %s", zErrMsg); |
|
- sqlite_freemem (zErrMsg); |
|
- sqlite_close(db); |
|
+ sqlite3_free (zErrMsg); |
|
+ sqlite3_close(db); |
|
return NULL; |
|
} |
|
|
|
@@ -388,62 +414,67 @@ |
|
return 0; |
|
} |
|
|
|
-static int sqlite_my_callback(void *pArg, int argc __attribute__((unused)), |
|
- char **argv, |
|
- char **columnNames __attribute__((unused))) |
|
-{ |
|
- char **result = (char**)pArg; |
|
- |
|
- if (argv == NULL) { |
|
- *result = NULL; /* no record */ |
|
- } else if (argv[0] == NULL) { |
|
- *result = strdup(SQL_NULL_VALUE); /* NULL IS SQL_NULL_VALUE */ |
|
- } else { |
|
- *result = strdup(argv[0]); |
|
- } |
|
- |
|
- return /*ABORT*/1; |
|
-} |
|
- |
|
static int _sqlite_exec(void *db, const char *cmd, char *value, size_t size, |
|
size_t *value_len, const sasl_utils_t *utils) |
|
{ |
|
int rc; |
|
- char *result = NULL; |
|
- char *zErrMsg = NULL; |
|
+ sqlite3_stmt *stmt; |
|
+ const char *todo; |
|
+ size_t len; |
|
|
|
- rc = sqlite_exec((sqlite*)db, cmd, sqlite_my_callback, (void*)&result, &zErrMsg); |
|
- if (rc != SQLITE_OK && rc != SQLITE_ABORT) { |
|
- utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: %s ", zErrMsg); |
|
- sqlite_freemem (zErrMsg); |
|
+ rc = sqlite3_prepare((sqlite3*)db, cmd, (int)strlen(cmd), &stmt, &todo); |
|
+ if (rc != SQLITE_OK) { |
|
+ utils->log(NULL, SASL_LOG_DEBUG, "sql plugin error: %s", sqlite3_errmsg((sqlite3*)db)); |
|
return -1; |
|
} |
|
- |
|
- if (rc == SQLITE_OK) { |
|
+ rc = sqlite3_step(stmt); |
|
+ if (rc != SQLITE_ROW && rc != SQLITE_DONE) { |
|
+ utils->log(NULL, SASL_LOG_DEBUG, "sql plugin error: %s", sqlite3_errmsg((sqlite3*)db)); |
|
+ sqlite3_finalize(stmt); |
|
+ return -1; |
|
+ } |
|
+ if (sqlite3_column_count(stmt) == 0) { |
|
/* no results (BEGIN, COMMIT, DELETE, INSERT, UPDATE) */ |
|
+ sqlite3_finalize(stmt); |
|
return 0; |
|
} |
|
- |
|
- if (result == NULL) { |
|
+ if (rc == SQLITE_DONE) { |
|
/* umm nothing found */ |
|
+ utils->log(NULL, SASL_LOG_DEBUG, "sql plugin: no result found for query %s", cmd); |
|
utils->log(NULL, SASL_LOG_NOTE, "sql plugin: no result found"); |
|
+ sqlite3_finalize(stmt); |
|
return -1; |
|
} |
|
- |
|
- /* XXX: Duplication cannot be found by this method. */ |
|
- |
|
- /* now get the result set value and value_len */ |
|
- /* we only fetch one because we don't care about the rest */ |
|
- if (value) { |
|
- strncpy(value, result, size - 2); |
|
- value[size - 1] = '\0'; |
|
- if (value_len) { |
|
- *value_len = strlen(value); |
|
- } |
|
+ rc = sqlite3_column_type(stmt, 0); |
|
+ switch (rc) { |
|
+ case SQLITE_NULL: { |
|
+ len = strlen(SQL_NULL_VALUE); |
|
+ if (len > size - 1) |
|
+ len = size - 1; |
|
+ memcpy(value, SQL_NULL_VALUE, len); |
|
+ value[len] = '\0'; |
|
+ if (value_len) |
|
+ *value_len = len; |
|
+ break; |
|
+ } |
|
+ default: { |
|
+ const void *blob = sqlite3_column_blob(stmt, 0); |
|
+ len = (size_t)sqlite3_column_bytes(stmt, 0); |
|
+ if (len > size - 1) |
|
+ len = size - 1; |
|
+ memcpy(value, blob, len); |
|
+ value[len] = '\0'; |
|
+ if (value_len) |
|
+ *value_len = len; |
|
+ break; |
|
+ } |
|
} |
|
- |
|
- /* free result */ |
|
- free(result); |
|
+ rc = sqlite3_step(stmt); |
|
+ if (rc != SQLITE_DONE) { |
|
+ utils->log(NULL, SASL_LOG_WARN, |
|
+ "sql plugin: found duplicate row for query %s", cmd); |
|
+ } |
|
+ sqlite3_finalize(stmt); |
|
return 0; |
|
} |
|
|
|
@@ -464,7 +495,7 @@ |
|
|
|
static void _sqlite_close(void *db) |
|
{ |
|
- sqlite_close((sqlite*)db); |
|
+ sqlite3_close((sqlite3 *)db); |
|
} |
|
#endif /* HAVE_SQLITE */ |
|
|
|
@@ -918,7 +949,7 @@ |
|
settings = (sql_settings_t *) glob_context; |
|
|
|
sparams->utils->log(NULL, SASL_LOG_DEBUG, |
|
- "sql plugin Parse the username %s\n", user); |
|
+ "sql plugin parse the username %s\n", user); |
|
|
|
user_buf = sparams->utils->malloc(ulen + 1); |
|
if (!user_buf) { |
|
@@ -1022,7 +1053,7 @@ |
|
} |
|
|
|
sparams->utils->log(NULL, SASL_LOG_DEBUG, |
|
- "sql plugin create statement from %s %s %s\n", |
|
+ "sql plugin create statement from name=%s user=%s realm=%s\n", |
|
realname, escap_userid, escap_realm); |
|
|
|
/* create a statement that we will use */ |
|
@@ -1043,12 +1074,18 @@ |
|
/* run the query */ |
|
if (!settings->sql_engine->sql_exec(conn, query, value, sizeof(value), |
|
&value_len, sparams->utils)) { |
|
+ sparams->utils->log(NULL, SASL_LOG_DEBUG, |
|
+ "sql plugin query successful\n"); |
|
sparams->utils->prop_set(sparams->propctx, |
|
cur->name, |
|
value, |
|
(int)value_len); |
|
ret = SASL_OK; |
|
} |
|
+ else { |
|
+ sparams->utils->log(NULL, SASL_LOG_DEBUG, |
|
+ "sql plugin query failed\n"); |
|
+ } |
|
|
|
sparams->utils->free(query); |
|
} |
|
Index: sample/client.c |
|
--- sample/client.c.orig 2012-01-28 00:31:36.000000000 +0100 |
|
+++ sample/client.c 2015-01-01 20:27:04.004094718 +0100 |
|
@@ -138,13 +138,11 @@ |
|
return SASL_OK; |
|
} |
|
|
|
-#ifndef HAVE_GETPASSPHRASE |
|
static char * |
|
-getpassphrase(const char *prompt) |
|
+my_getpassphrase(const char *prompt) |
|
{ |
|
return getpass(prompt); |
|
} |
|
-#endif /* ! HAVE_GETPASSPHRASE */ |
|
|
|
static int |
|
getsecret(sasl_conn_t *conn, |
|
@@ -160,7 +158,7 @@ |
|
if (! conn || ! psecret || id != SASL_CB_PASS) |
|
return SASL_BADPARAM; |
|
|
|
- password = getpassphrase("Password: "); |
|
+ password = my_getpassphrase("Password: "); |
|
if (! password) |
|
return SASL_FAIL; |
|
|
|
Index: sample/sample-client.c |
|
--- sample/sample-client.c.orig 2012-01-28 00:31:36.000000000 +0100 |
|
+++ sample/sample-client.c 2015-01-01 20:27:04.014153399 +0100 |
|
@@ -245,13 +245,11 @@ |
|
return SASL_OK; |
|
} |
|
|
|
-#ifndef HAVE_GETPASSPHRASE |
|
static char * |
|
-getpassphrase(const char *prompt) |
|
+my_getpassphrase(const char *prompt) |
|
{ |
|
return getpass(prompt); |
|
} |
|
-#endif /* ! HAVE_GETPASSPHRASE */ |
|
|
|
static int |
|
getsecret(sasl_conn_t *conn, |
|
@@ -265,7 +263,7 @@ |
|
if (! conn || ! psecret || id != SASL_CB_PASS) |
|
return SASL_BADPARAM; |
|
|
|
- password = getpassphrase("Password: "); |
|
+ password = my_getpassphrase("Password: "); |
|
if (! password) |
|
return SASL_FAIL; |
|
|
|
@@ -308,7 +306,7 @@ |
|
fflush(stdout); |
|
|
|
if (id == SASL_CB_ECHOPROMPT) { |
|
- char *original = getpassphrase(""); |
|
+ char *original = my_getpassphrase(""); |
|
if (! original) |
|
return SASL_FAIL; |
|
if (*original) |
|
Index: saslauthd/Makefile.am |
|
--- saslauthd/Makefile.am.orig 2012-01-28 00:31:36.000000000 +0100 |
|
+++ saslauthd/Makefile.am 2015-01-01 20:27:04.014153399 +0100 |
|
@@ -36,4 +36,4 @@ |
|
|
|
install-data-local: saslauthd.8 |
|
$(mkinstalldirs) $(DESTDIR)$(mandir)/man8 |
|
- $(INSTALL_DATA) $(srcdir)/saslauthd.8 $(DESTDIR)$(mandir)/man8/saslauthd.8 |
|
+ $(INSTALL_DATA) $(srcdir)/saslauthd.mdoc $(DESTDIR)$(mandir)/man8/saslauthd.8 |
|
Index: saslauthd/Makefile.in |
|
--- saslauthd/Makefile.in.orig 2012-11-06 20:21:45.000000000 +0100 |
|
+++ saslauthd/Makefile.in 2015-01-01 20:27:04.014153399 +0100 |
|
@@ -722,7 +722,7 @@ |
|
|
|
install-data-local: saslauthd.8 |
|
$(mkinstalldirs) $(DESTDIR)$(mandir)/man8 |
|
- $(INSTALL_DATA) $(srcdir)/saslauthd.8 $(DESTDIR)$(mandir)/man8/saslauthd.8 |
|
+ $(INSTALL_DATA) $(srcdir)/saslauthd.mdoc $(DESTDIR)$(mandir)/man8/saslauthd.8 |
|
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables. |
|
# Otherwise a system limit (for SysV at least) may be exceeded. |
|
Index: saslauthd/lak.c |
|
--- saslauthd/lak.c.orig 2012-10-12 16:05:48.000000000 +0200 |
|
+++ saslauthd/lak.c 2015-01-01 20:27:04.014153399 +0100 |
|
@@ -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 |
|
@@ -58,7 +59,7 @@ |
|
#define LDAP_DEPRECATED 1 |
|
#include <ldap.h> |
|
#include <lber.h> |
|
-#include <sasl.h> |
|
+#include "sasl.h" |
|
#include "lak.h" |
|
|
|
typedef struct lak_auth_method {
|
|
|