Mercurial > hg > nginx-quic
comparison src/stream/ngx_stream_handler.c @ 6175:8807a2369b1a
Stream: access module.
stream {
server {
...
allow 127.0.0.1;
deny all;
}
}
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Thu, 04 Jun 2015 13:04:12 +0300 |
parents | 187aa751ad62 |
children | 0dcef374b8bb |
comparison
equal
deleted
inserted
replaced
6174:68c106e6fa0a | 6175:8807a2369b1a |
---|---|
21 | 21 |
22 | 22 |
23 void | 23 void |
24 ngx_stream_init_connection(ngx_connection_t *c) | 24 ngx_stream_init_connection(ngx_connection_t *c) |
25 { | 25 { |
26 u_char text[NGX_SOCKADDR_STRLEN]; | 26 u_char text[NGX_SOCKADDR_STRLEN]; |
27 size_t len; | 27 size_t len; |
28 ngx_uint_t i; | 28 ngx_int_t rc; |
29 struct sockaddr *sa; | 29 ngx_uint_t i; |
30 ngx_stream_port_t *port; | 30 struct sockaddr *sa; |
31 struct sockaddr_in *sin; | 31 ngx_stream_port_t *port; |
32 ngx_stream_in_addr_t *addr; | 32 struct sockaddr_in *sin; |
33 ngx_stream_session_t *s; | 33 ngx_stream_in_addr_t *addr; |
34 ngx_stream_addr_conf_t *addr_conf; | 34 ngx_stream_session_t *s; |
35 ngx_stream_addr_conf_t *addr_conf; | |
35 #if (NGX_HAVE_INET6) | 36 #if (NGX_HAVE_INET6) |
36 struct sockaddr_in6 *sin6; | 37 struct sockaddr_in6 *sin6; |
37 ngx_stream_in6_addr_t *addr6; | 38 ngx_stream_in6_addr_t *addr6; |
38 #endif | 39 #endif |
39 ngx_stream_core_srv_conf_t *cscf; | 40 ngx_stream_core_srv_conf_t *cscf; |
41 ngx_stream_core_main_conf_t *cmcf; | |
40 | 42 |
41 /* find the server configuration for the address:port */ | 43 /* find the server configuration for the address:port */ |
42 | 44 |
43 port = c->listening->servers; | 45 port = c->listening->servers; |
44 | 46 |
141 c->log->handler = ngx_stream_log_error; | 143 c->log->handler = ngx_stream_log_error; |
142 c->log->data = s; | 144 c->log->data = s; |
143 c->log->action = "initializing connection"; | 145 c->log->action = "initializing connection"; |
144 c->log_error = NGX_ERROR_INFO; | 146 c->log_error = NGX_ERROR_INFO; |
145 | 147 |
148 cmcf = ngx_stream_get_module_main_conf(s, ngx_stream_core_module); | |
149 | |
150 if (cmcf->access_handler) { | |
151 rc = cmcf->access_handler(s); | |
152 | |
153 if (rc != NGX_OK && rc != NGX_DECLINED) { | |
154 ngx_stream_close_connection(c); | |
155 return; | |
156 } | |
157 } | |
158 | |
146 #if (NGX_STREAM_SSL) | 159 #if (NGX_STREAM_SSL) |
147 { | 160 { |
148 ngx_stream_ssl_conf_t *sslcf; | 161 ngx_stream_ssl_conf_t *sslcf; |
149 | 162 |
150 sslcf = ngx_stream_get_module_srv_conf(s, ngx_stream_ssl_module); | 163 sslcf = ngx_stream_get_module_srv_conf(s, ngx_stream_ssl_module); |