From 76c7356af9332cbc3be692566066bacdf8e9f4f2 Mon Sep 17 00:00:00 2001
From: Joas Schilling <coding@schilljs.com>
Date: Mon, 18 Jan 2021 12:03:52 +0100
Subject: [PATCH] Only use alphanumeric chars for mysql password

/ and + can cause problems with other tools that you might want to run on your Nextcloud database.

Signed-off-by: Joas Schilling <coding@schilljs.com>
---
 lib/private/Setup/MySQL.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/private/Setup/MySQL.php b/lib/private/Setup/MySQL.php
index 21339dc46d0..229d47160f5 100644
--- a/lib/private/Setup/MySQL.php
+++ b/lib/private/Setup/MySQL.php
@@ -36,6 +36,7 @@ use OC\DB\MySqlTools;
 use OCP\IDBConnection;
 use OCP\ILogger;
 use Doctrine\DBAL\Platforms\MySQL80Platform;
+use OCP\Security\ISecureRandom;
 
 class MySQL extends AbstractDatabase {
 	public $dbprettyname = 'MySQL/MariaDB';
@@ -165,7 +166,7 @@ class MySQL extends AbstractDatabase {
 						$this->dbUser = $adminUser;
 
 						//create a random password so we don't need to store the admin password in the config file
-						$this->dbPassword = $this->random->generate(30);
+						$this->dbPassword = $this->random->generate(30, ISecureRandom::CHAR_DIGITS . ISecureRandom::CHAR_LOWER . ISecureRandom::CHAR_UPPER);
 
 						$this->createDBUser($connection);
 
-- 
GitLab