#include "auth-penalty.h"
#include "auth-request.h"
#include "auth-token.h"
+#include "auth-client-connection.h"
#include "auth-master-connection.h"
#include "auth-request-handler.h"
#include "auth-policy.h"
/* No initial response */
request->initial_response = NULL;
request->initial_response_len = 0;
+ } else if (handler->conn->version_minor < 2 && *initial_resp == '\0') {
+ /* Some authentication clients like Exim send and empty initial
+ response field when it is in fact absent in the
+ authentication command. This was allowed for older versions
+ of the Dovecot authentication protocol. */
+ request->initial_response = NULL;
+ request->initial_response_len = 0;
} else if (*initial_resp == '\0' || strcmp(initial_resp, "=") == 0 ) {
/* Empty initial response - Protocols that use SASL often
use '=' to indicate an empty initial response; i.e., to