diff --git a/channels.c b/channels.c index ea79dd3c5..1020071ff 100644 --- a/channels.c +++ b/channels.c @@ -2700,7 +2700,6 @@ channel_set_af(int af) * "0.0.0.0" -> wildcard v4/v6 if SSH_OLD_FORWARD_ADDR * "" (empty string), "*" -> wildcard v4/v6 * "localhost" -> loopback v4/v6 - * "127.0.0.1" / "::1" -> accepted even if gateway_ports isn't set */ static const char * channel_fwd_bind_addr(const char *listen_addr, int *wildcardp, @@ -2730,20 +2729,9 @@ channel_fwd_bind_addr(const char *listen_addr, int *wildcardp, "\"%s\" overridden by server " "GatewayPorts", listen_addr); } - } 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 */ - addr = listen_addr; } - } else if (strcmp(listen_addr, "127.0.0.1") == 0 || - strcmp(listen_addr, "::1") == 0) { - /* - * If a specific IPv4/IPv6 localhost address has been - * requested then accept it even if gateway_ports is in - * effect. This allows the client to prefer IPv4 or IPv6. - */ - addr = listen_addr; + else if (strcmp(listen_addr, "localhost") != 0) + addr = listen_addr; } if (wildcardp != NULL) *wildcardp = wildcard;