comparison src/http/v2/ngx_http_v2_filter_module.c @ 6449:e5076b96fd01

Reconsidered server_tokens with an empty value. An empty value will be treated as "off".
author Ruslan Ermilov <ru@nginx.com>
date Tue, 22 Mar 2016 15:52:28 +0300
parents 602dc42035fe
children 155871d773cc
comparison
equal deleted inserted replaced
6448:4d1d3c2530e0 6449:e5076b96fd01
250 != NGX_OK) 250 != NGX_OK)
251 { 251 {
252 return NGX_ERROR; 252 return NGX_ERROR;
253 } 253 }
254 254
255 if (tokens.len == 3 255 if (tokens.len == 0
256 && ngx_strncmp(tokens.data, "off", 3) == 0) 256 || (tokens.len == 3 && ngx_strncmp(tokens.data, "off", 3) == 0))
257 { 257 {
258 server_tokens = 0; 258 server_tokens = 0;
259 len += 1 + sizeof(nginx); 259 len += 1 + sizeof(nginx);
260 ngx_str_set(&tokens, "nginx"); 260 ngx_str_set(&tokens, "nginx");
261 261
262 } else if (tokens.len) { 262 } else {
263 server_tokens = 1; 263 server_tokens = 1;
264 len += 1 + nginx_ver_len; 264 len += 1 + nginx_ver_len;
265 ngx_str_set(&tokens, NGINX_VER); 265 ngx_str_set(&tokens, NGINX_VER);
266 } 266 }
267 } 267 }
466 *pos++ = ngx_http_v2_inc_indexed(NGX_HTTP_V2_STATUS_INDEX); 466 *pos++ = ngx_http_v2_inc_indexed(NGX_HTTP_V2_STATUS_INDEX);
467 *pos++ = NGX_HTTP_V2_ENCODE_RAW | 3; 467 *pos++ = NGX_HTTP_V2_ENCODE_RAW | 3;
468 pos = ngx_sprintf(pos, "%03ui", r->headers_out.status); 468 pos = ngx_sprintf(pos, "%03ui", r->headers_out.status);
469 } 469 }
470 470
471 if (r->headers_out.server == NULL && tokens.len) { 471 if (r->headers_out.server == NULL) {
472 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, 472 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0,
473 "http2 output header: \"server: %V\"", 473 "http2 output header: \"server: %V\"",
474 &tokens); 474 &tokens);
475 475
476 *pos++ = ngx_http_v2_inc_indexed(NGX_HTTP_V2_SERVER_INDEX); 476 *pos++ = ngx_http_v2_inc_indexed(NGX_HTTP_V2_SERVER_INDEX);