Mercurial > hg > nginx-quic
annotate src/core/ngx_sha1.h @ 8869:f8f6b9fee66a
FastCGI: combining headers with identical names (ticket #1724).
FastCGI responder is expected to receive CGI/1.1 environment variables
in the parameters (see section "6.2 Responder" of the FastCGI specification).
Obviously enough, there cannot be multiple environment variables with
the same name.
Further, CGI specification (RFC 3875, section "4.1.18. Protocol-Specific
Meta-Variables") explicitly requires to combine headers: "If multiple
header fields with the same field-name are received then the server MUST
rewrite them as a single value having the same semantics".
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 30 May 2022 21:25:27 +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_ */ |