From: djm@openbsd.org Date: Sat, 25 Jan 2020 06:40:20 +0000 (+0000) Subject: upstream: the GatewayPorts vs -R listen address selection logic is X-Git-Tag: V_8_2_P1~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=846446bf3e7421e6671a4afd074bdf15eecd7832;p=thirdparty%2Fopenssh-portable.git upstream: the GatewayPorts vs -R listen address selection logic is still confusing people, so add another comment explaining the special handling of "localhost"; bz#3258 OpenBSD-Commit-ID: e6bf0f0fbf1c7092bf0dbd9c6eab105970b5b53a --- diff --git a/channels.c b/channels.c index 0f45aee4e..226ba7a39 100644 --- a/channels.c +++ b/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.394 2019/07/07 01:05:00 dtucker Exp $ */ +/* $OpenBSD: channels.c,v 1.395 2020/01/25 06:40:20 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -3356,7 +3356,12 @@ channel_fwd_bind_addr(struct ssh *ssh, const char *listen_addr, int *wildcardp, } else if (strcmp(listen_addr, "localhost") != 0 || strcmp(listen_addr, "127.0.0.1") == 0 || strcmp(listen_addr, "::1") == 0) { - /* Accept localhost address when GatewayPorts=yes */ + /* + * Accept explicit localhost address when + * GatewayPorts=yes. The "localhost" hostname is + * deliberately skipped here so it will listen on all + * available local address families. + */ addr = listen_addr; } } else if (strcmp(listen_addr, "127.0.0.1") == 0 ||