[PATCH 2 of 2] HTTP: removed unused r->port_start

Maxim Dounin mdounin at mdounin.ru
Tue Nov 28 02:57:39 UTC 2023


Hello!

On Fri, Nov 10, 2023 at 12:11:55PM +0300, Vladimir Homutov via nginx-devel wrote:

> It is no longer used since the refactoring in 8e5bf1bc87e2 (2008).
> 
> 
>  src/http/ngx_http_request.c |  3 +--
>  src/http/ngx_http_request.h |  1 -
>  2 files changed, 1 insertions(+), 3 deletions(-)
> 
> 

> # HG changeset patch
> # User Vladimir Khomutov <vl at wbsrv.ru>
> # Date 1699603821 -10800
> #      Fri Nov 10 11:10:21 2023 +0300
> # Node ID 6f957e137407d8f3f7e34f413c92103004b44594
> # Parent  505e927eb7a75f0fdce4caddb4ab9d9c71c9b9c8
> HTTP: removed unused r->port_start.
> 
> It is no longer used since the refactoring in 8e5bf1bc87e2 (2008).

Neither r->port_start nor r->port_end were ever used.

The r->port_end is set by the parser, though it was never used by 
the following code (and was never usable, since not copied by the 
ngx_http_alloc_large_header_buffer() without r->port_start set).

The 8e5bf1bc87e2 commit is completely unrelated, it is about 
refactoring of the ngx_parse_inet_url() function, which had a 
local variable named "port_start".

> 
> diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
> --- a/src/http/ngx_http_request.c
> +++ b/src/http/ngx_http_request.c
> @@ -1744,8 +1744,7 @@ ngx_http_alloc_large_header_buffer(ngx_h
>              }
>          }
>  
> -        if (r->port_start) {
> -            r->port_start = new + (r->port_start - old);
> +        if (r->port_end) {
>              r->port_end = new + (r->port_end - old);
>          }
>  
> diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h
> --- a/src/http/ngx_http_request.h
> +++ b/src/http/ngx_http_request.h
> @@ -597,7 +597,6 @@ struct ngx_http_request_s {
>      u_char                           *schema_end;
>      u_char                           *host_start;
>      u_char                           *host_end;
> -    u_char                           *port_start;
>      u_char                           *port_end;
>  
>      unsigned                          http_minor:16;

I don't think it's a good change.  Rather, we should either remove 
both, or (eventually) fix these and provide some valid usage of 
the port as parsed either from the request line or from the Host 
header, similarly to the $host variable.

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx-devel mailing list