Mercurial > hg > nginx
annotate src/http/ngx_http.h @ 9322:d6f75dd66761 default tip
Mp4: added and updated sanity checks for "end" handling.
When handling incorrect data in ngx_http_mp4_crop_stsc_data(),
trak->end_chunk_samples might end up being arbitrary large, leading
to reading before the buffer in ngx_http_mp4_update_stsz_atom(). Fix
is to check that trak->end_chunk_samples corresponds to a memory within
the stsz atom data. For consistency, trak->start_chunk_samples
is checked similarly.
Similarly, trak->end_chunk might end up being smaller than trak->start_chunk,
leading to reading memory after the buffer in ngx_http_mp4_update_stco_atom()
and ngx_http_mp4_update_co64_atom(). Corresponding checks are updated
to explicitly test (trak->end_chunk - trak->start_chunk) instead of just
checking trak->end_chunk and assuming it is larger than trak->start_chunk.
This is generally in line with existing checks of
(trak->end_sample - trak->start_sample) in ngx_http_mp4_update_stsz_atom(),
where trak->end_sample might also become smaller than trak->start_sample
when handling incorrect data in ngx_http_mp4_crop_stts_data().
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sun, 25 Aug 2024 06:35:40 +0300 |
parents | f3df785649ae |
children |
rev | line source |
---|---|
441
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
1 |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
2 /* |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
441
diff
changeset
|
3 * Copyright (C) Igor Sysoev |
4412 | 4 * Copyright (C) Nginx, Inc. |
441
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
5 */ |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
6 |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
7 |
0
4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #ifndef _NGX_HTTP_H_INCLUDED_ |
4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 #define _NGX_HTTP_H_INCLUDED_ |
4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 |
4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
12 #include <ngx_config.h> |
100
7ebc8b7fb816
nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
99
diff
changeset
|
13 #include <ngx_core.h> |
190
02a715e85df1
nginx-0.0.1-2003-11-19-00:34:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
178
diff
changeset
|
14 |
509 | 15 |
2592
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
16 typedef struct ngx_http_request_s ngx_http_request_t; |
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
17 typedef struct ngx_http_upstream_s ngx_http_upstream_t; |
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
18 typedef struct ngx_http_cache_s ngx_http_cache_t; |
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
19 typedef struct ngx_http_file_cache_s ngx_http_file_cache_t; |
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
20 typedef struct ngx_http_log_ctx_s ngx_http_log_ctx_t; |
4925
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
21 typedef struct ngx_http_chunked_s ngx_http_chunked_t; |
6246
257b51c37c5a
The HTTP/2 implementation (RFC 7240, 7241).
Valentin Bartenev <vbart@nginx.com>
parents:
6180
diff
changeset
|
22 typedef struct ngx_http_v2_stream_s ngx_http_v2_stream_t; |
8706
3057bae4dba7
HTTP/3: introduced ngx_http_v3_parse_t structure.
Roman Arutyunyan <arut@nginx.com>
parents:
8689
diff
changeset
|
23 typedef struct ngx_http_v3_parse_s ngx_http_v3_parse_t; |
8770
67f0eb150047
HTTP/3: renamed ngx_http_v3_connection_t to ngx_http_v3_session_t.
Roman Arutyunyan <arut@nginx.com>
parents:
8769
diff
changeset
|
24 typedef struct ngx_http_v3_session_s ngx_http_v3_session_t; |
5121
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
25 |
509 | 26 typedef ngx_int_t (*ngx_http_header_handler_pt)(ngx_http_request_t *r, |
27 ngx_table_elt_t *h, ngx_uint_t offset); | |
665 | 28 typedef u_char *(*ngx_http_log_handler_pt)(ngx_http_request_t *r, |
29 ngx_http_request_t *sr, u_char *buf, size_t len); | |
501 | 30 |
197
0b81c7a0b133
nginx-0.0.1-2003-11-27-10:45:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
191
diff
changeset
|
31 |
509 | 32 #include <ngx_http_variables.h> |
5089
903f2a5d86a5
SNI: reuse selected configuration for all requests in a connection.
Valentin Bartenev <vbart@nginx.com>
parents:
5008
diff
changeset
|
33 #include <ngx_http_config.h> |
509 | 34 #include <ngx_http_request.h> |
5008
fd84344f1df7
Fixed and improved the "*_bind" directives of proxying modules.
Ruslan Ermilov <ru@nginx.com>
parents:
4925
diff
changeset
|
35 #include <ngx_http_script.h> |
479 | 36 #include <ngx_http_upstream.h> |
884 | 37 #include <ngx_http_upstream_round_robin.h> |
96
a23d010f356d
nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
91
diff
changeset
|
38 #include <ngx_http_core_module.h> |
0
4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
39 |
6246
257b51c37c5a
The HTTP/2 implementation (RFC 7240, 7241).
Valentin Bartenev <vbart@nginx.com>
parents:
6180
diff
changeset
|
40 #if (NGX_HTTP_V2) |
257b51c37c5a
The HTTP/2 implementation (RFC 7240, 7241).
Valentin Bartenev <vbart@nginx.com>
parents:
6180
diff
changeset
|
41 #include <ngx_http_v2.h> |
5121
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
42 #endif |
8215 | 43 #if (NGX_HTTP_V3) |
44 #include <ngx_http_v3.h> | |
45 #endif | |
2592
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
46 #if (NGX_HTTP_CACHE) |
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
47 #include <ngx_http_cache.h> |
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
48 #endif |
597 | 49 #if (NGX_HTTP_SSI) |
50 #include <ngx_http_ssi_filter_module.h> | |
51 #endif | |
395
f8f0f1834266
nginx-0.0.7-2004-07-16-21:11:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
392
diff
changeset
|
52 #if (NGX_HTTP_SSL) |
f8f0f1834266
nginx-0.0.7-2004-07-16-21:11:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
392
diff
changeset
|
53 #include <ngx_http_ssl_module.h> |
383
c05876036128
nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
356
diff
changeset
|
54 #endif |
c05876036128
nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
356
diff
changeset
|
55 |
26
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
56 |
479 | 57 struct ngx_http_log_ctx_s { |
1810 | 58 ngx_connection_t *connection; |
461 | 59 ngx_http_request_t *request; |
665 | 60 ngx_http_request_t *current_request; |
479 | 61 }; |
6
669801705ab1
nginx-0.0.1-2002-08-26-19:18:19 import
Igor Sysoev <igor@sysoev.ru>
parents:
4
diff
changeset
|
62 |
0
4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
63 |
4925
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
64 struct ngx_http_chunked_s { |
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
65 ngx_uint_t state; |
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
66 off_t size; |
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
67 off_t length; |
9240
f3df785649ae
Request body: limited chunk extensions and trailer headers.
Maxim Dounin <mdounin@mdounin.ru>
parents:
9021
diff
changeset
|
68 off_t skipped; |
4925
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
69 }; |
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
70 |
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
71 |
3626 | 72 typedef struct { |
4125
e5df04b05e75
Protocol version parsing in ngx_http_parse_status_line().
Maxim Dounin <mdounin@mdounin.ru>
parents:
3772
diff
changeset
|
73 ngx_uint_t http_version; |
3626 | 74 ngx_uint_t code; |
75 ngx_uint_t count; | |
76 u_char *start; | |
77 u_char *end; | |
78 } ngx_http_status_t; | |
79 | |
80 | |
675 | 81 #define ngx_http_get_module_ctx(r, module) (r)->ctx[module.ctx_index] |
82 #define ngx_http_set_ctx(r, c, module) r->ctx[module.ctx_index] = c; | |
9
6f58641241bb
nginx-0.0.1-2002-09-07-14:14:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
8
diff
changeset
|
83 |
6f58641241bb
nginx-0.0.1-2002-09-07-14:14:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
8
diff
changeset
|
84 |
2027 | 85 ngx_int_t ngx_http_add_location(ngx_conf_t *cf, ngx_queue_t **locations, |
86 ngx_http_core_loc_conf_t *clcf); | |
3217 | 87 ngx_int_t ngx_http_add_listen(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf, |
3220
cdcd9e29c589
*) move sockaddr to the listen options
Igor Sysoev <igor@sysoev.ru>
parents:
3217
diff
changeset
|
88 ngx_http_listen_opt_t *lsopt); |
2027 | 89 |
90 | |
86
3973260705cc
nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
83
diff
changeset
|
91 void ngx_http_init_connection(ngx_connection_t *c); |
5121
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
92 void ngx_http_close_connection(ngx_connection_t *c); |
200
abeaebe0a33c
nginx-0.0.1-2003-11-28-20:41:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
197
diff
changeset
|
93 |
5200
9d83ec073c51
Fixed build with --with-mail_ssl_module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5121
diff
changeset
|
94 #if (NGX_HTTP_SSL && defined SSL_CTRL_SET_TLSEXT_HOSTNAME) |
1219 | 95 int ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg); |
96 #endif | |
7462
be2af41d3620
SSL: variables support in ssl_certificate and ssl_certificate_key.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6718
diff
changeset
|
97 #if (NGX_HTTP_SSL && defined SSL_R_CERT_CB_ERROR) |
be2af41d3620
SSL: variables support in ssl_certificate and ssl_certificate_key.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6718
diff
changeset
|
98 int ngx_http_ssl_certificate(ngx_ssl_conn_t *ssl_conn, void *arg); |
be2af41d3620
SSL: variables support in ssl_certificate and ssl_certificate_key.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6718
diff
changeset
|
99 #endif |
be2af41d3620
SSL: variables support in ssl_certificate and ssl_certificate_key.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6718
diff
changeset
|
100 |
1219 | 101 |
432
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
416
diff
changeset
|
102 ngx_int_t ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b); |
5121
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
103 ngx_int_t ngx_http_parse_uri(ngx_http_request_t *r); |
1585 | 104 ngx_int_t ngx_http_parse_complex_uri(ngx_http_request_t *r, |
105 ngx_uint_t merge_slashes); | |
3626 | 106 ngx_int_t ngx_http_parse_status_line(ngx_http_request_t *r, ngx_buf_t *b, |
107 ngx_http_status_t *status); | |
573 | 108 ngx_int_t ngx_http_parse_unsafe_uri(ngx_http_request_t *r, ngx_str_t *uri, |
109 ngx_str_t *args, ngx_uint_t *flags); | |
2256 | 110 ngx_int_t ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b, |
111 ngx_uint_t allow_underscores); | |
8024
ef6a3a99a81a
Reworked multi headers to use linked lists.
Maxim Dounin <mdounin@mdounin.ru>
parents:
7977
diff
changeset
|
112 ngx_table_elt_t *ngx_http_parse_multi_header_lines(ngx_http_request_t *r, |
ef6a3a99a81a
Reworked multi headers to use linked lists.
Maxim Dounin <mdounin@mdounin.ru>
parents:
7977
diff
changeset
|
113 ngx_table_elt_t *headers, ngx_str_t *name, ngx_str_t *value); |
ef6a3a99a81a
Reworked multi headers to use linked lists.
Maxim Dounin <mdounin@mdounin.ru>
parents:
7977
diff
changeset
|
114 ngx_table_elt_t *ngx_http_parse_set_cookie_lines(ngx_http_request_t *r, |
ef6a3a99a81a
Reworked multi headers to use linked lists.
Maxim Dounin <mdounin@mdounin.ru>
parents:
7977
diff
changeset
|
115 ngx_table_elt_t *headers, ngx_str_t *name, ngx_str_t *value); |
2415 | 116 ngx_int_t ngx_http_arg(ngx_http_request_t *r, u_char *name, size_t len, |
117 ngx_str_t *value); | |
2578 | 118 void ngx_http_split_args(ngx_http_request_t *r, ngx_str_t *uri, |
119 ngx_str_t *args); | |
4925
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
120 ngx_int_t ngx_http_parse_chunked(ngx_http_request_t *r, ngx_buf_t *b, |
32030fa8cb14
Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
121 ngx_http_chunked_t *ctx); |
2415 | 122 |
200
abeaebe0a33c
nginx-0.0.1-2003-11-28-20:41:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
197
diff
changeset
|
123 |
5121
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
124 ngx_http_request_t *ngx_http_create_request(ngx_connection_t *c); |
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
125 ngx_int_t ngx_http_process_request_uri(ngx_http_request_t *r); |
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
126 ngx_int_t ngx_http_process_request_header(ngx_http_request_t *r); |
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
127 void ngx_http_process_request(ngx_http_request_t *r); |
535 | 128 void ngx_http_update_location_config(ngx_http_request_t *r); |
88
674d333f4296
nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents:
87
diff
changeset
|
129 void ngx_http_handler(ngx_http_request_t *r); |
2377
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2294
diff
changeset
|
130 void ngx_http_run_posted_requests(ngx_connection_t *c); |
3064 | 131 ngx_int_t ngx_http_post_request(ngx_http_request_t *r, |
132 ngx_http_posted_request_t *pr); | |
8679
e1eb7f4ca9f1
HTTP/3: refactored request parser.
Roman Arutyunyan <arut@nginx.com>
parents:
8497
diff
changeset
|
133 ngx_int_t ngx_http_set_virtual_server(ngx_http_request_t *r, |
e1eb7f4ca9f1
HTTP/3: refactored request parser.
Roman Arutyunyan <arut@nginx.com>
parents:
8497
diff
changeset
|
134 ngx_str_t *host); |
e1eb7f4ca9f1
HTTP/3: refactored request parser.
Roman Arutyunyan <arut@nginx.com>
parents:
8497
diff
changeset
|
135 ngx_int_t ngx_http_validate_host(ngx_str_t *host, ngx_pool_t *pool, |
e1eb7f4ca9f1
HTTP/3: refactored request parser.
Roman Arutyunyan <arut@nginx.com>
parents:
8497
diff
changeset
|
136 ngx_uint_t alloc); |
e1eb7f4ca9f1
HTTP/3: refactored request parser.
Roman Arutyunyan <arut@nginx.com>
parents:
8497
diff
changeset
|
137 void ngx_http_close_request(ngx_http_request_t *r, ngx_int_t rc); |
509 | 138 void ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc); |
5121
c0f7b94e88ba
Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents:
5108
diff
changeset
|
139 void ngx_http_free_request(ngx_http_request_t *r, ngx_int_t rc); |
87
5f6d848dcbef
nginx-0.0.1-2003-05-13-20:02:32 import
Igor Sysoev <igor@sysoev.ru>
parents:
86
diff
changeset
|
140 |
191
71ce40b3c37b
nginx-0.0.1-2003-11-19-19:26:41 import
Igor Sysoev <igor@sysoev.ru>
parents:
190
diff
changeset
|
141 void ngx_http_empty_handler(ngx_event_t *wev); |
509 | 142 void ngx_http_request_empty_handler(ngx_http_request_t *r); |
87
5f6d848dcbef
nginx-0.0.1-2003-05-13-20:02:32 import
Igor Sysoev <igor@sysoev.ru>
parents:
86
diff
changeset
|
143 |
2377
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2294
diff
changeset
|
144 |
581 | 145 #define NGX_HTTP_LAST 1 |
146 #define NGX_HTTP_FLUSH 2 | |
147 | |
148 ngx_int_t ngx_http_send_special(ngx_http_request_t *r, ngx_uint_t flags); | |
149 | |
59
e8cdc2989cee
nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents:
58
diff
changeset
|
150 |
479 | 151 ngx_int_t ngx_http_read_client_request_body(ngx_http_request_t *r, |
499 | 152 ngx_http_client_body_handler_pt post_handler); |
6050
a08fad30aeac
Request body: unbuffered reading.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6049
diff
changeset
|
153 ngx_int_t ngx_http_read_unbuffered_request_body(ngx_http_request_t *r); |
83
a7e45c45a95c
nginx-0.0.1-2003-04-28-19:06:39 import
Igor Sysoev <igor@sysoev.ru>
parents:
82
diff
changeset
|
154 |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
155 ngx_int_t ngx_http_send_header(ngx_http_request_t *r); |
499 | 156 ngx_int_t ngx_http_special_response_handler(ngx_http_request_t *r, |
157 ngx_int_t error); | |
2787
3daf68f2efe3
ngx_http_filter_finalize_request() and ngx_http_clean_header()
Igor Sysoev <igor@sysoev.ru>
parents:
2592
diff
changeset
|
158 ngx_int_t ngx_http_filter_finalize_request(ngx_http_request_t *r, |
2821
26e06e009ced
allow to pass image filter errors via the same location where the filter is set
Igor Sysoev <igor@sysoev.ru>
parents:
2787
diff
changeset
|
159 ngx_module_t *m, ngx_int_t error); |
2787
3daf68f2efe3
ngx_http_filter_finalize_request() and ngx_http_clean_header()
Igor Sysoev <igor@sysoev.ru>
parents:
2592
diff
changeset
|
160 void ngx_http_clean_header(ngx_http_request_t *r); |
59
e8cdc2989cee
nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents:
58
diff
changeset
|
161 |
e8cdc2989cee
nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents:
58
diff
changeset
|
162 |
1370
cc114c85be0f
rename ngx_http_discard_body() to ngx_http_discard_request_body()
Igor Sysoev <igor@sysoev.ru>
parents:
1368
diff
changeset
|
163 ngx_int_t ngx_http_discard_request_body(ngx_http_request_t *r); |
3214
798a7f1d3b2f
restore discard body handler after ngx_http_set_writer() set it to
Igor Sysoev <igor@sysoev.ru>
parents:
3064
diff
changeset
|
164 void ngx_http_discarded_request_body_handler(ngx_http_request_t *r); |
1368
202cae9a0c2b
rename ngx_http_block_read() and ngx_http_test_read() to ..._reading()
Igor Sysoev <igor@sysoev.ru>
parents:
1219
diff
changeset
|
165 void ngx_http_block_reading(ngx_http_request_t *r); |
2294 | 166 void ngx_http_test_reading(ngx_http_request_t *r); |
26
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
167 |
58
6b13b1cadabe
nginx-0.0.1-2003-01-30-21:21:39 import
Igor Sysoev <igor@sysoev.ru>
parents:
56
diff
changeset
|
168 |
2138 | 169 char *ngx_http_types_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); |
3372
6b8e5c882e47
support "*" in gzip_types, ssi_types, etc
Igor Sysoev <igor@sysoev.ru>
parents:
3220
diff
changeset
|
170 char *ngx_http_merge_types(ngx_conf_t *cf, ngx_array_t **keys, |
6b8e5c882e47
support "*" in gzip_types, ssi_types, etc
Igor Sysoev <igor@sysoev.ru>
parents:
3220
diff
changeset
|
171 ngx_hash_t *types_hash, ngx_array_t **prev_keys, |
6b8e5c882e47
support "*" in gzip_types, ssi_types, etc
Igor Sysoev <igor@sysoev.ru>
parents:
3220
diff
changeset
|
172 ngx_hash_t *prev_types_hash, ngx_str_t *default_types); |
2175
a69886fc2864
*) fix segfaults in types hash
Igor Sysoev <igor@sysoev.ru>
parents:
2166
diff
changeset
|
173 ngx_int_t ngx_http_set_default_types(ngx_conf_t *cf, ngx_array_t **types, |
2138 | 174 ngx_str_t *default_type); |
175 | |
3772 | 176 #if (NGX_HTTP_DEGRADATION) |
177 ngx_uint_t ngx_http_degraded(ngx_http_request_t *); | |
178 #endif | |
179 | |
2138 | 180 |
8830
d4a6c03cfcb6
HTTP/3: got rid of HTTP/2 module dependency.
Vladimir Homutov <vl@nginx.com>
parents:
8770
diff
changeset
|
181 #if (NGX_HTTP_V2 || NGX_HTTP_V3) |
7977
336084ff943b
Moved Huffman coding out of HTTP/2.
Ruslan Ermilov <ru@nginx.com>
parents:
7462
diff
changeset
|
182 ngx_int_t ngx_http_huff_decode(u_char *state, u_char *src, size_t len, |
336084ff943b
Moved Huffman coding out of HTTP/2.
Ruslan Ermilov <ru@nginx.com>
parents:
7462
diff
changeset
|
183 u_char **dst, ngx_uint_t last, ngx_log_t *log); |
336084ff943b
Moved Huffman coding out of HTTP/2.
Ruslan Ermilov <ru@nginx.com>
parents:
7462
diff
changeset
|
184 size_t ngx_http_huff_encode(u_char *src, size_t len, u_char *dst, |
336084ff943b
Moved Huffman coding out of HTTP/2.
Ruslan Ermilov <ru@nginx.com>
parents:
7462
diff
changeset
|
185 ngx_uint_t lower); |
336084ff943b
Moved Huffman coding out of HTTP/2.
Ruslan Ermilov <ru@nginx.com>
parents:
7462
diff
changeset
|
186 #endif |
336084ff943b
Moved Huffman coding out of HTTP/2.
Ruslan Ermilov <ru@nginx.com>
parents:
7462
diff
changeset
|
187 |
336084ff943b
Moved Huffman coding out of HTTP/2.
Ruslan Ermilov <ru@nginx.com>
parents:
7462
diff
changeset
|
188 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
89
diff
changeset
|
189 extern ngx_module_t ngx_http_module; |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
43
diff
changeset
|
190 |
2166
723df5089c05
use hash in gzip_types, ssi_types, and sub_filter_types
Igor Sysoev <igor@sysoev.ru>
parents:
2138
diff
changeset
|
191 extern ngx_str_t ngx_http_html_default_types[]; |
723df5089c05
use hash in gzip_types, ssi_types, and sub_filter_types
Igor Sysoev <igor@sysoev.ru>
parents:
2138
diff
changeset
|
192 |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
9
diff
changeset
|
193 |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
194 extern ngx_http_output_header_filter_pt ngx_http_top_header_filter; |
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
195 extern ngx_http_output_body_filter_pt ngx_http_top_body_filter; |
6049
42d9beeb22db
Request body: filters support.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6032
diff
changeset
|
196 extern ngx_http_request_body_filter_pt ngx_http_top_request_body_filter; |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
197 |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
43
diff
changeset
|
198 |
0
4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
199 #endif /* _NGX_HTTP_H_INCLUDED_ */ |