From 4a37491645f5c5f66bce74b7cab222123d129d61 Mon Sep 17 00:00:00 2001 From: 4quarks <47900195+4quarks@users.noreply.github.com> Date: Thu, 9 Jun 2022 17:56:09 +0200 Subject: [PATCH 1/3] Correct hostname retrieval from Source::getHostname --- Utilities/XrdAdaptor/src/XrdSource.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Utilities/XrdAdaptor/src/XrdSource.cc b/Utilities/XrdAdaptor/src/XrdSource.cc index b0264c1d4b324..31297459dad6a 100644 --- a/Utilities/XrdAdaptor/src/XrdSource.cc +++ b/Utilities/XrdAdaptor/src/XrdSource.cc @@ -219,7 +219,7 @@ Source::Source(timespec now, std::unique_ptr fh, const std::string } bool Source::getHostname(const std::string &id, std::string &hostname) { - size_t pos = id.find(':'); + size_t pos = id.find_last_of(':'); hostname = id; if ((pos != std::string::npos) && (pos > 0)) { hostname = id.substr(0, pos); From 95c05b954687455109a1eedbaaf2a10c7384bb18 Mon Sep 17 00:00:00 2001 From: 4quarks <47900195+4quarks@users.noreply.github.com> Date: Thu, 9 Jun 2022 18:40:36 +0200 Subject: [PATCH 2/3] Correcting the IPv6 DNS resolution --- Utilities/XrdAdaptor/src/XrdSource.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Utilities/XrdAdaptor/src/XrdSource.cc b/Utilities/XrdAdaptor/src/XrdSource.cc index 31297459dad6a..ce09fe9a490e5 100644 --- a/Utilities/XrdAdaptor/src/XrdSource.cc +++ b/Utilities/XrdAdaptor/src/XrdSource.cc @@ -223,6 +223,8 @@ bool Source::getHostname(const std::string &id, std::string &hostname) { hostname = id; if ((pos != std::string::npos) && (pos > 0)) { hostname = id.substr(0, pos); + hostname.erase(remove(hostname.begin(), hostname.end(), ']'), hostname.end()); + hostname.erase(remove(hostname.begin(), hostname.end(), '['), hostname.end()); } bool retval = true; From f68c36ddbb73d2c95f821beb24297eb819d6e46a Mon Sep 17 00:00:00 2001 From: 4quarks <47900195+4quarks@users.noreply.github.com> Date: Fri, 15 Jul 2022 09:54:14 +0200 Subject: [PATCH 3/3] revert ipv6 brackets removal --- Utilities/XrdAdaptor/src/XrdSource.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/Utilities/XrdAdaptor/src/XrdSource.cc b/Utilities/XrdAdaptor/src/XrdSource.cc index ce09fe9a490e5..31297459dad6a 100644 --- a/Utilities/XrdAdaptor/src/XrdSource.cc +++ b/Utilities/XrdAdaptor/src/XrdSource.cc @@ -223,8 +223,6 @@ bool Source::getHostname(const std::string &id, std::string &hostname) { hostname = id; if ((pos != std::string::npos) && (pos > 0)) { hostname = id.substr(0, pos); - hostname.erase(remove(hostname.begin(), hostname.end(), ']'), hostname.end()); - hostname.erase(remove(hostname.begin(), hostname.end(), '['), hostname.end()); } bool retval = true;