Mercurial > hg > nginx
comparison src/http/v2/ngx_http_v2_filter_module.c @ 9213:23f109f0facc
Free nginx: changed server name.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 19 Feb 2024 03:12:06 +0300 |
parents | 262c01782566 |
children | de4208483315 |
comparison
equal
deleted
inserted
replaced
9212:985b0bda403c | 9213:23f109f0facc |
---|---|
113 ngx_http_v2_connection_t *h2c; | 113 ngx_http_v2_connection_t *h2c; |
114 ngx_http_core_loc_conf_t *clcf; | 114 ngx_http_core_loc_conf_t *clcf; |
115 ngx_http_core_srv_conf_t *cscf; | 115 ngx_http_core_srv_conf_t *cscf; |
116 u_char addr[NGX_SOCKADDR_STRLEN]; | 116 u_char addr[NGX_SOCKADDR_STRLEN]; |
117 | 117 |
118 static const u_char nginx[5] = "\x84\xaa\x63\x55\xe7"; | |
119 #if (NGX_HTTP_GZIP) | 118 #if (NGX_HTTP_GZIP) |
120 static const u_char accept_encoding[12] = | 119 static const u_char accept_encoding[12] = |
121 "\x8b\x84\x84\x2d\x69\x5b\x05\x44\x3c\x86\xaa\x6f"; | 120 "\x8b\x84\x84\x2d\x69\x5b\x05\x44\x3c\x86\xaa\x6f"; |
122 #endif | 121 #endif |
123 | 122 |
123 static size_t nginx_name_len = ngx_http_v2_literal_size(NGINX_NAME); | |
124 static u_char nginx_name[ngx_http_v2_literal_size(NGINX_VER)]; | |
125 | |
124 static size_t nginx_ver_len = ngx_http_v2_literal_size(NGINX_VER); | 126 static size_t nginx_ver_len = ngx_http_v2_literal_size(NGINX_VER); |
125 static u_char nginx_ver[ngx_http_v2_literal_size(NGINX_VER)]; | 127 static u_char nginx_ver[ngx_http_v2_literal_size(NGINX_VER)]; |
126 | 128 |
127 static size_t nginx_ver_build_len = | 129 static size_t nginx_ver_build_len = |
128 ngx_http_v2_literal_size(NGINX_VER_BUILD); | 130 ngx_http_v2_literal_size(NGINX_VER_BUILD); |
224 | 226 |
225 } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) { | 227 } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) { |
226 len += 1 + nginx_ver_build_len; | 228 len += 1 + nginx_ver_build_len; |
227 | 229 |
228 } else { | 230 } else { |
229 len += 1 + sizeof(nginx); | 231 len += 1 + nginx_name_len; |
230 } | 232 } |
231 } | 233 } |
232 | 234 |
233 if (r->headers_out.date == NULL) { | 235 if (r->headers_out.date == NULL) { |
234 len += 1 + ngx_http_v2_literal_size("Wed, 31 Dec 1986 18:00:00 GMT"); | 236 len += 1 + ngx_http_v2_literal_size("Wed, 31 Dec 1986 18:00:00 GMT"); |
432 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, | 434 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, |
433 "http2 output header: \"server: %s\"", | 435 "http2 output header: \"server: %s\"", |
434 NGINX_VER_BUILD); | 436 NGINX_VER_BUILD); |
435 | 437 |
436 } else { | 438 } else { |
437 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, fc->log, 0, | 439 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, |
438 "http2 output header: \"server: nginx\""); | 440 "http2 output header: \"server: %s\"", |
441 NGINX_NAME); | |
439 } | 442 } |
440 | 443 |
441 *pos++ = ngx_http_v2_inc_indexed(NGX_HTTP_V2_SERVER_INDEX); | 444 *pos++ = ngx_http_v2_inc_indexed(NGX_HTTP_V2_SERVER_INDEX); |
442 | 445 |
443 if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) { | 446 if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) { |
458 } | 461 } |
459 | 462 |
460 pos = ngx_cpymem(pos, nginx_ver_build, nginx_ver_build_len); | 463 pos = ngx_cpymem(pos, nginx_ver_build, nginx_ver_build_len); |
461 | 464 |
462 } else { | 465 } else { |
463 pos = ngx_cpymem(pos, nginx, sizeof(nginx)); | 466 if (nginx_name[0] == '\0') { |
467 p = ngx_http_v2_write_value(nginx_name, (u_char *) NGINX_NAME, | |
468 sizeof(NGINX_NAME) - 1, tmp); | |
469 nginx_name_len = p - nginx_name; | |
470 } | |
471 | |
472 pos = ngx_cpymem(pos, nginx_name, nginx_name_len); | |
464 } | 473 } |
465 } | 474 } |
466 | 475 |
467 if (r->headers_out.date == NULL) { | 476 if (r->headers_out.date == NULL) { |
468 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, | 477 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, |