Mercurial > hg > nginx
annotate src/core/ngx_sha1.h @ 5226:a30ea5c6451d
Memcached: stricten header validation.
An invalid memcached reply that started with '\n' could cause
segmentation fault.
An invalid memcached reply "VALUE / 0 2\r?ok\r\nEND\r\n" was
considered as a valid response.
In addition, if memcached reports that the key was not found,
set u->headers_in.content_length_n to 0. This ensures that
ngx_http_memcached_filter() will not be called while previous
code relied on always intercepting 404. Initialization of
ctx->rest was moved to where it belongs.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Thu, 23 May 2013 16:26:10 +0400 |
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_ */ |