Changes in protocols/jabber/sasl.c [40cfbc5:91dd19c]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/jabber/sasl.c
r40cfbc5 r91dd19c 54 54 struct xt_node *c, *reply; 55 55 char *s; 56 int sup_plain = 0, sup_digest = 0, sup_gtalk = 0, sup_fb = 0 ;57 int want_oauth = FALSE, want_hipchat = FALSE ;56 int sup_plain = 0, sup_digest = 0, sup_gtalk = 0, sup_fb = 0, sup_anonymous = 0; 57 int want_oauth = FALSE, want_hipchat = FALSE, want_anonymous = FALSE; 58 58 GString *mechs; 59 59 … … 74 74 } 75 75 76 want_anonymous = set_getbool(&ic->acc->set, "anonymous"); 76 77 want_oauth = set_getbool(&ic->acc->set, "oauth"); 77 78 want_hipchat = (jd->flags & JFLAG_HIPCHAT); … … 84 85 } else if (c->text && g_strcasecmp(c->text, "DIGEST-MD5") == 0) { 85 86 sup_digest = 1; 87 } else if (c->text && g_strcasecmp(c->text, "ANONYMOUS") == 0) { 88 sup_anonymous = 1; 86 89 } else if (c->text && g_strcasecmp(c->text, "X-OAUTH2") == 0) { 87 90 sup_gtalk = 1; … … 142 145 xt_free_node(reply); 143 146 return XT_ABORT; 144 } else if (sup_digest) { 147 } else if (want_anonymous && sup_anonymous) { 148 xt_add_attr(reply, "mechanism", "ANONYMOUS"); 149 150 /* Well, that was easy. */ 151 } else if (want_anonymous) { 152 imcb_error(ic, "Anonymous login requested, but not supported by server"); 153 imc_logout(ic, FALSE); 154 xt_free_node(reply); 155 return XT_ABORT; 156 } else if (sup_digest && !(jd->ssl && sup_plain)) { 157 /* Only try DIGEST-MD5 if there's no SSL/TLS or if PLAIN isn't supported. 158 * Which in practice means "don't bother with DIGEST-MD5 most of the time". 159 * It's weak, pointless over TLS, and often breaks with some servers (hi openfire) */ 160 145 161 xt_add_attr(reply, "mechanism", "DIGEST-MD5"); 146 162
Note: See TracChangeset
for help on using the changeset viewer.