Mercurial > hg > nginx
view auto/lib/md5/conf @ 5324:8ef1722143dc
SPDY: do not reject headers with empty value (ticket #396).
A quote from SPDY draft 2 specification: "The length of each name and
value must be greater than zero. A receiver of a zero-length name or
value must send a RST_STREAM with code PROTOCOL error."
But it appears that Chrome browser allows sending requests over SPDY/2
connection using JavaScript that contain headers with empty values.
For better compatibility across SPDY clients and to be compliant with
HTTP, such headers are no longer rejected.
Also, it is worth noting that in SPDY draft 3 the statement has been
changed so that it permits empty values for headers.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Thu, 15 Aug 2013 19:16:09 +0400 |
parents | b0a616778038 |
children | 78f8ac479735 |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. if [ $MD5 != NONE ]; then if grep MD5_Init $MD5/md5.h 2>&1 >/dev/null; then # OpenSSL md5 OPENSSL_MD5=YES have=NGX_HAVE_OPENSSL_MD5 . auto/have have=NGX_OPENSSL_MD5 . auto/have else # rsaref md5 OPENSSL_MD5=NO fi have=NGX_HAVE_MD5 . auto/have CORE_INCS="$CORE_INCS $MD5" case "$NGX_CC_NAME" in msvc* | owc* | bcc) LINK_DEPS="$LINK_DEPS $MD5/md5.lib" CORE_LIBS="$CORE_LIBS $MD5/md5.lib" ;; icc*) LINK_DEPS="$LINK_DEPS $MD5/libmd5.a" # to allow -ipo optimization we link with the *.o but not library CORE_LIBS="$CORE_LIBS $MD5/md5_dgst.o" if [ $MD5_ASM = YES ]; then CORE_LIBS="$CORE_LIBS $MD5/asm/mx86-elf.o" fi ;; *) LINK_DEPS="$LINK_DEPS $MD5/libmd5.a" CORE_LIBS="$CORE_LIBS $MD5/libmd5.a" #CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5" ;; esac else if [ "$NGX_PLATFORM" != win32 ]; then MD5=NO # FreeBSD, Solaris 10 ngx_feature="md5 in system md library" ngx_feature_name=NGX_HAVE_MD5 ngx_feature_run=no ngx_feature_incs="#include <md5.h>" ngx_feature_path= ngx_feature_libs="-lmd" ngx_feature_test="MD5_CTX md5; MD5Init(&md5)" . auto/feature ngx_md5_lib="system md" if [ $ngx_found = no ]; then # Solaris 8/9 ngx_feature="md5 in system md5 library" ngx_feature_libs="-lmd5" . auto/feature ngx_md5_lib="system md5" fi if [ $ngx_found = no ]; then # OpenSSL crypto library ngx_feature="md5 in system OpenSSL crypto library" ngx_feature_name="NGX_OPENSSL_MD5" ngx_feature_incs="#include <openssl/md5.h>" ngx_feature_libs="-lcrypto" ngx_feature_test="MD5_CTX md5; MD5_Init(&md5)" . auto/feature ngx_md5_lib="system crypto" if [ $ngx_found = yes ]; then have=NGX_HAVE_OPENSSL_MD5_H . auto/have have=NGX_HAVE_MD5 . auto/have fi fi if [ $ngx_found = yes ]; then CORE_LIBS="$CORE_LIBS $ngx_feature_libs" MD5=YES MD5_LIB=$ngx_md5_lib fi fi fi