From: Aki Tuomi Date: Mon, 4 Apr 2016 18:05:44 +0000 (+0300) Subject: doveadm-http: Fix mismatch in authorization X-Git-Tag: 2.2.24~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b0b699954289898ffbbf855d2da9248cd6b5592d;p=thirdparty%2Fdovecot%2Fcore.git doveadm-http: Fix mismatch in authorization The code advertizes X-Dovecot-API in WWW-Authenticate header, but expects X-Doveadm-API in Authorization header. This change makes it expect X-Dovecot-API. --- diff --git a/src/doveadm/client-connection-http.c b/src/doveadm/client-connection-http.c index 78773af922..7fa530ba49 100644 --- a/src/doveadm/client-connection-http.c +++ b/src/doveadm/client-connection-http.c @@ -653,7 +653,7 @@ doveadm_http_server_authorize_request(struct client_connection_http *conn) if (strcmp(creds.data, str_c(b64_value)) == 0) auth = TRUE; else i_error("Invalid authentication attempt to HTTP API"); } - else if (strcasecmp(creds.scheme, "X-Doveadm-API") == 0 && doveadm_settings->doveadm_api_key[0] != '\0') { + else if (strcasecmp(creds.scheme, "X-Dovecot-API") == 0 && doveadm_settings->doveadm_api_key[0] != '\0') { string_t *b64_value = str_new(conn->client.pool, 32); base64_encode(doveadm_settings->doveadm_api_key, strlen(doveadm_settings->doveadm_api_key), b64_value); if (strcmp(creds.data, str_c(b64_value)) == 0) auth = TRUE; @@ -665,7 +665,7 @@ doveadm_http_server_authorize_request(struct client_connection_http *conn) conn->http_response = http_server_response_create(conn->http_server_request, 401, "Authentication required"); if (doveadm_settings->doveadm_api_key[0] != '\0') http_server_response_add_header(conn->http_response, - "WWW-Authenticate", "X-Dovecot-API Realm=\"doveadm\"" + "WWW-Authenticate", "X-Dovecot-API" ); if (*conn->client.set->doveadm_password != '\0') http_server_response_add_header(conn->http_response,