From: Christian Weiske Date: Tue, 6 Sep 2016 21:51:37 +0000 (+0200) Subject: Support IPv6 on connect and use SSH connection IP X-Git-Tag: v0.0.1~10 X-Git-Url: https://git.cweiske.de/shpub.git/commitdiff_plain/225b3ebc519d651dd2fda1b000483961352f2e84 Support IPv6 on connect and use SSH connection IP --- diff --git a/src/shpub/Command/Connect.php b/src/shpub/Command/Connect.php index 0c86a8b..b59de5c 100644 --- a/src/shpub/Command/Connect.php +++ b/src/shpub/Command/Connect.php @@ -65,6 +65,7 @@ class Command_Connect } $this->cfg->hosts[$hostKey] = $host; $this->cfg->save(); + echo "Server configuration $hostKey saved successfully.\n"; } protected function fetchAccessToken( @@ -130,9 +131,20 @@ class Command_Connect protected function getHttpServerData() { - //FIXME: get IP from SSH_CONNECTION $ip = '127.0.0.1'; $port = 12345; + + if (isset($_SERVER['SSH_CONNECTION'])) { + $parts = explode(' ', $_SERVER['SSH_CONNECTION']); + if (count($parts) >= 3) { + $ip = $parts[2]; + } + } + if (strpos($ip, ':') !== false) { + //ipv6 + $ip = '[' . $ip . ']'; + } + $redirect_uri = 'http://' . $ip . ':' . $port . '/callback'; $socketStr = 'tcp://' . $ip . ':' . $port; return [$redirect_uri, $socketStr];