sasl_setpass man page
sasl_setpass — Check a plaintext password
#include <sasl/sasl.h> int sasl_setpass(sasl_conn_t *conn, const char *user, const char *pass, unsigned passlen, const char *oldpass, unsigned oldpasslen, unsigned flags)
sasl_setpass will set passwords in the sasldb, and trigger the setpass callbacks for all available mechanisms.
user is the username to set the password for.
pass and passlen are the password to set and its length
oldpass and oldpasslen are the old password & its length (and are optional)
flags Are flags including SASL_SET_CREATE and SASL_SET_DISABLE (to cause the creating of nonexistent accounts and the disabling of an account, respectively)
oldpass and oldpasslen are unused in the Cyrus SASL implementation, though are passed on to any mechanisms that may require them.
Returns SASL_OK on success. SASL error code on failure.
sasl(3), sasl_errors(3), sasl_checkpass(3)
sasl(3), sasl_checkpass(3), sasl_server_userdb_setpass_t(3).