Allow IPv6 database hosts

Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/9225/head
Joas Schilling 8 years ago
parent 63dfbb2127
commit 8f7a0af951
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
  1. 13
      lib/private/DB/ConnectionFactory.php

@ -193,13 +193,14 @@ class ConnectionFactory {
$connectionParams['path'] = $dataDir . '/' . $name . '.db';
} else {
$host = $this->config->getValue('dbhost', '');
if (strpos($host, ':')) {
// Host variable may carry a port or socket.
list($host, $portOrSocket) = explode(':', $host, 2);
if (ctype_digit($portOrSocket)) {
$connectionParams['port'] = $portOrSocket;
$matches = [];
if (preg_match('/^(.*):([^\]:]+)$/', $host, $matches)) {
// Host variable carries a port or socket.
$host = $matches[1];
if (is_numeric($matches[2])) {
$connectionParams['port'] = (int) $matches[2];
} else {
$connectionParams['unix_socket'] = $portOrSocket;
$connectionParams['unix_socket'] = $matches[2];
}
}
$connectionParams['host'] = $host;

Loading…
Cancel
Save