annotate src/core/ngx_md5.h @ 644:ad25218fd14b NGINX_1_0_12

nginx 1.0.12 *) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive. *) Feature: the "if" SSI command supports captures in regular expressions. *) Bugfix: the "if" SSI command did not work inside the "block" command. *) Bugfix: in AIO error handling on FreeBSD. *) Bugfix: in the OpenSSL library initialization. *) Bugfix: the "worker_cpu_affinity" directive might not work. *) Bugfix: the "limit_conn_log_level" and "limit_req_log_level" directives might not work. *) Bugfix: the "read_ahead" directive might not work combined with "try_files" and "open_file_cache". *) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter did not return answer from cache if there were no live upstreams. *) Bugfix: a segmentation fault might occur in a worker process if small time was used in the "inactive" parameter of the "proxy_cache_path" directive. *) Bugfix: responses from cache might hang. *) Bugfix: in error handling while connecting to a backend. Thanks to Piotr Sikora. *) Bugfix: in the "epoll" event method. Thanks to Yichun Zhang. *) Bugfix: the $sent_http_cache_control variable might contain a wrong value if the "expires" directive was used. Thanks to Yichun Zhang. *) Bugfix: the "limit_rate" directive did not allow to use full throughput, even if limit value was very high. *) Bugfix: the "sendfile_max_chunk" directive did not work, if the "limit_rate" directive was used. *) Bugfix: nginx could not be built on Solaris; the bug had appeared in 1.0.11. *) Bugfix: in the ngx_http_scgi_module. *) Bugfix: in the ngx_http_mp4_module.
author Igor Sysoev <http://sysoev.ru>
date Mon, 06 Feb 2012 00:00:00 +0400
parents 83b58b182b76
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
342
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 /*
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3 * Copyright (C) Igor Sysoev
644
ad25218fd14b nginx 1.0.12
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
4 * Copyright (C) Nginx, Inc.
342
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
5 */
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
6
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
7
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8 #ifndef _NGX_MD5_H_INCLUDED_
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
9 #define _NGX_MD5_H_INCLUDED_
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
11
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12 #include <ngx_config.h>
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13 #include <ngx_core.h>
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
15
622
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
16 #if (NGX_HAVE_MD5)
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
17
342
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18 #if (NGX_HAVE_OPENSSL_MD5_H)
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
19 #include <openssl/md5.h>
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20 #else
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21 #include <md5.h>
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 #endif
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
24
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25 typedef MD5_CTX ngx_md5_t;
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
26
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
27
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
28 #if (NGX_OPENSSL_MD5)
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
29
344
eae74a780a84 nginx 0.6.16
Igor Sysoev <http://sysoev.ru>
parents: 342
diff changeset
30 #define ngx_md5_init MD5_Init
eae74a780a84 nginx 0.6.16
Igor Sysoev <http://sysoev.ru>
parents: 342
diff changeset
31 #define ngx_md5_update MD5_Update
eae74a780a84 nginx 0.6.16
Igor Sysoev <http://sysoev.ru>
parents: 342
diff changeset
32 #define ngx_md5_final MD5_Final
342
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
33
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34 #else
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35
344
eae74a780a84 nginx 0.6.16
Igor Sysoev <http://sysoev.ru>
parents: 342
diff changeset
36 #define ngx_md5_init MD5Init
eae74a780a84 nginx 0.6.16
Igor Sysoev <http://sysoev.ru>
parents: 342
diff changeset
37 #define ngx_md5_update MD5Update
eae74a780a84 nginx 0.6.16
Igor Sysoev <http://sysoev.ru>
parents: 342
diff changeset
38 #define ngx_md5_final MD5Final
342
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
39
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
40 #endif
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42
622
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
43 #else /* !NGX_HAVE_MD5 */
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
44
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
45
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
46 typedef struct {
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
47 uint64_t bytes;
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
48 uint32_t a, b, c, d;
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
49 u_char buffer[64];
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
50 } ngx_md5_t;
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
51
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
52
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
53 void ngx_md5_init(ngx_md5_t *ctx);
628
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
54 void ngx_md5_update(ngx_md5_t *ctx, const void *data, size_t size);
622
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
55 void ngx_md5_final(u_char result[16], ngx_md5_t *ctx);
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
56
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
57
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
58 #endif
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 344
diff changeset
59
342
4276c2f1f434 nginx 0.6.15
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
60 #endif /* _NGX_MD5_H_INCLUDED_ */