Hi,

when i use a cyrus saslauthd:

pwcheck_method: saslauthd
mech_list: plain login
saslauthd_path: /var/run/kokolores/mux

And the saslauthd is not running.
Then the socket /var/run/kokolores/mux does not exist and postfix returns

535 5.7.8 Error: authentication failed: generic failure

Shouldn't postfix return a temporary error in this case?

In xsasl_cyrus_server.c:

        switch (sasl_status) {
        case SASL_TRYAGAIN:
        case SASL_UNAVAIL:
            return XSASL_AUTH_TEMP;
        default:
            return (XSASL_AUTH_FAIL);
        }

In sasl.h:

#define SASL_FAIL       -1   /* generic failure */

Could this one be added to the AUTH_TEMP case?

Maybe there are a few more error in sasl.h which indicate
service-side problems and should be handled with a temporary error.

#define SASL_NOMEM      -2   /* memory shortage failure */
#define SASL_BUFOVER    -3   /* overflowed buffer */


 Markus

--
https://markusbenning.de/

Reply via email to