view src/http/v2/ngx_http_v2_module.h @ 7690:8253424d1aff

Added size check to ngx_http_alloc_large_header_buffer(). This ensures that copying won't write more than the buffer size even if the buffer comes from hc->free and it is smaller than the large client header buffer size in the virtual host configuration. This might happen if size of large client header buffers is different in name-based virtual hosts, similarly to the problem with number of buffers fixed in 6926:e662cbf1b932.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 06 Aug 2020 05:02:22 +0300
parents 641306096f5b
children 02be1baed382
line wrap: on
line source


/*
 * Copyright (C) Nginx, Inc.
 * Copyright (C) Valentin V. Bartenev
 */


#ifndef _NGX_HTTP_V2_MODULE_H_INCLUDED_
#define _NGX_HTTP_V2_MODULE_H_INCLUDED_


#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>


typedef struct {
    size_t                          recv_buffer_size;
    u_char                         *recv_buffer;
} ngx_http_v2_main_conf_t;


typedef struct {
    size_t                          pool_size;
    ngx_uint_t                      concurrent_streams;
    ngx_uint_t                      concurrent_pushes;
    ngx_uint_t                      max_requests;
    size_t                          max_field_size;
    size_t                          max_header_size;
    size_t                          preread_size;
    ngx_uint_t                      streams_index_mask;
    ngx_msec_t                      recv_timeout;
    ngx_msec_t                      idle_timeout;
} ngx_http_v2_srv_conf_t;


typedef struct {
    size_t                          chunk_size;

    ngx_flag_t                      push_preload;

    ngx_flag_t                      push;
    ngx_array_t                    *pushes;
} ngx_http_v2_loc_conf_t;


extern ngx_module_t  ngx_http_v2_module;


#endif /* _NGX_HTTP_V2_MODULE_H_INCLUDED_ */