projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rocco Rutte:
[apps/madmutt.git]
/
mutt_sasl.c
diff --git
a/mutt_sasl.c
b/mutt_sasl.c
index
ea34387
..
d78a7eb
100644
(file)
--- 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 = mutt_sasl_callbacks;
- callback->id = SASL_CB_
AUTHNAME
;
+ callback->id = SASL_CB_
USER
;
callback->proc = mutt_sasl_cb_authname;
callback->context = account;
callback++;
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++;
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;
}
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)
{
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));
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);
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",
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;
if (mutt_account_getpass (account))
return SASL_FAIL;