On 10/01/2012 19:16, Quanah Gibson-Mount wrote:
--On Friday, January 06, 2012 1:25 PM -0800 Quanah Gibson-Mount <qua...@zimbra.com> wrote:

--On Friday, January 06, 2012 1:35 PM -0600 Dan White <dwh...@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?

Reply via email to