summaryrefslogtreecommitdiffstats
path: root/lib/private/templatelayout.php
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #16857 from owncloud/printStylesheetsC. Montero Luque2016-03-311-9/+39
|\ | | | | Support for print stylesheets
| * support print stylesheetsHendrik Leppelsack2016-01-131-9/+39
| |
* | Check if admin userLukas Reschke2016-02-121-1/+1
| | | | | | | | We should not add the JS for not admin users.
* | Move update notification code into appLukas Reschke2016-02-091-25/+0
| | | | | | | | | | | | Moves the update notification code in a single app. This is required since we want to use SSO for the new updater and for this have some code running in ownCloud as well (and we don't want that in core neccessarily). This app can provide that in the future, right now it's only the update notification itself. Will continue working on the SSO right away but wanted to keep the PR small. Furthermore also makes some more code unit-testable...
* | Make enable_avatars setting more robustMorris Jobke2016-01-271-1/+1
| | | | | | | | | | * handles the setting in the same way everywhere * fixes #21949
* | Fix setup pageMorris Jobke2016-01-261-5/+8
|/ | | | * fixes #21897
* Happy new year!Thomas Müller2016-01-121-3/+3
|
* OC_TemplateLayout -> OC\TemplateLayoutMorris Jobke2016-01-071-31/+26
|
* Use OCP\Util::getVersion instead of the internal private implementationMorris Jobke2015-12-181-1/+1
|
* OC_Helper::linkToRoute is deprecatedRoeland Jago Douma2015-12-171-2/+2
| | | | | Replaced all calls to OC_Helper::linkToRoute with OC::$server->getURLGenerator()->linkToRoute
* Merge pull request #21253 from owncloud/deprecated_oc_helper_linkToThomas Müller2015-12-171-2/+2
|\ | | | | Remove deprecated OC_Helper::linkTo
| * OC_Helper::linkTo is deprecatedRoeland Jago Douma2015-12-171-2/+2
| | | | | | | | Replaced with suggested (and calling body of)
* | Do not try to get the avatar if there is no userRoeland Jago Douma2015-12-171-1/+7
|/
* Add code integrity checkLukas Reschke2015-12-011-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Don't trust update serverLukas Reschke2015-11-281-1/+3
| | | | | | In case the update server may deliver malicious content this would allow an adversary to inject arbitrary HTML into the response. So very bad stuff. While signing the response would be better and something we can also do in the future (considering the code signing work), this is already a good first start.
* Always pass in ILoggerThomas Müller2015-10-091-1/+1
|
* User upstream class SeparatorFilterThomas Müller2015-09-281-1/+1
|
* Suer JSqueezeFilter instead of JSMinFilterThomas Müller2015-09-281-2/+2
|
* Show 'Apps' in the browser title when app management is openThomas Müller2015-09-231-2/+7
|
* update license headers and authorsMorris Jobke2015-06-251-0/+1
|
* fixing setting page titlesClark Tomlinson2015-06-111-2/+11
|
* Use OC.Notification for update notificationsMorris Jobke2015-05-031-0/+1
| | | | | | | * instead of a static rendering inside PHP use the JS OC.Notification.showTemporary to hide the notification after 7 seconds automatically * fixes #14811
* Add experimental applications switchLukas Reschke2015-04-031-1/+1
| | | | Allows administrators to disable or enabled experimental applications as well as show the trust level.
* Update license headersJenkins for ownCloud2015-03-261-0/+32
|
* fall back to absolute path for pipelined assets (#14940)Adam Williamson2015-03-161-1/+5
| | | | | | | If the asset is, for example, in an apps directory that is outside the $SERVERROOT, we won't be able to get a relative path. We shouldn't just fail hard in this case. Fall back to using the absolute path instead (as we used to).
* Log errors and create 404 in network list when a css or js is missingJoas Schilling2015-03-041-2/+6
|
* Revert "Updating license headers"Morris Jobke2015-02-261-32/+0
| | | | This reverts commit 6a1a4880f0d556fb090f19a5019fec31916f5c36.
* 3rd-party apps are disabled on upgrade - refs #14026Thomas Müller2015-02-241-1/+2
|
* Updating license headersJenkins for ownCloud2015-02-231-0/+32
|
* Refactor OC_Request into TrustedDomainHelper and IRequestLukas Reschke2015-02-161-5/+5
| | | | | | | | | | This changeset removes the static class `OC_Request` and moves the functions either into `IRequest` which is accessible via `\OC::$server::->getRequest()` or into a separated `TrustedDomainHelper` class for some helper methods which should not be publicly exposed. This changes only internal methods and nothing on the public API. Some public functions in `util.php` have been deprecated though in favour of the new non-static functions. Unfortunately some part of this code uses things like `__DIR__` and thus is not completely unit-testable. Where tests where possible they ahve been added though. Fixes https://github.com/owncloud/core/issues/13976 which was requested in https://github.com/owncloud/core/pull/13973#issuecomment-73492969
* include core version into js/css version tag - fixes #13702Thomas Müller2015-02-021-2/+4
|
* Merge pull request #13063 from AdamWill/assets-relocateThomas Müller2015-01-071-4/+5
|\ | | | | allow css/js asset directory to be relocated ('assetdirectory')
| * allow css/js asset directory to be relocated (#13053)Adam Williamson2015-01-051-4/+5
| | | | | | | | | | | | | | | | | | | | This allows the directory where CSS/JS asset collections are written to be changed, in case SERVERROOT is not writeable. Note it does *not* allow the expected URL to be changed: whatever directory is used, the server must be configured to serve it at WEBROOT/assets. It may be possible to add another config parameter to allow the admin to specify a custom asset URL, but I thought I'd keep the first implementation simple.
* | Fix JS asset generationRobin McCorkell2015-01-051-2/+6
|/ | | | | | | | | At some point SeparatorFilter should be included upstream (kriswallsmith/assetic), then lib/private/assetic/separatorfilter.php can be removed and the `use` in lib/private/templatelayout.php rewritten. SeparatorFilter inserts a separator between assets, preventing issues when files are incorrectly terminated. For JS this is a semicolon.
* Inject configVictor Dubiniuk2014-12-101-1/+1
|
* Use httphelper and cache response even when it emptyVictor Dubiniuk2014-12-061-1/+1
|
* Drop form_factor that is appended to JS, CSS and template filenamesMorris Jobke2014-11-121-8/+2
|
* Merge pull request #11708 from owncloud/fix-momentjsVincent Petry2014-10-271-1/+4
|\ | | | | Setting moment locale based on user selection
| * Setting moment locale based on user selectionClark Tomlinson2014-10-231-1/+4
| |
* | Load avatar in header via PHPkondou2014-10-231-1/+2
|/ | | | | * fix #7484 * use UID, css, and div instead of span
* Merge pull request #11630 from owncloud/kill-some-legacyLukas Reschke2014-10-211-1/+1
|\ | | | | remove legacy class OC_Updater
| * remove legacy class OC_UpdaterThomas Müller2014-10-201-1/+1
| |
* | Refer to relative path instead of absolute pathLukas Reschke2014-10-201-8/+21
|/ | | | | | | There is no need to refer to the absolute path here if we can use the relative one. Conflicts: lib/private/templatelayout.php
* adding cssmin and jssmin(minify)Thomas Müller2014-10-171-64/+55
| | | | | | adding argument deleteSelf to rmdirr() - if false the directory itself will not be deleted only it's content adding repair step to clean the asset cache after upgrade + coding style adjustments
* include the apps' versions hash to invalidate the cached assetsThomas Müller2014-10-161-0/+2
|
* Add app version to JS and CSSLukas Reschke2014-10-151-9/+10
| | | | | | This leads to the regeneration of the hash in case a single application is updated. Fixes https://github.com/owncloud/core/issues/11374
* Add CssImportFilter. More elegant fix for documents#348Victor Dubiniuk2014-10-061-1/+10
|
* Error needs to push body-id for new guest layoutRemco Brenninkmeijer2014-09-171-0/+1
|
* Step one, open guest layout for different styles.Lukas Reschke2014-09-111-0/+1
| | | | | | | Conflicts: core/templates/layout.guest.php Step one, open guest layout for different styles.
* Don't register the call when rendering error pagesRobin Appelman2014-08-291-1/+3
|