diff options
author | Simon Rettberg | 2019-03-07 15:23:42 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-03-07 15:23:42 +0100 |
commit | 9a8569775996b4b2441b69e06a09b9ab8284519e (patch) | |
tree | 4712384eedcb4a67eace6eff9f2c78dabec616df /modules-available/dnbd3/inc/dnbd3rpc.inc.php | |
parent | [locationinfo] Introduce timeouts for curl operations (diff) | |
download | slx-admin-9a8569775996b4b2441b69e06a09b9ab8284519e.tar.gz slx-admin-9a8569775996b4b2441b69e06a09b9ab8284519e.tar.xz slx-admin-9a8569775996b4b2441b69e06a09b9ab8284519e.zip |
[dnbd3] Support specifying port, IPv6 addresses
Diffstat (limited to 'modules-available/dnbd3/inc/dnbd3rpc.inc.php')
-rw-r--r-- | modules-available/dnbd3/inc/dnbd3rpc.inc.php | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/modules-available/dnbd3/inc/dnbd3rpc.inc.php b/modules-available/dnbd3/inc/dnbd3rpc.inc.php index cdcda508..6ed43254 100644 --- a/modules-available/dnbd3/inc/dnbd3rpc.inc.php +++ b/modules-available/dnbd3/inc/dnbd3rpc.inc.php @@ -19,13 +19,24 @@ class Dnbd3Rpc { * @param bool $altservers list of alt servers with status * @return int|array the queried data as an array, or false on error */ - public static function query($server, $port, $stats, $clients, $images, $diskSpace = false, $config = false, $altservers = false) + public static function query($server, $stats, $clients, $images, $diskSpace = false, $config = false, $altservers = false) { // Special case - local server if ($server === '<self>') { - $server = '127.0.0.1'; + $server = '127.0.0.1:5003'; + } elseif (($out = Dnbd3Util::matchAddress($server))) { + if (isset($out['v4'])) { + $server = $out['v4']; + } else { + $server = '[' . $out['v6'] . ']'; + } + if (isset($out['port'])) { + $server .= $out['port']; + } else { + $server .= ':5003'; + } } - $url = 'http://' . $server . ':' . $port . '/query?'; + $url = 'http://' . $server . '/query?'; if ($stats) { $url .= 'q=stats&'; } |