annotate src/core/ngx_md5.h @ 3895:b659514a3948

an internal MD5 implemenation patch by Maxim Dounin
author Igor Sysoev <igor@sysoev.ru>
date Fri, 15 Apr 2011 15:58:06 +0000
parents 27d4ed42e49d
children 38e6f45c5e3d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1572
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 /*
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
3 * Copyright (C) Igor Sysoev
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4 */
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7 #ifndef _NGX_MD5_H_INCLUDED_
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #define _NGX_MD5_H_INCLUDED_
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 #include <ngx_config.h>
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 #include <ngx_core.h>
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14
3895
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
15 #if (NGX_HAVE_MD5)
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
16
1572
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
17 #if (NGX_HAVE_OPENSSL_MD5_H)
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
18 #include <openssl/md5.h>
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
19 #else
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20 #include <md5.h>
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 #endif
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
24 typedef MD5_CTX ngx_md5_t;
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
25
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
27 #if (NGX_OPENSSL_MD5)
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
28
1598
27d4ed42e49d style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1572
diff changeset
29 #define ngx_md5_init MD5_Init
27d4ed42e49d style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1572
diff changeset
30 #define ngx_md5_update MD5_Update
27d4ed42e49d style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1572
diff changeset
31 #define ngx_md5_final MD5_Final
1572
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
32
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
33 #else
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
34
1598
27d4ed42e49d style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1572
diff changeset
35 #define ngx_md5_init MD5Init
27d4ed42e49d style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1572
diff changeset
36 #define ngx_md5_update MD5Update
27d4ed42e49d style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1572
diff changeset
37 #define ngx_md5_final MD5Final
1572
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
39 #endif
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
40
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
41
3895
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
42 #else /* !NGX_HAVE_MD5 */
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
43
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
44
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
45 typedef struct {
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
46 uint64_t bytes;
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
47 uint32_t a, b, c, d;
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
48 u_char buffer[64];
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
49 } ngx_md5_t;
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
50
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
51
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
52 void ngx_md5_init(ngx_md5_t *ctx);
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
53 void ngx_md5_update(ngx_md5_t *ctx, const u_char *data, size_t size);
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
54 void ngx_md5_final(u_char result[16], ngx_md5_t *ctx);
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
55
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
56
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
57 #endif
b659514a3948 an internal MD5 implemenation
Igor Sysoev <igor@sysoev.ru>
parents: 1598
diff changeset
58
1572
a3c0b8dadc16 ngx_md5.h
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
59 #endif /* _NGX_MD5_H_INCLUDED_ */