Merge pull request #6774 from nextcloud/backport-6645-only-colons-for-ipv6

[stable12] Only allow colons in db host for IPv6 addresses
This commit is contained in:
Roeland Jago Douma 2017-10-15 21:40:04 +02:00 committed by GitHub
commit 6e3ec7d911
1 changed files with 16 additions and 0 deletions

View File

@ -294,6 +294,10 @@ class Setup {
$error[] = $l->t("Can't create or write into the data directory %s", array($dataDir));
}
if (!$this->validateDatabaseHost($options['dbhost'])) {
$error[] = $l->t('Given database host is invalid and must not contain the port: %s', [$options['dbhost']]);
}
if(count($error) != 0) {
return $error;
}
@ -409,6 +413,18 @@ class Setup {
return $error;
}
/**
* @param string $host
* @return bool
*/
protected function validateDatabaseHost($host) {
if (strpos($host, ':') === false) {
return true;
}
return filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false;
}
public static function installBackgroundJobs() {
\OC::$server->getJobList()->add('\OC\Authentication\Token\DefaultTokenCleanupJob');
}