]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: Expand http_client_settings.response_hdr_limits to separate settings
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 25 Jul 2023 07:19:23 +0000 (10:19 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:09 +0000 (12:34 +0200)
This simplifies the following changes.

src/lib-http/http-client-connection.c
src/lib-http/http-client.h

index 795f2a9e32c6f69e2236d51e3f466eb032dbb93a..055ac234ff8f2c0e67390560a5a2cbce5dd9fa8f 100644 (file)
@@ -1463,8 +1463,13 @@ static void http_client_connection_ready(struct http_client_connection *conn)
        }
 
        /* Start protocol I/O */
+       struct http_header_limits limits = {
+               .max_size = set->response_hdr_max_size,
+               .max_field_size = set->response_hdr_max_field_size,
+               .max_fields = set->response_hdr_max_fields,
+       };
        conn->http_parser = http_response_parser_init(
-               conn->conn.input, &set->response_hdr_limits, 0);
+               conn->conn.input, &limits, 0);
        o_stream_set_finish_via_child(conn->conn.output, FALSE);
        o_stream_set_flush_callback(conn->conn.output,
                                    http_client_connection_output, conn);
index 7bf479d2c7a851edbf65ce8ec01d77aa2e746d97..8b2868ff548552d7e9919430d227f10ff0cc8aba 100644 (file)
@@ -93,7 +93,9 @@ struct http_client_settings {
        unsigned int connect_backoff_max_time_msecs;
 
        /* Response header limits */
-       struct http_header_limits response_hdr_limits;
+       uoff_t response_hdr_max_size;
+       uoff_t response_hdr_max_field_size;
+       unsigned int response_hdr_max_fields;
 
        /* Max total time to wait for HTTP request to finish this can be
           overridden/reset for individual requests using