From: Timo Sirainen Date: Wed, 4 Mar 2020 09:06:37 +0000 (+0200) Subject: auth: Invoke auth policy callback on URL parse errors X-Git-Tag: 2.3.11.2~552 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a26ebef424c822c0a3215006f7b9181293440007;p=thirdparty%2Fdovecot%2Fcore.git auth: Invoke auth policy callback on URL parse errors Otherwise logins will hang if auth_policy_server_url contains invalid URL. --- diff --git a/src/auth/auth-policy.c b/src/auth/auth-policy.c index 6318db8bf7..e714a08e4d 100644 --- a/src/auth/auth-policy.c +++ b/src/auth/auth-policy.c @@ -417,10 +417,13 @@ void auth_policy_send_request(struct policy_lookup_ctx *context) { const char *error; struct http_url *url; + + auth_request_ref(context->request); if (http_url_parse(context->url, NULL, HTTP_URL_ALLOW_USERINFO_PART, context->pool, &url, &error) != 0) { e_error(context->event, "Could not parse url %s: %s", context->url, error); + auth_policy_callback(context); auth_policy_finish(context); return; } @@ -447,7 +450,6 @@ void auth_policy_send_request(struct policy_lookup_ctx *context) http_client_request_set_payload(context->http_request, is, FALSE); i_stream_unref(&is); http_client_request_submit(context->http_request); - auth_request_ref(context->request); } static