XMPP, Server does not use any supported authentication method

Paul Aurich darkrain42 at pidgin.im
Mon Sep 12 09:52:45 EDT 2011

And Alexander Ustinov spoke on 09/11/2011 10:22 PM, saying:
> I have not mentioned before that this situation is on two computers, both
> running debian testing. One i386, one amd64.
>> # echo /etc/hosts: && cat /etc/hosts && echo /etc/hostname: && cat
>> /etc/hostname
>> /etc/hosts:
>> localhost
>> blower.emission blower.emission
>> # The following lines are desirable for IPv6 capable hosts
>> ::1 ip6-localhost ip6-loopback
>> fe00::0 ip6-localnet
>> ff00::0 ip6-mcastprefix
>> ff02::1 ip6-allnodes
>> ff02::2 ip6-allrouters
>> /etc/hostname:
>> blower

Try adding "blower" to the second line of /etc/hosts.  E.g., from my desktop:

paul at haley ~ % hostname; cat /etc/hosts
haley	localhost	haley.internal.darkrain42.org	haley

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

>> It may come down to your needing to install the Cyrus SASL debug symbols
>> and start bisecting sasl_client_new() with breakpoints until we can figure
>> out what is actually returning SASL_FAIL (-1) (or adding breakpoints to
>> every SASL_FAIL return in Cyrus SASL and seeing which one hits).
> Never tried such things before. :) Will try to do my best.

Basically, install cyrus-sasl2-dbg and libc6-dbg.  Start up Pidgin
(offline), and then run:
	gdb -p $(pidof pidgin)

Next you'll want to grab the source from Debian for Cyrus SASL, and grep
through for "SASL_FAIL", and attach some breakpoints:
paul at haley …s-sasl/cyrus-sasl2-2.1.24~rc1.dfsg1+cvs2011-05-23 % grep -n
lib/auxprop.c:1024:	if(_sasl_strdup(plist, &pluginlist, NULL) != SASL_OK)
return SASL_FAIL;
lib/auxprop.c:1068:	return SASL_FAIL;
lib/canonusr.c:99:    else return SASL_FAIL;
lib/canonusr.c:369:	return SASL_FAIL;
lib/checkpw.c:138:    int ret = SASL_FAIL;
lib/checkpw.c:247:    int ret = SASL_FAIL;
lib/checkpw.c:524:    if (strlen(PWCHECKDIR)+8+1 > sizeof(pwpath)) return
lib/checkpw.c:538:	return SASL_FAIL;
lib/checkpw.c:667:	    return SASL_FAIL;
lib/checkpw.c:854:    return SASL_FAIL;
lib/checkpw.c:1025:    return SASL_FAIL;
lib/checkpw.c:1037:    int result = SASL_FAIL;
lib/client.c:507:      return (SASL_FAIL);
lib/client.c:948:      return SASL_FAIL;
lib/common.c:217:        return (SASL_FAIL);
lib/common.c:250:            return (SASL_FAIL);
lib/common.c:652:    INTERROR(conn, SASL_FAIL);
lib/common.c:781:        return (SASL_FAIL);
lib/common.c:824:    if (!free_mutex) return SASL_FAIL;
lib/common.c:844:  if (!free_mutex) return SASL_FAIL;
lib/common.c:1331:    case SASL_FAIL:     return "generic failure";
lib/common.c:1414:	  if (!callback->proc) return SASL_FAIL;
lib/common.c:1433:  return SASL_FAIL;
lib/common.c:1565:    return SASL_FAIL;
lib/common.c:1618:        return SASL_FAIL;
lib/common.c:1673:        return SASL_FAIL;
lib/common.c:1730:      INTERROR(conn, SASL_FAIL);
lib/common.c:1811:  RETURN(conn,SASL_FAIL);
lib/common.c:1852:    result = SASL_FAIL;
lib/common.c:2362:	return SASL_FAIL;

For each of these, you should be able to attach a breakpoint by running,
e.g. "break client.c:507".  After adding all the breakpoints, run
"continue" to restart Pidgin, and then try logging in to your account.
*Hopefully*, one of these breakpoints will trigger.  If it does, run "bt
full" and then send back the result.

If you have any questions, ping me in #pidgin (some of the other folks in
there should be able to help as well)

Note that since this is Cyrus SASL we're debugging here, please read
through the gdb backtrace looking for your password, and redact/remove it
as necessary.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 900 bytes
Desc: OpenPGP digital signature
URL: <http://pidgin.im/pipermail/support/attachments/20110912/3980a6ba/attachment.sig>

More information about the Support mailing list