summaryrefslogtreecommitdiffstats
path: root/core/command
Commit message (Collapse)AuthorAgeFilesLines
* Allow specifing the signing pathLukas Reschke2016-02-031-4/+6
|
* Revert "setting to skip migration tests by default"Morris Jobke2016-02-031-6/+0
|
* setting to skip migration tests by defaultMorris Jobke2016-02-031-0/+6
| | | | | | | * if you install owncloud via package it is not possible to skip migration tests * this also allows to disable migration tests for an instance by default
* Move signal handling to the base class to allow other commands to reuse this ↵Thomas Müller2016-02-011-0/+38
| | | | feature
* Merge pull request #18444 from owncloud/occ-config-typesThomas Müller2016-01-253-21/+191
|\ | | | | occ config:system:set can now set other value types
| * Allow array recursion in getJoas Schilling2016-01-141-3/+16
| |
| * Allow deleting a nested system config valueJoas Schilling2016-01-142-10/+52
| |
| * Retain backwards compatibilityJoas Schilling2016-01-141-51/+56
| |
| * occ config:system:set can now set other value typesRobin McCorkell2016-01-141-9/+119
| | | | | | | | | | | | | | Integers, doubles, booleans and even arrays can now be set, with the --type=... option. Array setting can be specified by passing multiple name arguments, e.g. `./occ config:system:set redis port --value=123 --type=integer`
* | Merge pull request #21850 from owncloud/more-output-for-integrity-checkThomas Müller2016-01-221-0/+6
|\ \ | | | | | | Print output for integrity check during ./occ upgrade
| * | Print output for integrity check during ./occ upgradeMorris Jobke2016-01-221-0/+6
| | |
* | | Use path instead of app idLukas Reschke2016-01-201-8/+17
|/ / | | | | | | | | | | This change requires the usage of a path instead of the App ID when signing code. This has the advantage that developers can also sign code under a different location to make it easier. (e.g. remove `.git`, …) Also it adds an example command usage as well as a link to the documentation
* | Make it possible to enable apps for groups only via occJoas Schilling2016-01-191-5/+36
| |
* | Make it possible to disable apps via the console, which are not enabled for ↵Joas Schilling2016-01-191-2/+15
| | | | | | | | the current user
* | Make sure to list "group enabled" apps as enabledJoas Schilling2016-01-191-4/+16
| | | | | | | | also when they are not enabled for the current user
* | Sort the list before savingJoas Schilling2016-01-181-0/+2
| |
* | Add occ commands to manager trusted certificatesRobin Appelman2016-01-133-0/+222
|/
* Happy new year!Thomas Müller2016-01-1244-50/+54
|
* Merge pull request #21498 from owncloud/cleanup-OC_DBThomas Müller2016-01-072-2/+2
|\ | | | | Cleanup OC_DB methods
| * Remove OC_DB::getConnectionMorris Jobke2016-01-072-2/+2
| |
* | Add a warning to the app:check-code if the version is missingJoas Schilling2016-01-071-0/+4
|/
* don't show previous log level in upgrade messageBjörn Schießle2016-01-041-2/+2
|
* Use OCP\Util::getVersion instead of the internal private implementationMorris Jobke2015-12-181-1/+1
|
* Add occ command to get app pathVictor Dubiniuk2015-12-091-0/+62
|
* Allow occ install on OS X - same behaviour as web setupMorris Jobke2015-12-091-1/+6
|
* Add code integrity checkLukas Reschke2015-12-013-3/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR implements the base foundation of the code signing and integrity check. In this PR implemented is the signing and verification logic, as well as commands to sign single apps or the core repository. Furthermore, there is a basic implementation to display problems with the code integrity on the update screen. Code signing basically happens the following way: - There is a ownCloud Root Certificate authority stored `resources/codesigning/root.crt` (in this PR I also ship the private key which we obviously need to change before a release :wink:). This certificate is not intended to be used for signing directly and only is used to sign new certificates. - Using the `integrity:sign-core` and `integrity:sign-app` commands developers can sign either the core release or a single app. The core release needs to be signed with a certificate that has a CN of `core`, apps need to be signed with a certificate that either has a CN of `core` (shipped apps!) or the AppID. - The command generates a signature.json file of the following format: ```json { "hashes": { "/filename.php": "2401fed2eea6f2c1027c482a633e8e25cd46701f811e2d2c10dc213fd95fa60e350bccbbebdccc73a042b1a2799f673fbabadc783284cc288e4f1a1eacb74e3d", "/lib/base.php": "55548cc16b457cd74241990cc9d3b72b6335f2e5f45eee95171da024087d114fcbc2effc3d5818a6d5d55f2ae960ab39fd0414d0c542b72a3b9e08eb21206dd9" }, "certificate": "-----BEGIN CERTIFICATE-----MIIBvTCCASagAwIBAgIUPvawyqJwCwYazcv7iz16TWxfeUMwDQYJKoZIhvcNAQEF\nBQAwIzEhMB8GA1UECgwYb3duQ2xvdWQgQ29kZSBTaWduaW5nIENBMB4XDTE1MTAx\nNDEzMTcxMFoXDTE2MTAxNDEzMTcxMFowEzERMA8GA1UEAwwIY29udGFjdHMwgZ8w\nDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANoQesGdCW0L2L+a2xITYipixkScrIpB\nkX5Snu3fs45MscDb61xByjBSlFgR4QI6McoCipPw4SUr28EaExVvgPSvqUjYLGps\nfiv0Cvgquzbx/X3mUcdk9LcFo1uWGtrTfkuXSKX41PnJGTr6RQWGIBd1V52q1qbC\nJKkfzyeMeuQfAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAvF/KIhRMQ3tYTmgHWsiM\nwDMgIDb7iaHF0fS+/Nvo4PzoTO/trev6tMyjLbJ7hgdCpz/1sNzE11Cibf6V6dsz\njCE9invP368Xv0bTRObRqeSNsGogGl5ceAvR0c9BG+NRIKHcly3At3gLkS2791bC\niG+UxI/MNcWV0uJg9S63LF8=\n-----END CERTIFICATE-----", "signature": "U29tZVNpZ25lZERhdGFFeGFtcGxl" } ``` `hashes` is an array of all files in the folder with their corresponding SHA512 hashes (this is actually quite cheap to calculate), the `certificate` is the certificate used for signing. It has to be issued by the ownCloud Root Authority and it's CN needs to be permitted to perform the required action. The `signature` is then a signature of the `hashes` which can be verified using the `certificate`. Steps to do in other PRs, this is already a quite huge one: - Add nag screen in case the code check fails to ensure that administrators are aware of this. - Add code verification also to OCC upgrade and unify display code more. - Add enforced code verification to apps shipped from the appstore with a level of "official" - Add enfocrced code verification to apps shipped from the appstore that were already signed in a previous release - Add some developer documentation on how devs can request their own certificate - Check when installing ownCloud - Add support for CRLs to allow revoking certificates **Note:** The upgrade checks are only run when the instance has a defined release channel of `stable` (defined in `version.php`). If you want to test this, you need to change the channel thus and then generate the core signature: ``` ➜ master git:(add-integrity-checker) ✗ ./occ integrity:sign-core --privateKey=resources/codesigning/core.key --certificate=resources/codesigning/core.crt Successfully signed "core" ``` Then increase the version and you should see something like the following: ![2015-11-04_12-02-57](https://cloud.githubusercontent.com/assets/878997/10936336/6adb1d14-82ec-11e5-8f06-9a74801c9abf.png) As you can see a failed code check will not prevent the further update. It will instead just be a notice to the admin. In a next step we will add some nag screen. For packaging stable releases this requires the following additional steps as a last action before zipping: 1. Run `./occ integrity:sign-core` once 2. Run `./occ integrity:sign-app` _for each_ app. However, this can be simply automated using a simple foreach on the apps folder.
* Add cmdline key to show shipped/non-shipped apps onlyVictor Dubiniuk2015-11-231-0/+17
|
* Do not allow two different version requirementsJoas Schilling2015-11-091-0/+4
|
* Replace some OC_Config calls with ILogger methodsMorris Jobke2015-10-301-1/+1
|
* Add a repair step that checks for group membership on sharesJoas Schilling2015-10-291-1/+16
|
* Revert "setting to skip migration tests by default"Morris Jobke2015-10-271-6/+0
| | | | This reverts commit 7cbdd9b90bcea3566b7d0198f23da3d427e6ef45.
* Update license headersLukas Reschke2015-10-261-1/+1
|
* Update: state which step we are going to start and warn if it might be slowJoas Schilling2015-10-211-0/+12
|
* Always pass in ILoggerThomas Müller2015-10-091-5/+9
|
* deduplicate @xenopathicMorris Jobke2015-10-064-4/+4
|
* update licence headers via scriptMorris Jobke2015-10-0510-3/+9
|
* setting to skip migration tests by defaultMorris Jobke2015-10-011-1/+7
| | | | | | | * if you install owncloud via package it is not possible to skip migration tests * this also allows to disable migration tests for an instance by default
* [upgrade] switch to debug logging on upgradeMorris Jobke2015-09-291-0/+6
| | | | | * resets afterwards * adds output about the previous log level
* Move the filtering of sensitive data to the config classJoas Schilling2015-09-251-39/+4
|
* encode arrays as stringMorris Jobke2015-09-241-3/+0
|
* [App Code Check] add check for version and mandatory fieldsMorris Jobke2015-09-241-1/+68
| | | | | * ref #17598 * including unit tests for mandatory fields/versions
* improve description and help output for the encrypt-all and decrypt-all commandBjoern Schiessle2015-09-212-2/+4
|
* Also catch exceptions on encryptAll and reset trashbin and singleUser modeJoas Schilling2015-09-181-2/+7
|
* Do not set single user in constructorJoas Schilling2015-09-182-5/+28
|
* Fix the singleuser config casing in new encryption codeJoas Schilling2015-09-172-6/+6
|
* occ script to disable encryption and to decrypt all files againBjoern Schiessle2015-09-151-0/+148
|
* use the same pattern for the command name like every other commandBjoern Schiessle2015-09-141-1/+1
|
* Introduce mimetype DB update occ commandRobin McCorkell2015-09-041-0/+96
|
* Move maintenance:mimetypesjs to sublocation, cleanup codeRobin McCorkell2015-09-011-18/+25
|
* make system root of key storage configurableBjoern Schiessle2015-08-302-0/+328
|