X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=mutt_sasl.c;h=d78a7ebff663ad22a4459030c675b45cd02ad5f0;hb=7baf20487bdb08036dc314899e1a164432cfdef5;hp=ea3438797b99bf84e370daa535b52d843f2bfc5b;hpb=814a01519c9605d479201b99eb16c97b0ad8635d;p=apps%2Fmadmutt.git diff --git a/mutt_sasl.c b/mutt_sasl.c index ea34387..d78a7eb 100644 --- a/mutt_sasl.c +++ b/mutt_sasl.c @@ -327,12 +327,12 @@ sasl_callback_t *mutt_sasl_get_callbacks (ACCOUNT * account) callback = mutt_sasl_callbacks; - callback->id = SASL_CB_AUTHNAME; + callback->id = SASL_CB_USER; callback->proc = mutt_sasl_cb_authname; callback->context = account; callback++; - callback->id = SASL_CB_USER; + callback->id = SASL_CB_AUTHNAME; callback->proc = mutt_sasl_cb_authname; callback->context = account; callback++; @@ -443,8 +443,7 @@ static int mutt_sasl_cb_log (void *context, int priority, const char *message) return SASL_OK; } -/* mutt_sasl_cb_authname: callback to retrieve authname or user (mutt - * doesn't distinguish, even if some SASL plugins do) from ACCOUNT */ +/* mutt_sasl_cb_authname: callback to retrieve authname or user from ACCOUNT */ static int mutt_sasl_cb_authname (void *context, int id, const char **result, unsigned *len) { @@ -461,10 +460,15 @@ static int mutt_sasl_cb_authname (void *context, int id, const char **result, id == SASL_CB_AUTHNAME ? "authname" : "user", account->host, account->port)); - if (mutt_account_getuser (account)) - return SASL_FAIL; - - *result = account->user; + if (id == SASL_CB_AUTHNAME) { + if (mutt_account_getlogin (account)) + return SASL_FAIL; + *result = account->login; + } else { + if (mutt_account_getuser (account)) + return SASL_FAIL; + *result = account->user; + } if (len) *len = safe_strlen (*result); @@ -482,7 +486,7 @@ static int mutt_sasl_cb_pass (sasl_conn_t * conn, void *context, int id, return SASL_BADPARAM; debug_print (2, ("getting password for %s@%s:%u\n", - account->user, account->host, account->port)); + account->login, account->host, account->port)); if (mutt_account_getpass (account)) return SASL_FAIL;