Mercurial > hg > nginx-vendor-current
annotate src/core/ngx_md5.h @ 670:ad45b044f1e5 NGINX_1_1_19
nginx 1.1.19
*) Security: specially crafted mp4 file might allow to overwrite memory
locations in a worker process if the ngx_http_mp4_module was used,
potentially resulting in arbitrary code execution (CVE-2012-2089).
Thanks to Matthew Daley.
*) Bugfix: nginx/Windows might be terminated abnormally.
Thanks to Vincent Lee.
*) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
"backup".
*) Bugfix: the "allow" and "deny" directives might be inherited
incorrectly if they were used with IPv6 addresses.
*) Bugfix: the "modern_browser" and "ancient_browser" directives might
be inherited incorrectly.
*) Bugfix: timeouts might be handled incorrectly on Solaris/SPARC.
*) Bugfix: in the ngx_http_mp4_module.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 12 Apr 2012 00:00:00 +0400 |
parents | d0f7a625f27c |
children |
rev | line source |
---|---|
342 | 1 |
2 /* | |
3 * Copyright (C) Igor Sysoev | |
660 | 4 * Copyright (C) Nginx, Inc. |
342 | 5 */ |
6 | |
7 | |
8 #ifndef _NGX_MD5_H_INCLUDED_ | |
9 #define _NGX_MD5_H_INCLUDED_ | |
10 | |
11 | |
12 #include <ngx_config.h> | |
13 #include <ngx_core.h> | |
14 | |
15 | |
622 | 16 #if (NGX_HAVE_MD5) |
17 | |
342 | 18 #if (NGX_HAVE_OPENSSL_MD5_H) |
19 #include <openssl/md5.h> | |
20 #else | |
21 #include <md5.h> | |
22 #endif | |
23 | |
24 | |
25 typedef MD5_CTX ngx_md5_t; | |
26 | |
27 | |
28 #if (NGX_OPENSSL_MD5) | |
29 | |
344 | 30 #define ngx_md5_init MD5_Init |
31 #define ngx_md5_update MD5_Update | |
32 #define ngx_md5_final MD5_Final | |
342 | 33 |
34 #else | |
35 | |
344 | 36 #define ngx_md5_init MD5Init |
37 #define ngx_md5_update MD5Update | |
38 #define ngx_md5_final MD5Final | |
342 | 39 |
40 #endif | |
41 | |
42 | |
622 | 43 #else /* !NGX_HAVE_MD5 */ |
44 | |
45 | |
46 typedef struct { | |
47 uint64_t bytes; | |
48 uint32_t a, b, c, d; | |
49 u_char buffer[64]; | |
50 } ngx_md5_t; | |
51 | |
52 | |
53 void ngx_md5_init(ngx_md5_t *ctx); | |
628 | 54 void ngx_md5_update(ngx_md5_t *ctx, const void *data, size_t size); |
622 | 55 void ngx_md5_final(u_char result[16], ngx_md5_t *ctx); |
56 | |
57 | |
58 #endif | |
59 | |
342 | 60 #endif /* _NGX_MD5_H_INCLUDED_ */ |