From b8c2189ff36b9b64f9aa2c5a8490b0b998c774a3 Mon Sep 17 00:00:00 2001 From: Sven Geuer <68420948@users.noreply.github.com> Date: Mon, 13 Apr 2026 22:00:31 +0200 Subject: [PATCH] Make specifying local proxy by IPv6 address work. The pattern meant for parsing a host name (or IPv4 address) also matched the head of an IPv6 address, resulting in an invalid host name causing failure later on. The code meant for parsing an IPv6 address was never reached. --- cmdline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdline.c b/cmdline.c index bc89020..11524d3 100644 --- a/cmdline.c +++ b/cmdline.c @@ -631,7 +631,7 @@ int cmdline_parser( int argc, char * const *argv, struct gengetopt_args_info *ar message( "Out of memory\n" ); exit(1); } - snprintf( proxy_arg_fmt, sizeof(proxy_arg_fmt), "%%%zu[^:]:%%5u", proxy_arg_len - 1 ); + snprintf( proxy_arg_fmt, sizeof(proxy_arg_fmt), "%%%zu[^][:]:%%5u", proxy_arg_len - 1 ); r = sscanf( args_info->proxy_arg, proxy_arg_fmt, phost, &pport ); if ( r != 2 ) { /* try bracket-enclosed IPv6 literal */