libpurple/protocols/jabber/auth_cyrus.c

changeset 30432
dee4a4fe8cbc
parent 30431
6969a68a6008
child 30505
ced16596ce78
equal deleted inserted replaced
30431:6969a68a6008 30432:dee4a4fe8cbc
406 for(mechnode = xmlnode_get_child(mechanisms, "mechanism"); mechnode; 406 for(mechnode = xmlnode_get_child(mechanisms, "mechanism"); mechnode;
407 mechnode = xmlnode_get_next_twin(mechnode)) 407 mechnode = xmlnode_get_next_twin(mechnode))
408 { 408 {
409 char *mech_name = xmlnode_get_data(mechnode); 409 char *mech_name = xmlnode_get_data(mechnode);
410 410
411 /* Ignore blank mechanisms and EXTERNAL. External isn't
412 * supported, and Cyrus SASL's mechanism returns
413 * SASL_NOMECH when the caller (us) doesn't configure it.
414 * Except SASL_NOMECH is supposed to mean "no concordant
415 * mechanisms"... Easiest just to blacklist it (for now).
416 */
411 if (!mech_name || !*mech_name || 417 if (!mech_name || !*mech_name ||
412 g_str_equal(mech_name, "EXTERNAL")) { 418 g_str_equal(mech_name, "EXTERNAL")) {
413 g_free(mech_name); 419 g_free(mech_name);
414 continue; 420 continue;
415 } 421 }

mercurial