From: Aki Tuomi Date: Tue, 12 Apr 2022 08:59:11 +0000 (+0300) Subject: lib: uri-util - Use net_addr2ip() to parse IPv6 X-Git-Tag: 2.4.0~4132 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b7f2bffbd233b8d88eaaf2c6620a46ba82d202f8;p=thirdparty%2Fdovecot%2Fcore.git lib: uri-util - Use net_addr2ip() to parse IPv6 --- diff --git a/src/lib/uri-util.c b/src/lib/uri-util.c index 35b296cc99..cb7032135a 100644 --- a/src/lib/uri-util.c +++ b/src/lib/uri-util.c @@ -611,7 +611,7 @@ uri_parse_ip_literal(struct uri_parser *parser, string_t *literal, { const unsigned char *p; const char *address; - struct in6_addr ip6; + struct ip_addr ip6; /* IP-literal = "[" ( IPv6address / IPvFuture ) "]" IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) @@ -646,14 +646,14 @@ uri_parse_ip_literal(struct uri_parser *parser, string_t *literal, "Future IP host address '%s' not supported", address); return -1; } - if (inet_pton(AF_INET6, address, &ip6) <= 0) { + if (net_addr2ip(address, &ip6) < 0) { parser->error = p_strdup_printf( parser->pool, "Invalid IPv6 host address '%s'", address); return -1; } if (ip6_r != NULL) - *ip6_r = ip6; + *ip6_r = ip6.u.ip6; return 1; }