Mercurial > hg > nginx
annotate src/core/ngx_sha1.h @ 7738:554c6ae25ffc
SSL: fixed non-working SSL shutdown on lingering close.
When doing lingering close, the socket was first shut down for writing,
so SSL shutdown initiated after lingering close was not able to send
the close_notify alerts (ticket #2056).
The fix is to call ngx_ssl_shutdown() before shutting down the socket.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Fri, 06 Nov 2020 23:44:54 +0300 |
parents | 9eefb38f0005 |
children |
rev | line source |
---|---|
1573 | 1 |
2 /* | |
3 * Copyright (C) Igor Sysoev | |
4412 | 4 * Copyright (C) Nginx, Inc. |
1573 | 5 */ |
6 | |
7 | |
8 #ifndef _NGX_SHA1_H_INCLUDED_ | |
9 #define _NGX_SHA1_H_INCLUDED_ | |
10 | |
11 | |
12 #include <ngx_config.h> | |
13 #include <ngx_core.h> | |
14 | |
15 | |
6586
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
16 typedef struct { |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
17 uint64_t bytes; |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
18 uint32_t a, b, c, d, e, f; |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
19 u_char buffer[64]; |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
20 } ngx_sha1_t; |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
21 |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
22 |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
23 void ngx_sha1_init(ngx_sha1_t *ctx); |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
24 void ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size); |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
25 void ngx_sha1_final(u_char result[20], ngx_sha1_t *ctx); |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
26 |
1064ea81ed3a
An internal SHA1 implementation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
27 |
1573 | 28 #endif /* _NGX_SHA1_H_INCLUDED_ */ |