Melvin Vermeeren:
> In conclusion I believe "var_smtpd_sasl_enable" can be removed from src/smtpd/
> smtpd_check.c completely, together with the "if (var_smtpd_sasl_enable)" 
> conditionals. Could you post your thoughts on this?

You can try that. But your argument has holes because there is code
like this:

        if (state->sasl_enabled && state->sasl_enabled[0]) {
            do_something_with_state(state, *cpp, def_acl);

where do_something_with_state() may access state->sasl_mechanism
or state->sasl_sender which will not contain the expected values 
that they would have gotten from a real SASL backend.

Therefore every such function will need guards like:

    if (state->sasl_mechanism && state->sasl_mechanism[0])
        do_something_with_sasl_mechanism

Some guards may already exist, but this will have to be verified
exhaustively for every function.

        Wietse

Reply via email to