blob: 7fe4c98873ecad8d3bea5a6f6ebca93cde35075a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#ifndef _NGX_SHA1_H_INCLUDED_
#define _NGX_SHA1_H_INCLUDED_
#include <ngx_config.h>
#include <ngx_core.h>
#if (NGX_HAVE_SHA1)
#if (NGX_HAVE_OPENSSL_SHA1_H)
#include <openssl/sha.h>
#else
#include <sha.h>
#endif
typedef SHA_CTX ngx_sha1_t;
#define ngx_sha1_init SHA1_Init
#define ngx_sha1_update SHA1_Update
#define ngx_sha1_final SHA1_Final
#else /* !NGX_HAVE_SHA1 */
typedef struct {
uint64_t bytes;
uint32_t a, b, c, d, e, f;
u_char buffer[64];
} ngx_sha1_t;
void ngx_sha1_init(ngx_sha1_t *ctx);
void ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size);
void ngx_sha1_final(u_char result[20], ngx_sha1_t *ctx);
#endif
#endif /* _NGX_SHA1_H_INCLUDED_ */
|