From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id EFDF61FD4D for ; Fri, 10 Jan 2020 09:14:19 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 2/5] allow HTTP_HOST to be '0' via defined() checks Date: Fri, 10 Jan 2020 09:14:16 +0000 Message-Id: <20200110091419.12340-3-e@yhbt.net> In-Reply-To: <20200110091419.12340-1-e@yhbt.net> References: <20200110091419.12340-1-e@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: '0' is a valid value for HTTP_HOST, and maybe some folks will want to hit that as port 80 where the HTTP client won't send the ":$PORT" suffix. --- lib/PublicInbox/Git.pm | 2 +- lib/PublicInbox/HTTP.pm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index 6a527f82..2aaf1866 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -300,7 +300,7 @@ sub host_prefix_url ($$) { my ($env, $url) = @_; return $url if index($url, '//') >= 0; my $scheme = $env->{'psgi.url_scheme'}; - my $host_port = $env->{HTTP_HOST} || + my $host_port = $env->{HTTP_HOST} // "$env->{SERVER_NAME}:$env->{SERVER_PORT}"; "$scheme://$host_port". ($env->{SCRIPT_NAME} || '/') . $url; } diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm index a6ec1d0d..071251c6 100644 --- a/lib/PublicInbox/HTTP.pm +++ b/lib/PublicInbox/HTTP.pm @@ -155,7 +155,7 @@ sub app_dispatch { my $env = $self->{env}; $env->{REMOTE_ADDR} = $self->{remote_addr}; $env->{REMOTE_PORT} = $self->{remote_port}; - if (my $host = $env->{HTTP_HOST}) { + if (defined(my $host = $env->{HTTP_HOST})) { $host =~ s/:([0-9]+)\z// and $env->{SERVER_PORT} = $1; $env->{SERVER_NAME} = $host; }