diff -r e31ca6858752 -r 04b138e79436 libpurple/protocols/jabber/auth.c --- a/libpurple/protocols/jabber/auth.c Wed Mar 19 03:13:19 2008 +0000 +++ b/libpurple/protocols/jabber/auth.c Thu Mar 20 00:20:27 2008 +0000 @@ -490,6 +490,12 @@ { char *mech_name = xmlnode_get_data(mechnode); #ifdef HAVE_CYRUS_SASL + /* Skip the GSSAPI mechanism unless it's enabled for this account */ + if (mech_name && !strcmp(mech_name, "GSSAPI") && + !purple_account_get_bool(js->gc->account, "auth_gssapi", FALSE)) { + continue; + } + g_string_append(js->sasl_mechs, mech_name); g_string_append_c(js->sasl_mechs, ' '); #else