Mercurial > hg > nginx
comparison src/core/ngx_md5.h @ 6603:9eefb38f0005
Internal md5 and sha1 implementations are now always used.
This reduces the number of moving parts in ABI compatibility checks.
Additionally, it also allows to use OpenSSL in FIPS mode while still
using md5 for non-security tasks.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 30 Jun 2016 18:57:39 +0300 |
parents | d620f497c50f |
children |
comparison
equal
deleted
inserted
replaced
6602:bcd442b585f0 | 6603:9eefb38f0005 |
---|---|
11 | 11 |
12 #include <ngx_config.h> | 12 #include <ngx_config.h> |
13 #include <ngx_core.h> | 13 #include <ngx_core.h> |
14 | 14 |
15 | 15 |
16 #if (NGX_HAVE_MD5) | |
17 | |
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 | |
30 #define ngx_md5_init MD5_Init | |
31 #define ngx_md5_update MD5_Update | |
32 #define ngx_md5_final MD5_Final | |
33 | |
34 #else | |
35 | |
36 #define ngx_md5_init MD5Init | |
37 #define ngx_md5_update MD5Update | |
38 #define ngx_md5_final MD5Final | |
39 | |
40 #endif | |
41 | |
42 | |
43 #else /* !NGX_HAVE_MD5 */ | |
44 | |
45 | |
46 typedef struct { | 16 typedef struct { |
47 uint64_t bytes; | 17 uint64_t bytes; |
48 uint32_t a, b, c, d; | 18 uint32_t a, b, c, d; |
49 u_char buffer[64]; | 19 u_char buffer[64]; |
50 } ngx_md5_t; | 20 } ngx_md5_t; |
53 void ngx_md5_init(ngx_md5_t *ctx); | 23 void ngx_md5_init(ngx_md5_t *ctx); |
54 void ngx_md5_update(ngx_md5_t *ctx, const void *data, size_t size); | 24 void ngx_md5_update(ngx_md5_t *ctx, const void *data, size_t size); |
55 void ngx_md5_final(u_char result[16], ngx_md5_t *ctx); | 25 void ngx_md5_final(u_char result[16], ngx_md5_t *ctx); |
56 | 26 |
57 | 27 |
58 #endif | |
59 | |
60 #endif /* _NGX_MD5_H_INCLUDED_ */ | 28 #endif /* _NGX_MD5_H_INCLUDED_ */ |