comparison src/http/ngx_http.c @ 5121:c0f7b94e88ba

Preliminary experimental support for SPDY draft 2.
author Valentin Bartenev <vbart@nginx.com>
date Wed, 20 Mar 2013 10:36:57 +0000
parents 7ab10517ae58
children 5482671df278
comparison
equal deleted inserted replaced
5120:7956af6b6a02 5121:c0f7b94e88ba
1223 struct sockaddr_un *saun; 1223 struct sockaddr_un *saun;
1224 #endif 1224 #endif
1225 #if (NGX_HTTP_SSL) 1225 #if (NGX_HTTP_SSL)
1226 ngx_uint_t ssl; 1226 ngx_uint_t ssl;
1227 #endif 1227 #endif
1228 #if (NGX_HTTP_SPDY)
1229 ngx_uint_t spdy;
1230 #endif
1228 1231
1229 /* 1232 /*
1230 * we cannot compare whole sockaddr struct's as kernel 1233 * we cannot compare whole sockaddr struct's as kernel
1231 * may fill some fields in inherited sockaddr struct's 1234 * may fill some fields in inherited sockaddr struct's
1232 */ 1235 */
1275 default_server = addr[i].opt.default_server; 1278 default_server = addr[i].opt.default_server;
1276 1279
1277 #if (NGX_HTTP_SSL) 1280 #if (NGX_HTTP_SSL)
1278 ssl = lsopt->ssl || addr[i].opt.ssl; 1281 ssl = lsopt->ssl || addr[i].opt.ssl;
1279 #endif 1282 #endif
1283 #if (NGX_HTTP_SPDY)
1284 spdy = lsopt->spdy || addr[i].opt.spdy;
1285 #endif
1280 1286
1281 if (lsopt->set) { 1287 if (lsopt->set) {
1282 1288
1283 if (addr[i].opt.set) { 1289 if (addr[i].opt.set) {
1284 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, 1290 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
1304 } 1310 }
1305 1311
1306 addr[i].opt.default_server = default_server; 1312 addr[i].opt.default_server = default_server;
1307 #if (NGX_HTTP_SSL) 1313 #if (NGX_HTTP_SSL)
1308 addr[i].opt.ssl = ssl; 1314 addr[i].opt.ssl = ssl;
1315 #endif
1316 #if (NGX_HTTP_SPDY)
1317 addr[i].opt.spdy = spdy;
1309 #endif 1318 #endif
1310 1319
1311 return NGX_OK; 1320 return NGX_OK;
1312 } 1321 }
1313 1322
1334 != NGX_OK) 1343 != NGX_OK)
1335 { 1344 {
1336 return NGX_ERROR; 1345 return NGX_ERROR;
1337 } 1346 }
1338 } 1347 }
1348
1349 #if (NGX_HTTP_SPDY && NGX_HTTP_SSL && !defined TLSEXT_TYPE_next_proto_neg)
1350 if (lsopt->spdy && lsopt->ssl) {
1351 ngx_conf_log_error(NGX_LOG_WARN, cf, 0,
1352 "nginx was built without OpenSSL NPN support, "
1353 "SPDY is not enabled for %s", lsopt->addr);
1354 }
1355 #endif
1339 1356
1340 addr = ngx_array_push(&port->addrs); 1357 addr = ngx_array_push(&port->addrs);
1341 if (addr == NULL) { 1358 if (addr == NULL) {
1342 return NGX_ERROR; 1359 return NGX_ERROR;
1343 } 1360 }
1818 addrs[i].addr = sin->sin_addr.s_addr; 1835 addrs[i].addr = sin->sin_addr.s_addr;
1819 addrs[i].conf.default_server = addr[i].default_server; 1836 addrs[i].conf.default_server = addr[i].default_server;
1820 #if (NGX_HTTP_SSL) 1837 #if (NGX_HTTP_SSL)
1821 addrs[i].conf.ssl = addr[i].opt.ssl; 1838 addrs[i].conf.ssl = addr[i].opt.ssl;
1822 #endif 1839 #endif
1840 #if (NGX_HTTP_SPDY)
1841 addrs[i].conf.spdy = addr[i].opt.spdy;
1842 #endif
1823 1843
1824 if (addr[i].hash.buckets == NULL 1844 if (addr[i].hash.buckets == NULL
1825 && (addr[i].wc_head == NULL 1845 && (addr[i].wc_head == NULL
1826 || addr[i].wc_head->hash.buckets == NULL) 1846 || addr[i].wc_head->hash.buckets == NULL)
1827 && (addr[i].wc_tail == NULL 1847 && (addr[i].wc_tail == NULL
1879 addrs6[i].addr6 = sin6->sin6_addr; 1899 addrs6[i].addr6 = sin6->sin6_addr;
1880 addrs6[i].conf.default_server = addr[i].default_server; 1900 addrs6[i].conf.default_server = addr[i].default_server;
1881 #if (NGX_HTTP_SSL) 1901 #if (NGX_HTTP_SSL)
1882 addrs6[i].conf.ssl = addr[i].opt.ssl; 1902 addrs6[i].conf.ssl = addr[i].opt.ssl;
1883 #endif 1903 #endif
1904 #if (NGX_HTTP_SPDY)
1905 addrs6[i].conf.spdy = addr[i].opt.spdy;
1906 #endif
1884 1907
1885 if (addr[i].hash.buckets == NULL 1908 if (addr[i].hash.buckets == NULL
1886 && (addr[i].wc_head == NULL 1909 && (addr[i].wc_head == NULL
1887 || addr[i].wc_head->hash.buckets == NULL) 1910 || addr[i].wc_head->hash.buckets == NULL)
1888 && (addr[i].wc_tail == NULL 1911 && (addr[i].wc_tail == NULL