Mercurial > hg > nginx-quic
annotate src/core/ngx_sha1.h @ 6512:b5734248d5e7
FastCGI: skip special bufs in buffered request body chain.
This prevents forming empty records out of such buffers. Particularly it fixes
double end-of-stream records with chunked transfer encoding, or when HTTP/2 is
used and the END_STREAM flag has been sent without data. In both cases there
is an empty buffer at the end of the request body chain with the "last_buf"
flag set.
The canonical libfcgi, as well as php implementation, tolerates such records,
while the HHVM parser is more strict and drops the connection (ticket #950).
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Mon, 11 Apr 2016 18:42:34 +0300 |
parents | d620f497c50f |
children | 1064ea81ed3a |
rev | line source |
---|---|
1573 | 1 |
2 /* | |
3 * Copyright (C) Igor Sysoev | |
4412 | 4 * Copyright (C) Nginx, Inc. |
1573 | 5 */ |
6 | |
7 | |
8 #ifndef _NGX_SHA1_H_INCLUDED_ | |
9 #define _NGX_SHA1_H_INCLUDED_ | |
10 | |
11 | |
12 #include <ngx_config.h> | |
13 #include <ngx_core.h> | |
14 | |
15 | |
16 #if (NGX_HAVE_OPENSSL_SHA1_H) | |
17 #include <openssl/sha.h> | |
18 #else | |
19 #include <sha.h> | |
20 #endif | |
21 | |
22 | |
23 typedef SHA_CTX ngx_sha1_t; | |
24 | |
25 | |
1598 | 26 #define ngx_sha1_init SHA1_Init |
27 #define ngx_sha1_update SHA1_Update | |
28 #define ngx_sha1_final SHA1_Final | |
1573 | 29 |
30 | |
31 #endif /* _NGX_SHA1_H_INCLUDED_ */ |