Mercurial > hg > nginx-quic
annotate src/core/ngx_cycle.h @ 6901:72bb626484a4
SSL: fixed ssl_buffer_size on SNI virtual hosts (ticket #1192).
Previously, buffer size was not changed from the one saved during
initial ngx_ssl_create_connection(), even if the buffer itself was not
yet created. Fix is to change c->ssl->buffer_size in the SNI callback.
Note that it should be also possible to update buffer size even in non-SNI
virtual hosts as long as the buffer is not yet allocated. This looks
like an overcomplication though.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 02 Feb 2017 20:29:16 +0300 |
parents | 426828549afc |
children | 97c99bb43737 |
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:
414
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:
414
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:
414
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:
414
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:
414
diff
changeset
|
7 |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #ifndef _NGX_CYCLE_H_INCLUDED_ |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 #define _NGX_CYCLE_H_INCLUDED_ |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
12 #include <ngx_config.h> |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
13 #include <ngx_core.h> |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
14 |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
15 |
507 | 16 #ifndef NGX_CYCLE_POOL_SIZE |
5124
5482671df278
Use NGX_DEFAULT_POOL_SIZE macro where appropriate.
Ruslan Ermilov <ru@nginx.com>
parents:
4870
diff
changeset
|
17 #define NGX_CYCLE_POOL_SIZE NGX_DEFAULT_POOL_SIZE |
507 | 18 #endif |
19 | |
20 | |
461 | 21 #define NGX_DEBUG_POINTS_STOP 1 |
22 #define NGX_DEBUG_POINTS_ABORT 2 | |
23 | |
24 | |
972 | 25 typedef struct ngx_shm_zone_s ngx_shm_zone_t; |
26 | |
993
1b9a4d92173f
pass the inherited shm_zone data
Igor Sysoev <igor@sysoev.ru>
parents:
972
diff
changeset
|
27 typedef ngx_int_t (*ngx_shm_zone_init_pt) (ngx_shm_zone_t *zone, void *data); |
972 | 28 |
29 struct ngx_shm_zone_s { | |
30 void *data; | |
860
201d017ea470
slab allocator in shared memory
Igor Sysoev <igor@sysoev.ru>
parents:
611
diff
changeset
|
31 ngx_shm_t shm; |
972 | 32 ngx_shm_zone_init_pt init; |
33 void *tag; | |
6103
79ddb0bdb273
Upstream: the "zone" directive.
Ruslan Ermilov <ru@nginx.com>
parents:
6016
diff
changeset
|
34 ngx_uint_t noreuse; /* unsigned noreuse:1; */ |
972 | 35 }; |
860
201d017ea470
slab allocator in shared memory
Igor Sysoev <igor@sysoev.ru>
parents:
611
diff
changeset
|
36 |
201d017ea470
slab allocator in shared memory
Igor Sysoev <igor@sysoev.ru>
parents:
611
diff
changeset
|
37 |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
38 struct ngx_cycle_s { |
473 | 39 void ****conf_ctx; |
40 ngx_pool_t *pool; | |
317
1308b98496a2
nginx-0.0.3-2004-04-15-19:34:36 import
Igor Sysoev <igor@sysoev.ru>
parents:
311
diff
changeset
|
41 |
473 | 42 ngx_log_t *log; |
2785
d478379e51ac
*) refactor error_log processing: listen socket log might inherit built-in
Igor Sysoev <igor@sysoev.ru>
parents:
2758
diff
changeset
|
43 ngx_log_t new_log; |
317
1308b98496a2
nginx-0.0.3-2004-04-15-19:34:36 import
Igor Sysoev <igor@sysoev.ru>
parents:
311
diff
changeset
|
44 |
5240
d8af1005e886
Core: fixed handling of "stderr" in error_log.
Vladimir Homutov <vl@nginx.com>
parents:
5124
diff
changeset
|
45 ngx_uint_t log_use_stderr; /* unsigned log_use_stderr:1; */ |
d8af1005e886
Core: fixed handling of "stderr" in error_log.
Vladimir Homutov <vl@nginx.com>
parents:
5124
diff
changeset
|
46 |
543 | 47 ngx_connection_t **files; |
48 ngx_connection_t *free_connections; | |
49 ngx_uint_t free_connection_n; | |
50 | |
6379
cf5e822cf470
Dynamic modules: changed ngx_modules to cycle->modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6335
diff
changeset
|
51 ngx_module_t **modules; |
6383 | 52 ngx_uint_t modules_n; |
53 ngx_uint_t modules_used; /* unsigned modules_used:1; */ | |
6379
cf5e822cf470
Dynamic modules: changed ngx_modules to cycle->modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6335
diff
changeset
|
54 |
3880
e3cb8e27e413
reuse keepalive connections if there are no free worker connections
Igor Sysoev <igor@sysoev.ru>
parents:
3762
diff
changeset
|
55 ngx_queue_t reusable_connections_queue; |
6873
426828549afc
Improved connection draining with small number of connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6776
diff
changeset
|
56 ngx_uint_t reusable_connections_n; |
3880
e3cb8e27e413
reuse keepalive connections if there are no free worker connections
Igor Sysoev <igor@sysoev.ru>
parents:
3762
diff
changeset
|
57 |
473 | 58 ngx_array_t listening; |
4870
8a9b7b4e9f2d
Correct plural form for "path" in the whole source base.
Andrey Belov <defan@nginx.com>
parents:
4549
diff
changeset
|
59 ngx_array_t paths; |
6776
1bf4f21b1b72
Core: show file contents only once while dumping configuration.
Vladimir Homutov <vl@nginx.com>
parents:
6474
diff
changeset
|
60 |
6187
1b7e246e6b38
Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents:
6127
diff
changeset
|
61 ngx_array_t config_dump; |
6776
1bf4f21b1b72
Core: show file contents only once while dumping configuration.
Vladimir Homutov <vl@nginx.com>
parents:
6474
diff
changeset
|
62 ngx_rbtree_t config_dump_rbtree; |
1bf4f21b1b72
Core: show file contents only once while dumping configuration.
Vladimir Homutov <vl@nginx.com>
parents:
6474
diff
changeset
|
63 ngx_rbtree_node_t config_dump_sentinel; |
1bf4f21b1b72
Core: show file contents only once while dumping configuration.
Vladimir Homutov <vl@nginx.com>
parents:
6474
diff
changeset
|
64 |
473 | 65 ngx_list_t open_files; |
860
201d017ea470
slab allocator in shared memory
Igor Sysoev <igor@sysoev.ru>
parents:
611
diff
changeset
|
66 ngx_list_t shared_memory; |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
67 |
473 | 68 ngx_uint_t connection_n; |
543 | 69 ngx_uint_t files_n; |
70 | |
561 | 71 ngx_connection_t *connections; |
72 ngx_event_t *read_events; | |
73 ngx_event_t *write_events; | |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
74 |
473 | 75 ngx_cycle_t *old_cycle; |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
76 |
473 | 77 ngx_str_t conf_file; |
2073 | 78 ngx_str_t conf_param; |
2758 | 79 ngx_str_t conf_prefix; |
80 ngx_str_t prefix; | |
860
201d017ea470
slab allocator in shared memory
Igor Sysoev <igor@sysoev.ru>
parents:
611
diff
changeset
|
81 ngx_str_t lock_file; |
2011 | 82 ngx_str_t hostname; |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
83 }; |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
84 |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
85 |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
86 typedef struct { |
6474 | 87 ngx_flag_t daemon; |
88 ngx_flag_t master; | |
300
502b03d9d2a3
nginx-0.0.3-2004-03-31-00:31:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
290
diff
changeset
|
89 |
6474 | 90 ngx_msec_t timer_resolution; |
563 | 91 |
6474 | 92 ngx_int_t worker_processes; |
93 ngx_int_t debug_points; | |
300
502b03d9d2a3
nginx-0.0.3-2004-03-31-00:31:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
290
diff
changeset
|
94 |
6474 | 95 ngx_int_t rlimit_nofile; |
96 off_t rlimit_core; | |
543 | 97 |
6474 | 98 int priority; |
300
502b03d9d2a3
nginx-0.0.3-2004-03-31-00:31:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
290
diff
changeset
|
99 |
6474 | 100 ngx_uint_t cpu_affinity_auto; |
101 ngx_uint_t cpu_affinity_n; | |
102 ngx_cpuset_t *cpu_affinity; | |
577 | 103 |
6474 | 104 char *username; |
105 ngx_uid_t user; | |
106 ngx_gid_t group; | |
473 | 107 |
6474 | 108 ngx_str_t working_directory; |
109 ngx_str_t lock_file; | |
521 | 110 |
6474 | 111 ngx_str_t pid; |
112 ngx_str_t oldpid; | |
376
d0451e402e27
nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
336
diff
changeset
|
113 |
6474 | 114 ngx_array_t env; |
115 char **environment; | |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
116 } ngx_core_conf_t; |
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
117 |
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
118 |
611 | 119 #define ngx_is_init_cycle(cycle) (cycle->conf_ctx == NULL) |
605 | 120 |
121 | |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
122 ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle); |
611 | 123 ngx_int_t ngx_create_pidfile(ngx_str_t *name, ngx_log_t *log); |
311
11ff50a35d6d
nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
300
diff
changeset
|
124 void ngx_delete_pidfile(ngx_cycle_t *cycle); |
2738
ae81441e23f4
implement "-s signal" option for Unix
Igor Sysoev <igor@sysoev.ru>
parents:
2716
diff
changeset
|
125 ngx_int_t ngx_signal_process(ngx_cycle_t *cycle, char *sig); |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
126 void ngx_reopen_files(ngx_cycle_t *cycle, ngx_uid_t user); |
1069 | 127 char **ngx_set_environment(ngx_cycle_t *cycle, ngx_uint_t *last); |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
128 ngx_pid_t ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv); |
6402
7296b38f6416
Core: added support for more than 64 CPUs in worker_cpu_affinity.
Vladimir Homutov <vl@nginx.com>
parents:
6383
diff
changeset
|
129 ngx_cpuset_t *ngx_get_cpu_affinity(ngx_uint_t n); |
972 | 130 ngx_shm_zone_t *ngx_shared_memory_add(ngx_conf_t *cf, ngx_str_t *name, |
131 size_t size, void *tag); | |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
132 |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
133 |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
134 extern volatile ngx_cycle_t *ngx_cycle; |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
135 extern ngx_array_t ngx_old_cycles; |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
255
diff
changeset
|
136 extern ngx_module_t ngx_core_module; |
318
56496082668b
nginx-0.0.3-2004-04-16-09:14:16 import
Igor Sysoev <igor@sysoev.ru>
parents:
317
diff
changeset
|
137 extern ngx_uint_t ngx_test_config; |
6187
1b7e246e6b38
Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents:
6127
diff
changeset
|
138 extern ngx_uint_t ngx_dump_config; |
3750 | 139 extern ngx_uint_t ngx_quiet_mode; |
218
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
140 |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
141 |
05592fd7a436
nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
142 #endif /* _NGX_CYCLE_H_INCLUDED_ */ |