From 20d736da86084e408d2e0aef72fa8261a23d5a4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C3=A1vio=20Gomes=20da=20Silva=20Lisboa?= Date: Wed, 25 Mar 2020 09:30:45 -0300 Subject: [PATCH] [BUG] Fail in service monitoring for IPv6 #881 --- src/psm/Util/Server/Updater/StatusUpdater.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/psm/Util/Server/Updater/StatusUpdater.php b/src/psm/Util/Server/Updater/StatusUpdater.php index 29b941ab..b9926e88 100644 --- a/src/psm/Util/Server/Updater/StatusUpdater.php +++ b/src/psm/Util/Server/Updater/StatusUpdater.php @@ -232,7 +232,11 @@ class StatusUpdater // save response time $starttime = microtime(true); - $fp = @fsockopen($this->server['ip'], $this->server['port'], $errno, $this->error, $timeout); + $serverIp = $this->server['ip']; + if (filter_var($serverIp,FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false){ + $serverIp = "[$serverIp]"; + } + $fp = @fsockopen($serverIp, $this->server['port'], $errno, $this->error, $timeout); $status = ($fp === false) ? false : true; $this->rtime = (microtime(true) - $starttime);