projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
When doing an if-test on the result of a function which returns a string
[mmh]
/
mts
/
smtp
/
smtp.c
diff --git
a/mts/smtp/smtp.c
b/mts/smtp/smtp.c
index
850693d
..
35eefb4
100644
(file)
--- a/
mts/smtp/smtp.c
+++ b/
mts/smtp/smtp.c
@@
-105,6
+105,8
@@
static sasl_callback_t callbacks[] = {
#define SM_SASL_N_CB_USER 0
{ SASL_CB_PASS, sm_get_pass, NULL },
#define SM_SASL_N_CB_PASS 1
#define SM_SASL_N_CB_USER 0
{ SASL_CB_PASS, sm_get_pass, NULL },
#define SM_SASL_N_CB_PASS 1
+ { SASL_CB_AUTHNAME, sm_get_user, NULL },
+#define SM_SASL_N_CB_AUTHNAME 2
{ SASL_CB_LIST_END, NULL, NULL },
};
#endif /* CYRUS_SASL */
{ SASL_CB_LIST_END, NULL, NULL },
};
#endif /* CYRUS_SASL */
@@
-1084,6
+1086,7
@@
sm_auth_sasl(char *user, char *mechlist, char *host)
user = getusername();
callbacks[SM_SASL_N_CB_USER].context = user;
user = getusername();
callbacks[SM_SASL_N_CB_USER].context = user;
+ callbacks[SM_SASL_N_CB_AUTHNAME].context = user;
/*
* This is a _bit_ of a hack ... but if the hostname wasn't supplied
/*
* This is a _bit_ of a hack ... but if the hostname wasn't supplied
@@
-1293,7
+1296,7
@@
sm_get_user(void *context, int id, const char **result, unsigned *len)
{
char *user = (char *) context;
{
char *user = (char *) context;
- if (! result || id != SASL_CB_USER)
+ if (! result || ((id != SASL_CB_USER) && (id != SASL_CB_AUTHNAME)))
return SASL_BADPARAM;
*result = user;
return SASL_BADPARAM;
*result = user;