comparison src/http/ngx_http.c @ 6338:f32d073b83e1 stable-1.8

Merge proxy_protocol setting of listen directives. It's now enough to specify proxy_protocol option in one listen directive to enable it in all servers listening on the same address/port. Previously, the setting from the first directive was always used.
author Roman Arutyunyan <arut@nginx.com>
date Fri, 24 Apr 2015 10:54:06 +0300
parents 42d9beeb22db
children 3c344ea7d88b
comparison
equal deleted inserted replaced
6337:5a6dd26567ee 6338:f32d073b83e1
1218 ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf, 1218 ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
1219 ngx_http_conf_port_t *port, ngx_http_listen_opt_t *lsopt) 1219 ngx_http_conf_port_t *port, ngx_http_listen_opt_t *lsopt)
1220 { 1220 {
1221 u_char *p; 1221 u_char *p;
1222 size_t len, off; 1222 size_t len, off;
1223 ngx_uint_t i, default_server; 1223 ngx_uint_t i, default_server, proxy_protocol;
1224 struct sockaddr *sa; 1224 struct sockaddr *sa;
1225 ngx_http_conf_addr_t *addr; 1225 ngx_http_conf_addr_t *addr;
1226 #if (NGX_HAVE_UNIX_DOMAIN) 1226 #if (NGX_HAVE_UNIX_DOMAIN)
1227 struct sockaddr_un *saun; 1227 struct sockaddr_un *saun;
1228 #endif 1228 #endif
1279 } 1279 }
1280 1280
1281 /* preserve default_server bit during listen options overwriting */ 1281 /* preserve default_server bit during listen options overwriting */
1282 default_server = addr[i].opt.default_server; 1282 default_server = addr[i].opt.default_server;
1283 1283
1284 proxy_protocol = lsopt->proxy_protocol || addr[i].opt.proxy_protocol;
1285
1284 #if (NGX_HTTP_SSL) 1286 #if (NGX_HTTP_SSL)
1285 ssl = lsopt->ssl || addr[i].opt.ssl; 1287 ssl = lsopt->ssl || addr[i].opt.ssl;
1286 #endif 1288 #endif
1287 #if (NGX_HTTP_SPDY) 1289 #if (NGX_HTTP_SPDY)
1288 spdy = lsopt->spdy || addr[i].opt.spdy; 1290 spdy = lsopt->spdy || addr[i].opt.spdy;
1312 default_server = 1; 1314 default_server = 1;
1313 addr[i].default_server = cscf; 1315 addr[i].default_server = cscf;
1314 } 1316 }
1315 1317
1316 addr[i].opt.default_server = default_server; 1318 addr[i].opt.default_server = default_server;
1319 addr[i].opt.proxy_protocol = proxy_protocol;
1317 #if (NGX_HTTP_SSL) 1320 #if (NGX_HTTP_SSL)
1318 addr[i].opt.ssl = ssl; 1321 addr[i].opt.ssl = ssl;
1319 #endif 1322 #endif
1320 #if (NGX_HTTP_SPDY) 1323 #if (NGX_HTTP_SPDY)
1321 addr[i].opt.spdy = spdy; 1324 addr[i].opt.spdy = spdy;