Commit Graph

57 Commits

Author SHA1 Message Date
Joas Schilling ac89b6abe7
Check the new connection on setup like with PostgreSQL and Oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-05 13:55:16 +01:00
Joas Schilling 0aa216fc48
Only provide the auth method for MySQL 8.0+ to not break MariaDB
Provide the auth method for MySQL 8.0+

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-05 13:54:57 +01:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Joas Schilling 77d814d35f
Fix installing with MySQL 8.0.4+
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-20 19:43:31 +01:00
Roeland Jago Douma b42b26eceb
Merge pull request #15187 from vitormattos/bugfix-create-database-user
Bugfix: user is not allowed
2019-08-08 09:03:48 +02:00
Oliver Salzburg 392a4dd68a
Use specific privileges when creating admin
Using the ALL shorthand can cause problems when not all privileges are available to the user.
For example, AWS RDS MariaDB/MySQL will not grant the initial user account on an instance the SUPER privilege.
While the user account is still valid for pretty much any task on the DB instance, it can not use the ALL shorthand when granting privileges to new users.
By supplying a specific set of privileges, we work around this limitation without sacrificing functionality.

Closes #16139

Signed-off-by: Oliver Salzburg <oliver.salzburg@gmail.com>
2019-07-16 10:26:25 +02:00
Vitor Mattos 35465ca90c solve code review
Signed-off-by: Vitor Mattos <vitor@php.rio>
2019-04-22 19:57:11 -03:00
Vitor Mattos 4d187ce1d7 Check if database exists and grand permission
Signed-off-by: Vitor Mattos <vitor@php.rio>
2019-04-21 16:54:40 -03:00
Vitor Mattos 824cc0af1e Bugfix: user is not allowed
The created user don't has permission to connect to database. I changed the code to give permission

Signed-off-by: Vitor Mattos <vitor@php.rio>
2019-04-21 15:00:39 -03:00
Morris Jobke 3f9cdeeb5f
Cleanup some PHPDoc leftovers and unused variables
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-06 15:43:56 +01:00
Daniel Kesselberg 9d7e51fd56
Use empty instead ?? because dbname is '' sometimes
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-09-23 18:25:48 +02:00
Daniel Kesselberg 0ee191bf44
Use const for dbname and dbtableprefix defaults
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-09-23 18:15:57 +02:00
Daniel Kesselberg a5f0cc6539
--database-name or --database-table-prefix are ignored for sqlite
The default implementation of initialize in AbstractDatabase writes
database information to config.php. The method is overwritten in
Sqlite but parent is never called. Database-Name and Database-Table-Prefix
are never written to config.php. But from this point setup use values
from config.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-09-23 15:52:28 +02:00
Arthur Schiwon 38a90130ce
move log constants to ILogger
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +02:00
Morris Jobke a661f043e1
Remove unneeded semicolon and parentheses
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 23:46:40 +01:00
Morris Jobke 2a38605545
Properly log the full exception instead of only the message
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-23 10:57:21 +01:00
Morris Jobke 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Robin Appelman 2c0efae30f
cleanup oci setup code
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-06 15:55:05 +02:00
Joas Schilling 5e04254d40
Install from migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:47:37 +02:00
Lukas Reschke 3d2600b039
Add Phan plugin to check for SQL injections
This adds a phan plugin which checks for SQL injections on code using our QueryBuilder, while it isn't perfect it should already catch most potential issues.

As always, static analysis will sometimes have false positives and this is also here the case. So in some cases the analyzer just doesn't know if something is potential user input or not, thus I had to add some `@suppress SqlInjectionChecker` in front of those potential injections.

The Phan plugin hasn't the most awesome code but it works and I also added a file with test cases.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-20 22:48:13 +02:00
Joas Schilling 15eec7b83c Start migrations
Fixme:
- Install and update of apps
- No revert on live systems (debug only)
- Service adjustment to our interface
- Loading via autoloader

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Arthur Schiwon 18a8f3654b
fix install on mb4 enabled mariadb/mysql
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-06-01 13:44:18 +02:00
Thomas Müller 86ccc8949f
MySQL 4 byte is now detected during setup in any case.
config.sample.php was updated to explicitly state that there detection in place to set mysql.utf8mb4
2017-04-28 09:35:36 +02:00
Thomas Müller 43427e26d7
Add console command to migrate the charset 2017-04-28 09:35:36 +02:00
Thomas Müller aa22f93018
During setup of a mysql database we try to detect if charset 'utf8mb4' can be used 2017-04-28 09:35:35 +02:00
Morris Jobke c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Joas Schilling 1c0bffe87f
Fix translations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-18 16:40:53 -05:00
Robin Appelman 421ca6439f
use the same oci connectstring in all code paths
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-10 17:58:52 +02:00
Morris Jobke edd55b0ea9
Use SystemConfig instead of AllConfig for DB stuff
* preparation for followup PRs to clean up the DB bootstrapping

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-19 15:53:49 -06:00
Morris Jobke d99ce3971b
Namespace and array syntax fixes
* minor fixes in preparation of a bigger DB and config PR

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-19 14:52:54 -06:00
Morris Jobke a4ad8af6e3
Add proper default value for datadir
* better safe than sorry
* fixes #3091

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-01-19 19:49:41 -06:00
Joas Schilling 9e95a89ab7 Merge pull request #2535 from nextcloud/allow-to-reuse-admin-as-install-name-like-on-mysql
Allow to reuse the same name when installing a new instance on postgres
2017-01-05 14:31:37 +01:00
Roeland Jago Douma 3714a6aaf0 Merge pull request #2670 from nextcloud/issue-2646-dont-connet-to-database-before-creating-it
Do not connect to database before creating it
2016-12-14 19:50:16 +01:00
Joas Schilling 9a5401ddd7
Only log as info when we can not create a new DB user
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-14 14:06:14 +01:00
Joas Schilling 7c061a4e06
Do not connect to database before creating it
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-14 13:52:04 +01:00
Joas Schilling 7293a4e5ec
Allow to reuse the same name when installing a new instance
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-12 17:28:57 +01:00
Joas Schilling a5a35cda7c
Lower the role name before using it
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-09 16:41:01 +01:00
Joas Schilling 0d6134f512
Revert "Quote database and role in queries"
This reverts commit 9ebd5d5bb2.
2016-12-09 15:36:14 +01:00
Lari Tikkanen 9ebd5d5bb2 Quote database and role in queries
Fixes #1793
Signed-off-by: Lari Tikkanen <lartza@outlook.com>
2016-12-07 22:12:25 +02:00
Robin Appelman 5365c1a32f
handle postgres setup when we cant connect as admin 2016-12-05 16:00:05 +01:00
Hemanth Kumar Veeranki 2b7d63f565 Added Exception catch in case of DB User exists
Signed-off-by: Hemanth Kumar Veeranki <hemanthveeranki@gmail.com>
2016-10-31 16:32:22 +05:30
Roeland Jago Douma 740659a04c
Move away from OC_L10N
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-28 21:46:28 +02:00
Thomas Müller a7245ea082
Fixing ctor call 2016-10-19 00:15:01 +02:00
Morris Jobke cc28f82b36
Add config option to update charset of mysql to utf8mb4
* fully optional
* requires additional options set in the database
2016-10-19 00:15:01 +02:00
Roeland Jago Douma 7fb88ec506
Use proper ALTER ROLE syntax
Fixes #1260

See https://www.postgresql.org/docs/9.0/static/sql-alterrole.html
2016-09-05 10:45:11 +02:00
Vincent Petry aeb4011279
Fix misleading MySQL DB creation error (#25485)
Whenever the GRANT ALL failed, it used to display "Database creation
failed" which is incorrect. It's only the privleges setting that failed.

This moves the privilege setting message to DEBUG and makes it more
precise.
2016-07-27 11:45:13 +02:00
Robin Appelman 0e83f5dbd7 revert to old setup connection logic 2016-07-26 11:44:15 +02:00
Joas Schilling 0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling ba87db3fcc
Fix others 2016-07-21 18:13:57 +02:00