From c8f28c5c3ea3a24c0c562b331767e2d2b38eaedb Mon Sep 17 00:00:00 2001 From: William Edwards Date: Mon, 29 Apr 2024 20:48:03 +0200 Subject: [PATCH] Place brackets around IPv6 address Without this, using an IPv6 address as $apiip is not possible, because cURL requires brackets. --- includes/class/ApiHandler.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/includes/class/ApiHandler.php b/includes/class/ApiHandler.php index d793cf0..0a53e24 100644 --- a/includes/class/ApiHandler.php +++ b/includes/class/ApiHandler.php @@ -73,7 +73,13 @@ class ApiHandler { } private function baseurl() { - return $this->proto.'://'.$this->hostname.':'.$this->port.$this->apiurl; + $ip = $this->hostname; + + if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) { + $ip = sprintf('[%s]', $ip); // curl needs brackets for IPv6 + } + + return $this->proto.'://'.$ip.':'.$this->port.$this->apiurl; } private function go() {