diff --git a/src/http/ngx_http_header_filter_module.c b/src/http/ngx_http_header_filter_module.c index 45a8b6ceb..86bcabc1a 100644 --- a/src/http/ngx_http_header_filter_module.c +++ b/src/http/ngx_http_header_filter_module.c @@ -295,12 +295,12 @@ ngx_http_header_filter(ngx_http_request_t *r) return NGX_ERROR; } - if (tokens.len == 3 - && ngx_strncmp(tokens.data, "off", 3) == 0) + if (tokens.len == 0 + || (tokens.len == 3 && ngx_strncmp(tokens.data, "off", 3) == 0)) { ngx_str_set(&tokens, ngx_http_server_string); - } else if (tokens.len) { + } else { ngx_str_set(&tokens, ngx_http_server_full_string); } } @@ -481,7 +481,7 @@ ngx_http_header_filter(ngx_http_request_t *r) } *b->last++ = CR; *b->last++ = LF; - if (r->headers_out.server == NULL && tokens.len) { + if (r->headers_out.server == NULL) { b->last = ngx_cpymem(b->last, tokens.data, tokens.len); } diff --git a/src/http/ngx_http_special_response.c b/src/http/ngx_http_special_response.c index 7987309a6..70fdf440d 100644 --- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -32,12 +32,6 @@ static u_char ngx_http_error_tail[] = ; -static u_char ngx_http_error_no_tail[] = -"" CRLF -"" CRLF -; - - static u_char ngx_http_msie_padding[] = "" CRLF "" CRLF @@ -638,16 +632,13 @@ ngx_http_send_special_response(ngx_http_request_t *r, return NGX_ERROR; } - if (tokens.len == 3 - && ngx_strncmp(tokens.data, "off", 3) == 0) + if (tokens.len == 0 + || (tokens.len == 3 && ngx_strncmp(tokens.data, "off", 3) == 0)) { ngx_str_set(&tail, ngx_http_error_tail); - } else if (tokens.len) { - ngx_str_set(&tail, ngx_http_error_full_tail); - } else { - ngx_str_set(&tail, ngx_http_error_no_tail); + ngx_str_set(&tail, ngx_http_error_full_tail); } } diff --git a/src/http/v2/ngx_http_v2_filter_module.c b/src/http/v2/ngx_http_v2_filter_module.c index 235a006ff..624ef1e99 100644 --- a/src/http/v2/ngx_http_v2_filter_module.c +++ b/src/http/v2/ngx_http_v2_filter_module.c @@ -252,14 +252,14 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) return NGX_ERROR; } - if (tokens.len == 3 - && ngx_strncmp(tokens.data, "off", 3) == 0) + if (tokens.len == 0 + || (tokens.len == 3 && ngx_strncmp(tokens.data, "off", 3) == 0)) { server_tokens = 0; len += 1 + sizeof(nginx); ngx_str_set(&tokens, "nginx"); - } else if (tokens.len) { + } else { server_tokens = 1; len += 1 + nginx_ver_len; ngx_str_set(&tokens, NGINX_VER); @@ -468,7 +468,7 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) pos = ngx_sprintf(pos, "%03ui", r->headers_out.status); } - if (r->headers_out.server == NULL && tokens.len) { + if (r->headers_out.server == NULL) { ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, "http2 output header: \"server: %V\"", &tokens);