In some places we prevented cache poisoning, in others we did not. We
also did not place any restriction on the minimum value for a revision.
This change introduces a new set of functions for configonly endpoints
which validates the revision numbers passed in. If the revision is
either too old, or too new, it is rejected and the file content is not
cached. The content is still served, but caching headers are not sent,
and any local storage caching is prevented.
The current time is used as the maximum version, with 60 seconds added
to allow for any clock skew between cluster nodes. Previously some
locations used one hour, but there should never be such a large clock
skew on a correctly configured system.
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
This was is pre-loading some modules which are not used in boost:
* Block docking
* Popup Help
The other pre-loaded requirements were used for YUI dialogues and
modals. With time we are moving away from these, so rather than
'pre-loading' we can let the yui loader do its job.
This module supports focusing on a specified Node, or attempting to
determine the Node which caused the displayed the Widget to return focus to
that location.
The moodlesimple (former simpleyui) rollup is included by a slightly
different mechanism to the the other YUI modules and this was missed off
the original yuipatchlevel implementation.
This will also force files loaded from the CDN to instead come from the
local distribution since those patches will not be included in the CDN
release.
Please see the documentation at http://docs.moodle.org/dev/YUI/Patching for
important on using these changes.
ETag value must be double quoted, http://tools.ietf.org/html/rfc2616#section-3.11.
More details about potential impacts in MDL-39832: shortly, at least when using
HTTP Partial GET Requests (HTTP Status: 206) plus X-Sendfile HTTP Header.
In this commit, the impact is to be RFC2616 compliant when using the ETag Header.
A warning is shown in the browser console if debugging is set, but it is
not possible to return from the configFn and stop the module load attempt
from continuing.
The error is caught and an additional error is shown by yui_combo.php
When serving Moodle YUI files, including just moodlelib.php is not enough
any more. We need the full setup in order to use MUC.
Please note that cookies are disabled in these two scripts. This may make
cache_store::MODE_SESSION caches unavailable. We do not expect they will
be needed here.