Commit Graph

545 Commits

Author SHA1 Message Date
merdan 9489f49958 home page start 2021-03-11 15:16:57 +05:00
Marc Jauvin 20181b16de
Remove hidden CMS pages from menus (#5309) 2020-10-12 11:35:33 -06:00
Luke Towers 482167d1d1 Merge branch '1.0' into develop 2020-09-04 15:23:02 -06:00
Luke Towers e9e4210842 Allow infinitely nested CmsObjects that may have been permitted to load previously through the filesystem continue to load. 2020-09-04 15:22:48 -06:00
Luke Towers dd5fd34ae7 Merge branch '1.0' into develop 2020-09-04 01:27:53 -06:00
Samuel Georges 4c650bb775 Security fixes for v1.0.469
Introduces sandbox policy to block extendable methods allowing arbitrary code execution
2020-09-04 13:02:01 +10:00
Luke Towers edae0c2476 Allow aliased non-compound use statements in the code section.
Follow up to: c1bb695f4b (diff-2040a96d3a0b43fe38675a7ee54fd8d6)
2020-08-23 01:23:06 -06:00
Ben Thomson c7ed0ffa1a
Implement improved testing procedure (#5238)
Refs: 5feb7b872f
2020-08-14 08:00:39 +08:00
Ben Thomson 3a1f547adb
Use new PathResolver methods for handling file Asset / Object paths 2020-08-13 12:48:07 +08:00
Ben Thomson 50e61df10e
Fix path validation for CmsObjects & Assets (#5229)
Instead of using a temporary file to allow checks with `realpath()` to succeed, use the new `resolve_path()` helper added in a9a629b012 to replace the `realpath()` usage and allow for path resolution of files that don't exist yet.

This will allow new asset files to still be saved correctly, whilst still preventing paths outside of the assets directory to be used.

Replaces b1954e9258.
2020-08-05 12:00:22 -06:00
Luke Towers 0a9c751e1b Merge branch 'develop' into wip/laravel-6 2020-08-03 01:49:06 -06:00
Luke Towers b1954e9258 Fix creating asset files
Fixes #5228
2020-07-30 10:35:02 -06:00
Ben Thomson 327d7be604
Merge remote-tracking branch 'origin/develop' into wip/laravel-6 2020-07-10 16:02:01 +08:00
Luke Towers c1bb695f4b
Fix "use statement with non-compound names has no effect" (#5206)
Fixes #5205.
2020-07-09 02:19:36 -06:00
Luke Towers 62a4354b6f Merge branch 'develop' into wip/laravel-6 2020-05-22 21:04:15 -06:00
Luke Towers 0c46209725 Fix crash when a cached path doesn't actually exist in the specified datasource
Fixes an issue when using databaseTemplates where if the pathCache had been generated, and then any template was removed from the database manually the pathCache being out of date would cause an exception to be thrown elsewhere.
2020-05-22 21:01:45 -06:00
Ben Thomson 5c8f567323
Merge remote-tracking branch 'origin/develop' into wip/laravel-6 2020-05-18 08:35:03 +08:00
Marc Jauvin 15e4e53901
fix typos in halcyon (#5066) 2020-05-05 11:12:45 -06:00
Luke Towers 4b22d06c60 Merge branch 'develop' into wip/laravel-6 2020-04-04 14:11:05 -06:00
Ben Thomson cc1c1096b0
Remove newline between "throws" and "return" 2020-04-05 01:06:47 +08:00
Dan Harrin 903b5b01ea
Add support for "soft" components (#4539) 2020-04-05 01:02:43 +08:00
Luke Towers 44cc5d371b Merge branch 'develop' into wip/laravel-6 2020-04-04 02:32:16 -06:00
Luke Towers 0edde0eb94 Improve opcache config check 2020-04-03 09:08:22 -06:00
Luke Towers e4571c3dd4
Add usingSource method to active datasource (#5017)
This allows the `theme:sync` command to properly sync to specified targets.

Fixes #4887. Replaces #4935. Credit to @bennothommo for the initial implementation.
2020-04-01 18:12:50 +08:00
Luke Towers 79f0a9413b Merge branch 'develop' into wip/laravel-6
# Conflicts:
#	composer.json
2020-03-31 04:36:47 -06:00
Luke Towers 2b8939cc8b Improve asset file path handling 2020-03-31 03:37:31 -06:00
Ben Thomson 8c61985114 Merge branch 'develop' into wip/laravel-6 2020-03-16 17:13:42 +08:00
Ben Thomson 96c062bb47
Allow dot-notation for specifying external parameters for a component (#4978) 2020-03-13 09:03:18 +08:00
Marten 1fac424f71
Updated getParameter method hints in Router (#4908) 2020-03-04 16:36:09 +08:00
Luke Towers 8eb045f2d1 Minor performance improvement
Don't bother retrieving the translated URL at construction time, it will be run through the translator during the validation process so there's no need to always hit the translator on every single Page model being loaded.
2020-03-03 10:38:03 -06:00
Ben Thomson 11b7111413 Use old signature for `where` method in CmsObjectCollection.
Refs: https://github.com/octobercms/october/pull/4893#discussion_r368408407
2020-01-20 16:25:50 +08:00
Ben Thomson 9ecad139c4 Comment tweak for CmsObjectCollection::where() 2020-01-20 13:59:29 +08:00
Ben Thomson 662b1c2e45
Fix incompatible `where` method in CmsObjectCollection
Signature for the `where` method changes in L6, so a wrapper has been put in place.
2020-01-19 16:35:01 +08:00
Ben Thomson 5d3d4ad0b2
Merge branch 'develop' into wip/laravel-5.9 2020-01-18 21:00:40 +08:00
Samuel Georges cbc620c3e8 Rollback for Build 462
This change should be revisited since it doesn't account for database-based templates which have no file path. Upon revisit, we might want to consider adding this logic in to the afterFetch() event with detection of file based mode, or even at the lower levels where the file is first extracted from the filesystem. TBA
2019-12-19 17:42:25 +11:00
Luke Towers a51215b9b3
Revert "Added additional robots meta fields to CMS pages (#4685)" (#4832)
This reverts commit 8303e0dbb2. Reverts #4685. Should be implemented as a plugin instead.
2019-12-18 13:51:50 -06:00
Nick Khaetsky 8303e0dbb2 Added additional robots meta fields to CMS pages (#4685)
Credit to @FlusherDock1
2019-12-18 10:16:36 -06:00
Samuel Georges 7902cfa58a Simplify security check
Logic in ComponentPartial was rolled back and moved to the Controller. Since there are issues with throwing exceptions inside the component partial lookup logic (exceptions are conditionally suppressed), it seems like it would be better to bubble up the security logic to the controller level as a simple base dir security check, which is no longer concerned about any suppression logic. This looks to have logic parity with the previous solution

Refs #4652
2019-12-14 12:37:44 +11:00
Tobias Kündig 80f870c313 Allow partial overrides in subfolders (#4652)
* Allow partial overrides in subfolders + security checker
2019-12-14 12:22:30 +11:00
Samuel Georges 260e1f503f Rollback d31006ae1a 2019-12-10 03:12:12 +11:00
Marc Jauvin 864816f7f2 Make CMS object code editor read-only in safe mode (#4769)
Adds a dismissable message to the CMS object code editor indicating that the PHP code section of a CMS object cannot be edited when `cms.enableSafeMode` is `true` (or when debugging is disabled if `null`).

Credit to @mjauvin.
2019-12-09 21:05:50 +08:00
Ben Thomson 7e3136564f
Merge branch 'develop' into wip/laravel-5.9 2019-11-21 23:18:25 +08:00
Samuel Georges 8da798a5cd Remove XSRF cookie
This was a contentious change is generally a bad idea to blanket all requests with a dependant cookie. We will try something else.

Revert enableXsrfCookies setting. Fixes UX issue introduced where the token expires. This should be replaced by a CSRF policy that determines whether this is needed on the front end.
2019-11-04 09:06:05 +11:00
Samuel Georges c5bd5f0e0a Apply ResponseMaker to backend AJAX and cms.page.display event 2019-11-03 08:02:28 +11:00
Samuel Georges 1df8e72e4a Remove unused import 2019-11-02 19:42:09 +11:00
Samuel Georges 63f65a3f25 Add XSRF to backend, simplify CMS controller run() method
runInternal has been removed because we do not want to blanket our response logic over every single response, only the happy path. This is because it is impossible to remove. So it is better to take the inverted approach, where if you want the CMS' headers in your custom response, add them yourself. This becomes easy via the new makeResponse() method
2019-11-02 19:14:45 +11:00
Samuel Georges ff8f899fbe Move response common functions to ResponseMaker trait 2019-11-02 18:21:22 +11:00
Samuel Georges b1fa45ee3a Combine common CSRF logic to a trait 2019-11-02 15:15:18 +11:00
Samuel Georges 49d68f0671 Cookies are no longer serialized
Based on update to library 09e859a13e we no longer serialize cookies, so the decrypter no longer needs to apply a serialization layer
2019-11-02 14:52:00 +11:00
Luke Towers 959b85f56c Add cms.enableXsrfCookies config value (default true) to configure whether or not the XSRF cookie is automatically sent or if CSRF tokens are solely relied on.
Related: https://github.com/octobercms/october/pull/4701#issuecomment-547773385 & https://github.com/laravel/framework/pull/24726
2019-10-30 08:08:54 -06:00