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

Alexey Melnikov alexey.melnikov at isode.com
Thu Jan 12 06:01:32 EST 2012


On 10/01/2012 19:16, Quanah Gibson-Mount wrote:
> --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;
>    }

Can you give me the full stack that leads to this call? I think one of 
the functions up the stack needs to handle this error gracefully.
> 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?



More information about the Cyrus-sasl mailing list