From f9cbbc6770a2b2ada0c8249161a8cdf0da91e902 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 12 Jul 2002 20:55:12 +0000 Subject: [PATCH] Fix order of params to sasl_setpass. Added initial stub for setpass to change in-directory password. --- servers/slapd/sasl.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/servers/slapd/sasl.c b/servers/slapd/sasl.c index d386bccc38..df5958d023 100644 --- a/servers/slapd/sasl.c +++ b/servers/slapd/sasl.c @@ -633,6 +633,19 @@ slap_sasl_checkpass( return rc; } +static int +slap_sasl_cb_setpass( + sasl_conn_t *sconn, + void *context, + const char *username, + const char *pass, + unsigned passlen, + struct propctx *propctx, + unsigned flags) +{ + Connection *conn = (Connection *)context; +} + /* Convert a SASL authcid or authzid into a DN. Store the DN in an * auxiliary property, so that we can refer to it in sasl_authorize * without interfering with anything else. Also, the SASL username @@ -1068,6 +1081,10 @@ int slap_sasl_open( Connection *conn ) session_callbacks[cb].id = SASL_CB_SERVER_USERDB_CHECKPASS; session_callbacks[cb].proc = &slap_sasl_checkpass; session_callbacks[cb++].context = conn; + + session_callbacks[cb].id = SASL_CB_SERVER_USERDB_SETPASS; + session_callbacks[cb].proc = &slap_sasl_cb_setpass; + session_callbacks[cb++].context = conn; #endif session_callbacks[cb].id = SASL_CB_LIST_END; @@ -1468,7 +1485,7 @@ slap_sasl_setpass( id.bv_val, new.bv_val, new.bv_len, 0, text ); #else rc = sasl_setpass( conn->c_sasl_context, id.bv_val, - old.bv_val, old.bv_len, new.bv_val, new.bv_len, 0 ); + new.bv_val, new.bv_len, old.bv_val, old.bv_len, 0 ); if( rc != SASL_OK ) { *text = sasl_errdetail( conn->c_sasl_context ); } -- 2.39.5