Postfix SMTP auth doesn't work with cyrus-sasl 2.1.25

Quanah Gibson-Mount quanah at zimbra.com
Tue Jan 10 14:16:59 EST 2012


--On Friday, January 06, 2012 1:25 PM -0800 Quanah Gibson-Mount 
<quanah at zimbra.com> wrote:

> --On Friday, January 06, 2012 1:35 PM -0600 Dan White <dwhite at olp.net>
> wrote:
>
>> One important difference is that testsaslauthd probably does not use the
>> glue (libsasl2) library. Can you try the sample-server/sample-client
>> utilities to see if they work? You will need to create a <./configure
>> --with-configdir path>/sample.conf file with 'pwcheck_method: saslauthd'.
>
>
> Since my build specifies:
>
> --with-configdir=/opt/zimbra/conf/sasl2
>
> I created a /opt/zimbra/conf/sasl2/sample.conf file with the data:
> pwcheck_method: saslauthd
>
> I'm not sure I'm executing "server" 100% correctly as I gave it no
> options, however it fails though with the same error as postfix.  What
> can I do to debug this further?

I've tracked things down further to the issue being in the 
_sasl_auxprop_lookup function in auxprop.c.

Specifically in this code block:

    if(_sasl_getcallback(sparams->utils->conn,
                         SASL_CB_GETOPT,
                         (sasl_callback_ft *)&getopt,
                         &context) == SASL_OK) {
        ret = getopt(context, NULL, "auxprop_plugin", &plist, NULL);
        if(ret != SASL_OK) plist = NULL;
    }

SASL_OK is returned by _sasl_getcallback.  However, the next line:
ret = getopt(context, NULL, "auxprop_plugin", &plist, NULL);

returns -1 (SASL_FAIL), which causes plist to be set to NULL, and then the 
rest of the function drops through with SASL_NOMECH set in the "result" 
variable.

What can I do to determine why the call to getopt is failing?

--Quanah

--

Quanah Gibson-Mount
Sr. Member of Technical Staff
Zimbra, Inc
A Division of VMware, Inc.
--------------------
Zimbra ::  the leader in open source messaging and collaboration


More information about the Cyrus-sasl mailing list