DescriptionThe notion of NO_KNOWN_EXPLOIT_SPEC_VIOLATION (NKESV) depends on the use
being made of SES (for example, the cross-frame freeze bug is
problematic only if you use multiple frames). Therefore, it should not
be hardcoded in SES itself, but supplied by the system loading SES.
* Remove NKESV and replace it with ses.acceptableProblems, which
allows specifying 'permit' and 'doNotRepair' flags for problem IDs.
'permit' causes a problem's severity to not be counted in the max
severity. 'doNotRepair' causes a problem to not be repaired at all;
this new feature may be used to improve performance by disabling slow
repairs that are not necessary for the application.
* caja.js specially recognizes NKESV in its config and causes acceptance
of the same list of problems to be accepted as NKESV did. For safety,
and pending design, there is no way to configure the list of problems
using caja.js.
* Replace ses-iframe-init.js with a hook which runs on an iframe before
the ses-single-frame.js is loaded; this also allows us to throw out
the kludge where we set SES's max severity to NEW_SYMPTOM and check
separately after (which incidentally reduces the hazard of
issue 1758), and might make autoswitching faster.
* Resurrect the "too slow" repair_PUSH_IGNORES_SEALED from r5238 and
disable it using doNotRepair. Note that the repair will now be applied
in Caja unless NKESV is requested.
Impact:
* Applications using SES directly must specify acceptableProblems rather
than NKESV. Applications using caja.js are unaffected except that they
will now get repair_PUSH_IGNORES_SEALED unless specifying NKESV.
@r5442
Patch Set 1 #
Total comments: 6
Patch Set 2 : [APICHANGE] Replace NO_KNOWN_EXPLOIT_SPEC_VIOLATION with configuration. #
MessagesTotal messages: 11
|
||||||||||||||||||||||||||||||||||||||||||||||