Download | Plain Text | No Line Numbers
- diff -Naur dovecot-2.2.31.orig/src/auth/auth-request.c dovecot-2.2.31/src/auth/auth-request.c
- --- dovecot-2.2.31.orig/src/auth/auth-request.c 2017-06-26 13:29:36.000000000 +0200
- +++ dovecot-2.2.31/src/auth/auth-request.c 2017-08-02 22:33:17.337691170 +0200
- @@ -2418,6 +2418,16 @@
- const char *crypted_password,
- const char *scheme, const char *subsystem)
- {
- + return auth_request_password_verify_log(request, plain_password,
- + crypted_password, scheme, subsystem, TRUE);
- +}
- +
- +int auth_request_password_verify_log(struct auth_request *request,
- + const char *plain_password,
- + const char *crypted_password,
- + const char *scheme, const char *subsystem,
- + bool log_password_mismatch)
- +{
- const unsigned char *raw_password;
- size_t raw_password_size;
- const char *error;
- @@ -2465,7 +2475,8 @@
- "Invalid password%s in passdb: %s",
- password_str, error);
- } else if (ret == 0) {
- - auth_request_log_password_mismatch(request, subsystem);
- + if (log_password_mismatch)
- + auth_request_log_password_mismatch(request, subsystem);
- }
- if (ret <= 0 && request->set->debug_passwords) T_BEGIN {
- log_password_failure(request, plain_password,
- diff -Naur dovecot-2.2.31.orig/src/auth/auth-request.h dovecot-2.2.31/src/auth/auth-request.h
- --- dovecot-2.2.31.orig/src/auth/auth-request.h 2017-06-26 13:29:36.000000000 +0200
- +++ dovecot-2.2.31/src/auth/auth-request.h 2017-08-02 22:29:15.674596770 +0200
- @@ -238,6 +238,11 @@
- const char *plain_password,
- const char *crypted_password,
- const char *scheme, const char *subsystem);
- +int auth_request_password_verify_log(struct auth_request *request,
- + const char *plain_password,
- + const char *crypted_password,
- + const char *scheme, const char *subsystem,
- + bool log_password_mismatch);
-
- void auth_request_log_debug(struct auth_request *auth_request,
- const char *subsystem,
- diff -Naur dovecot-2.2.31.orig/src/auth/passdb-cache.c dovecot-2.2.31/src/auth/passdb-cache.c
- --- dovecot-2.2.31.orig/src/auth/passdb-cache.c 2017-06-26 13:29:36.000000000 +0200
- +++ dovecot-2.2.31/src/auth/passdb-cache.c 2017-08-02 22:29:53.656139376 +0200
- @@ -84,8 +84,9 @@
- scheme = password_get_scheme(&cached_pw);
- i_assert(scheme != NULL);
-
- - ret = auth_request_password_verify(request, password, cached_pw,
- - scheme, AUTH_SUBSYS_DB);
- + ret = auth_request_password_verify_log(request, password, cached_pw,
- + scheme, AUTH_SUBSYS_DB,
- + !(node->last_success || neg_expired));
-
- if (ret == 0 && (node->last_success || neg_expired)) {
- /* a) the last authentication was successful. assume
-