From 56935a7dada6975d5a46aa494de0af195e4e8659 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 30 Mar 2024 11:14:54 +0100 Subject: [PATCH] openldap: create ldap URLs correctly for IPv6 addresses Reported-by: Sergio Durigan Junior Fixes #13228 Closes #13235 Conflict:hosturl = aprintf("%s://%s%s%s:%d", conn->handler->scheme, conn->bits.ipv6_ip? "[": "", conn->host.name, conn->bits.ipv6_ip? "]": "", conn->remote_port); => msnprintf(ptr, sizeof(hosturl)-(ptr-hosturl), "://%s%s%s:%d", conn->bits.ipv6_ip? "[": "", conn->host.name, conn->bits.ipv6_ip? "]": "", conn->remote_port); Context adapt Reference:https://github.com/curl/curl/commit/56935a7dada6975d5a46aa494de0af195e4e8659 --- lib/openldap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/openldap.c b/lib/openldap.c index fb5e743..a3e81ea 100644 --- a/lib/openldap.c +++ b/lib/openldap.c @@ -223,8 +223,11 @@ static CURLcode oldap_connect(struct Curl_easy *data, bool *done) ptr = hosturl + 4; if(conn->handler->flags & PROTOPT_SSL) *ptr++ = 's'; - msnprintf(ptr, sizeof(hosturl)-(ptr-hosturl), "://%s:%d", - conn->host.name, conn->remote_port); + msnprintf(ptr, sizeof(hosturl)-(ptr-hosturl), "://%s%s%s:%d", + conn->bits.ipv6_ip? "[": "", + conn->host.name, + conn->bits.ipv6_ip? "]": "", + conn->remote_port); #ifdef CURL_OPENLDAP_DEBUG static int do_trace = 0; -- 2.33.0