Commit Graph

260 Commits

Author SHA1 Message Date
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 0f275b1550
Only create the migration directory when necessary
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-06 09:58:39 +02:00
Joas Schilling 3b267b165f Check the migration files for table, column and index length errors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:02:16 +02:00
Joas Schilling 5d9d1b1cb5 Allow to check the schema in pre and post as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling 817783e4c7 Add a version to migrations, so parallel legacy branches can also have migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling df6b839b23 Add author and copyright
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling 8c39e66619 Do not allow to go back on productive systems
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling 194ef1a171 Adjust the code to use our interface and abstract
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +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
Julius Härtl 2e47210d6f Add command to apply updates to custom themes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-05 12:38:07 +02:00
Joas Schilling eebd2811dc
Version and dependency are now required
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-22 09:54:44 +02:00
Morris Jobke 6dea5e6aad Implement skip checkers and log the currently tested app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-16 16:18:02 -05:00
Joas Schilling f920dfe09b
Skip the code checking for now
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-16 16:17:56 +02:00
Joas Schilling 31bb65fa36
Check the name length of database items
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-16 16:16:11 +02:00
Joas Schilling 93fc7fcdbe
Check the syntax of the language file
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-16 16:16:07 +02:00
Morris Jobke caa0ae94e8 Proper logging for appstore updates
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-11 13:35:17 -05:00
Thomas Müller 43427e26d7
Add console command to migrate the charset 2017-04-28 09:35:36 +02:00
Morris Jobke aa10cca61b
Do not disable 3rdparty apps on occ upgrade
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-27 18:11:33 -03:00
Morris Jobke c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Morris Jobke 5b4adf66e5
Move OC_Defaults to OCP\Defaults
* currently there are two ways to access default values:
  OCP\Defaults or OC_Defaults (which is extended by
  OCA\Theming\ThemingDefaults)
* our code used a mixture of both of them, which made
  it hard to work on theme values
* this extended the public interface with the missing
  methods and uses them everywhere to only rely on the
  public interface

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-09 21:43:01 -05:00
Joas Schilling 75eee315a3
Use false because null crashes the cache
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 22:43:19 +02:00
Joas Schilling 2961c735e3
Make sure blob columns are correctly converted as parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 17:11:57 +02:00
Morris Jobke 8a4466f9ae
Improve error message of charset convert script and behaviour
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-23 15:36:22 -06:00
Morris Jobke 3329f44a76
Address comments
* fix URL to documentation
* improve logic of UTF8mb4 check
* fix connection parameter creation - it's done already in ConnectionFactory::createConnectionParams
* remove unused attributes of MDB2SchemaReader

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-21 16:42:42 -06:00
Morris Jobke 713f684a8b
Adding tests for 4 byte unicode characters
* success on SQLite and Postgres
* failure on MySQL due to the limited charset that only supports up to 3 bytes

Add config option to update charset of mysql to utf8mb4

* fully optional
* requires additional options set in the database

only disable unicode test on mysql

Fixing ctor call

Adding docker based unit test execution for mysql utf8mb4

Add mysqlmb4 test configuration to Jenkinsfile

fix collation on utf8mb4

Properly setup charset and collation in the doctrine connection

Allow files containing 4-byte chars in case the database supports it

During setup of a mysql database we try to detect if charset 'utf8mb4' can be used

Fix mysql settings

Add console command to migrate the charset

Set ROW_FORMAT before setting collation to mb4

Also select tables with wrong collation

Faster MySQL docker

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-21 16:42:12 -06:00
Morris Jobke 8b670b41f1 Merge pull request #3952 from nextcloud/downstream-27209
Log files:scan exception, add InterruptedException
2017-03-20 03:22:58 -06:00
Vincent Petry b8a8f43fce
Log files:scan exception, add InterruptedException
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 02:24:28 -06:00
Morris Jobke daa7e11095 Merge pull request #3947 from nextcloud/downstream-27323
Disable empty password for user::resetpassword command using CLI
2017-03-20 01:53:28 -06:00
Sujith H a860ee3a45
Disable empty password for user::resetpassword command using CLI
Fixes issue: https://github.com/owncloud/core/issues/25206

Signed-off-by: Sujith H <sharidasan@owncloud.com>
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 00:01:12 -06:00
Morris Jobke 0f2ee20885
ownC -> Nextc
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-19 22:02:21 -06:00
Matthew Setter d4058b73c2
Update the occ:encrypt-all prompt
The message isn't as clear, nor as succinct, as it could be.
Given that, this commit seeks to address both those points.
This commit was prompted by https://github.com/owncloud/documentation/pull/2835.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-19 22:02:14 -06: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 9533f4e5ed
Clean up single user mode
Single user mode basically disables WebDAV, OCS and cron execution. Since
we heavily rely on WebDAV and OCS also in the web UI it's basically useless.
An admin only sees a broken interface and can't even change any settings nor
sees any files. Also sharing is not possible.

As this is at least the case since Nextcloud 9 and we haven't received any
reports for this it seems that this feature is not used at all so I removed it.

The encryption commands now rely on the well tested maintenance mode.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-22 23:02:31 -06:00
Joas Schilling 460b667f80
Update the email in the accounts table as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-08 13:52:55 +01:00
Joas Schilling ce7836378c
Filter out sensitive appconfig values
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-11 11:42:36 +01:00
Lukas Reschke 091bf07385 Merge pull request #2724 from nextcloud/fix-23591
[downstream] Report failures for SignApp and SignCore
2016-12-21 13:03:13 +01:00
Victor Dubiniuk 876754a5a5
Check return value for file_put_contents. Add return value to the commands
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-16 17:50:58 +01:00
Victor Dubiniuk 93a8eba137
Return 1 if integrity check is failed. Fixes #22806
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-16 17:48:37 +01:00
Lukas Reschke 60d1e8e63e
Check for nextcloud version as well
The code checker didn't consider the "nextcloud" version before, resulting in fails such as https://travis-ci.org/nextcloud/richdocuments/jobs/181470760#L415-L416

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-05 22:18:24 +01:00
Marius Blüm 46edb4e1a7
It's Nextcloud
Signed-off-by: Marius Blüm <marius@lineone.io>
2016-11-16 14:56:30 +01:00
Lukas Reschke 8d83e239f3
Fix tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:45 +01:00
Vincent Petry ae1000e045
Remove removed --dry-run command from occ help (#26352)
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-21 16:38:37 +02:00
Joas Schilling 114eb6ba32 Autocomplete for l10n:* and twofactorauth:*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-09-29 15:57:10 +02:00
Joas Schilling 8906b1cc95 Add autocomplete for db:* and log:*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-09-29 15:57:10 +02:00
Joas Schilling 691a5d40a4 Add autocomplete for config:*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-09-29 15:57:10 +02:00
Joas Schilling e1df6b5702 Full support for autocomplete of app:*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-09-29 15:57:10 +02:00
Joas Schilling 5551c63110 Register the auto completion basic
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-09-29 15:57:10 +02:00
Lukas Reschke 3b7f548b0f
Remove unused and undefined use statement
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-27 18:45:05 +02:00
Vincent Petry da0cea404d
Kill update simulation
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-27 18:43:53 +02:00
Joas Schilling 1675542df4
Display an error when updating .htaccess failed 2016-09-13 10:51:48 +02:00
Joas Schilling 83c46f0541
Fix typo 2016-09-07 09:32:20 +02:00
Joas Schilling c0ecdf6402
Catch the exception of the password policy app 2016-09-07 09:28:42 +02:00
Roeland Jago Douma 4b8de8ba8e
Fix dbconvert 2016-09-06 21:20:02 +02:00
Roeland Jago Douma b57a1063a3
Move install over to QuestionHelper 2016-09-06 21:20:02 +02:00
Roeland Jago Douma 25546b6c83
Convert resetpassword to question helper 2016-09-06 21:20:01 +02:00
Roeland Jago Douma a9c6c351cb
Move to question helper 2016-09-06 21:20:01 +02:00
Roeland Jago Douma 1ec5e8a1ab
Switch user:report from deprecated tablehelper to table 2016-09-06 21:20:01 +02:00
Joas Schilling 7c0951244a
Deprecate getEditionString() 2016-09-06 16:05:28 +02:00
Joas Schilling 20b636f382
Also fix "occ status" 2016-09-06 14:13:59 +02:00
Robin Appelman e783006fe2 make disabled apps more clear during upgrade 2016-08-09 13:46:41 +02:00
Jürgen Haas aeb5dfa4ac Exit from upgrade without reporting error
As reported at https://help.nextcloud.com/t/silent-mode-for-occ-upgrade/2120 we should exit with a return value of 0 (zero) if the current instance is already up to date so that automatic deployment tools don't recognize that as an error.
2016-08-03 15:51:55 +02:00
Sander Ruitenbeek 06fd2e7d5a Revert (c) back to ownCloud, Inc.
To be dealt with later
2016-07-30 16:26:34 +02:00
sanderr a7f998a454 Update Upgrade.php 2016-07-30 15:09:43 +02:00
Sander Ruitenbeek 3101f9e234 Rebranded to Nextcloud for the occ command line tool 2016-07-30 15:39:32 +02:00
Daniel Hansson 0b4789b162 ownCloud -> Nextcloud 2016-07-28 20:55:26 +02:00
Thomas Pulzer ba3f4f118e Changed logtype to file instead of owncloud.
- Updated the config sample to point to log_type='file'
- Renamed the Class for logfile logging to File in namespace 'OC\Log\'.
  Changed the occurrences of 'OC\Log\Owncloud' to 'OC\Log\File'.
- Renamed the Class for log:file command to File in namespace 'OC\Core\Command\Log\File'.
  Changed registration of the command to use 'OC\Core\Command\Log\File'.
- Changed default Syslog tag to Nextcloud
- Retained backwards compatibility for configs with 'logtype' => 'owncloud'

- Adjusted tests for the new file log.

Closes #490.
2016-07-22 11:44:19 +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
Robin Appelman 586c58efa7
add occ command to show user information 2016-07-19 09:58:59 +02:00
Robin Appelman 3d874c407d
Add commands to add/remove users to/from groups 2016-07-19 09:58:59 +02:00
Robin Appelman 413d577b29
add command to list groups 2016-07-19 09:58:59 +02:00
Robin Appelman b44d439010
add occ command to list users 2016-07-19 09:58:59 +02:00
Björn Schießle ea470f8777 Merge pull request #405 from nextcloud/theming-fixes
Theming fixes
2016-07-18 15:59:47 +02:00
Joas Schilling 2c988ecbf4
Use the themed Defaults everywhere 2016-07-15 09:17:30 +02:00
Joas Schilling aaf2be4c3d
Use argument instead of value 2016-07-14 15:09:47 +02:00
Joas Schilling 4656b79c8e
FIx my email 2016-07-13 18:46:27 +02:00
Joas Schilling 9ed62c3b81
Fix descriptions 2016-07-13 18:44:00 +02:00
Joas Schilling dcacdde1ea
Add tests for set/get/delete/list 2016-07-13 18:43:57 +02:00
Joas Schilling 01899b8cf1
Add tests for checkInput() 2016-07-13 18:43:50 +02:00
Joas Schilling db6dba9619
Allow deleting a setting 2016-07-13 18:43:46 +02:00
Joas Schilling c3c7a5fd2c
Allow setting values 2016-07-13 18:43:43 +02:00
Joas Schilling b96f0c99b0
Add a occ command to list/get user preferences 2016-07-13 18:43:36 +02:00
Thomas Pulzer 0638937ada Changed the input option for database-port to required when parameter was provided.
Added casting database port to int for input sanitation in pgsql and oci connections.
2016-07-06 11:31:28 +02:00
Thomas Pulzer d367318088 Added occ install option for database-port.
Extended the database setup to store the database port.
Changed the PostgreSQL connection error message for clarification.
2016-07-06 09:58:38 +02:00
Thomas Pulzer 90b7f74da7 Changed name of default logfile from owncloud.log to nextcloud.log. 2016-07-04 11:50:32 +02:00
Vincent Petry f062b62f03 Keep encryption enabled if decrypting for single user
When decrypting all files of a single user, the admin usually does not
intend encryption to be suddenly disabled for everyone. This fix
reenables encryption after decrypting for a single user.

Decrypting for all users will still disable encryption globally.
2016-06-24 16:46:25 +02:00
Jörn Friedrich Dreyer c45b7b0bdf Allow empty host when installing on oracle via CLI (#25034) 2016-06-10 11:16:32 +02:00
Joas Schilling 4c26abe228 Fix the FIXME (#25022) 2016-06-09 15:05:02 +02:00
Vincent Petry 9b6125e49b Merge pull request #24992 from owncloud/fix_decrypt_message
Fix Decrypt message via occ
2016-06-08 10:12:47 +02:00
Sergio Bertolín 67c9e598ae Fixed reviews 2016-06-07 07:55:28 +00:00
Joas Schilling d4ba982131
Allow to decrypt user '0' files only 2016-06-07 09:13:11 +02:00
davitol f9b3865093 Comments fixed 2016-06-06 16:10:49 +02:00
davitol eaeb5d606d Fix Decrypt message via occ 2016-06-06 15:28:49 +02:00
Joas Schilling 0e3a0e0fdb Allow setting debug as loglevel via occ log_manage (#24834) 2016-05-30 12:23:45 +02:00
Lukas Reschke aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Vincent Petry 87fa86a69a Merge pull request #24559 from owncloud/2fa
two factor auth
2016-05-23 20:50:03 +02:00
Christoph Wurst 847bbc51b6
add OCC command to enable/disable 2FA for a user 2016-05-23 11:21:13 +02:00
Joas Schilling df4d6063d0
Chunk the "db:convert-type" select queries, to not run out of memory so fast 2016-05-13 10:04:10 +02:00
Lukas Reschke 52add798d4 Do not automatically try to enable index.php-less URLs (#24539)
The current logic for mod_rewrite relies on the fact that people have properly configured ownCloud, basically it reads from the `overwrite.cli.ur
l` entry and then derives the `RewriteBase` from it.

This usually works. However, since the ownCloud packages seem to install themselves at `/owncloud` (because subfolders are cool or so…) _a lot_ of people have just created a new Virtual Host for it or have simply symlinked the path etc.

This means that `overwrite.cli.url` is wrong, which fails hard if it is used as RewriteBase since Apache does not know where it should serve files from. In the end the ownCloud instance will not be accessible anymore and users will be frustrated. Also some shared hosters like 1&1 (because using shared hosters is so awesome… ;-)) have somewhat dubious Apache configurations or use versions of mod_rewrite from the mediveal age. (because updating is money or so…)

Anyhow. This makes this explicitly an opt-in configuration flag. If `htaccess.RewriteBase` is set then it will configure index.php-less URLs, if
admins set that after installation and don't want to wait until the next ownCloud version they can run `occ maintenance:update:htaccess`.

For ownCloud 9.0 we also have to add a repair step to make sure that instances that already have a RewriteBase configured continue to use it by copying it into the config file. That way all existing URLs stay valid. That one is not in this PR since this is unneccessary in master.

Effectively this reduces another risk of breakage when updating from ownCloud 8 to ownCloud 9.

Fixes https://github.com/owncloud/core/issues/24525, https://github.com/owncloud/core/issues/24426 and probably some more.
2016-05-12 09:43:26 +02:00
Thomas Müller 4b2544925f Merge pull request #23844 from owncloud/disable-user
Add occ commands to enable and disable a user + a disabled user can n…
2016-05-03 15:22:41 +02:00
Roeland Jago Douma fc82047e26
Move OC_Log_xx to \OC\Log namespace 2016-05-03 08:57:26 +02:00
Thomas Müller 9c9fec36dd
Add occ commands to enable and disable a user + a disabled user can no longer login - fixes #23838 2016-05-02 09:31:22 +02:00
Thomas Müller 7ad1d491f4
Adding progress to occ upgrade 2016-04-28 13:52:01 +02:00
Thomas Müller cdcd49b473
Adding progress to occ maintenance:repair 2016-04-28 13:52:01 +02:00
Thomas Müller 48b61b7b5a
Deprecate appinfo/update.php - RepairSteps within info.xml are to be used 2016-04-22 17:22:40 +02:00
Thomas Müller 3aa77960ef
Adding pre- and post-migration repair steps 2016-04-22 09:26:31 +02:00
Roeland Douma 0c5f915377 Merge pull request #24054 from owncloud/data_fingerprint
Add data-fingerprint property
2016-04-19 14:24:27 +02:00
Thomas Müller 5c3183cedd
Move version check code out of class Updater 2016-04-18 17:12:59 +02:00
Roeland Jago Douma a2c8597b00
Add occ command for updating the data-fingerprint 2016-04-18 16:08:19 +02:00
Lukas Reschke a4b19a5b1e
Rename files to be PSR-4 compliant 2016-04-06 11:00:52 +02:00