view src/http/ngx_http_spdy_module.h @ 5716:34d460c5d186

SPDY: fixed operator precedence in uint16/uint32 write macros. Since the type cast has precedence higher than the bit shift operator, all values were truncated to 8 bits. These macros are used to construct header block for SYN_REPLY frame on platforms with strict alignment requirements. As a result, any response that contains a header with name or value longer than 255 bytes was corrupted on such platforms.
author Valentin Bartenev <vbart@nginx.com>
date Thu, 29 May 2014 21:15:19 +0400
parents e5fb14e85040
children
line wrap: on
line source


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


#ifndef _NGX_HTTP_SPDY_MODULE_H_INCLUDED_
#define _NGX_HTTP_SPDY_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_spdy_main_conf_t;


typedef struct {
    size_t                          pool_size;
    ngx_uint_t                      concurrent_streams;
    ngx_uint_t                      streams_index_mask;
    ngx_msec_t                      recv_timeout;
    ngx_msec_t                      keepalive_timeout;
    ngx_int_t                       headers_comp;
} ngx_http_spdy_srv_conf_t;


typedef struct {
    size_t                          chunk_size;
} ngx_http_spdy_loc_conf_t;


extern ngx_module_t  ngx_http_spdy_module;


#endif /* _NGX_HTTP_SPDY_MODULE_H_INCLUDED_ */