]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
login-proxy: Handle auth failures with login_proxy_failed()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 29 Apr 2020 10:40:17 +0000 (13:40 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Mon, 25 May 2020 08:38:55 +0000 (08:38 +0000)
src/imap-login/imap-proxy.c
src/login-common/client-common-auth.c
src/pop3-login/pop3-proxy.c
src/submission-login/submission-proxy.c

index 35bebec5b0ad741a59a87c72d5181c1f6d53d992..bf13ec9076e7e2474b088bb76bb442fb2ea25d23 100644 (file)
@@ -383,8 +383,9 @@ int imap_proxy_parse_line(struct client *client, const char *line)
                                               AUTH_FAILED_MSG);
                }
 
-               client->proxy_auth_failed = TRUE;
-               client_proxy_failed(client, FALSE);
+               login_proxy_failed(client->login_proxy,
+                                  login_proxy_get_event(client->login_proxy),
+                                  LOGIN_PROXY_FAILURE_TYPE_AUTH, NULL);
                return -1;
        } else if (strncasecmp(line, "* CAPABILITY ", 13) == 0) {
                i_free(imap_client->proxy_backend_capability);
index 797e150b4cd8625a7e63f2c1d245555fbb26d37f..1fea855e4bad55ed63cd38969e2a26fa8589ffa5 100644 (file)
@@ -397,6 +397,7 @@ static void proxy_failed(struct client *client,
                client_proxy_failed(client, TRUE);
                break;
        case LOGIN_PROXY_FAILURE_TYPE_AUTH:
+               client->proxy_auth_failed = TRUE;
                client_proxy_failed(client, FALSE);
                break;
        }
index 0c32c9da5f6d7789b9a9b5f58d269083a9a4eb5b..11bae13e7ee01d6cc1edcccc3977d5eb50cd8eef 100644 (file)
@@ -262,8 +262,9 @@ int pop3_proxy_parse_line(struct client *client, const char *line)
                        line += 5;
                client_proxy_log_failure(client, line);
        }
-       client->proxy_auth_failed = TRUE;
-       client_proxy_failed(client, FALSE);
+       login_proxy_failed(client->login_proxy,
+                          login_proxy_get_event(client->login_proxy),
+                          LOGIN_PROXY_FAILURE_TYPE_AUTH, NULL);
        return -1;
 }
 
index 82d968785b270fe371c69f7eb4e3961ad4412d35..d1e849991c03068188d58fcd4a556bcf7c66c747 100644 (file)
@@ -437,8 +437,9 @@ int submission_proxy_parse_line(struct client *client, const char *line)
        if (client->set->auth_verbose) {
                client_proxy_log_failure(client, text);
        }
-       client->proxy_auth_failed = TRUE;
-       client_proxy_failed(client, FALSE);
+       login_proxy_failed(client->login_proxy,
+                          login_proxy_get_event(client->login_proxy),
+                          LOGIN_PROXY_FAILURE_TYPE_AUTH, NULL);
        return -1;
 }