TaintLess: Disabling TaintLess mitigations
There are two scenarios in which you may want to disable the mitigations applied by TaintLess: temporarily, while testing specific UI behaviors, or permanently, while releasing an addon with TaintLess embedded (if this is needed to avoid errors on some targeted client versions).
Temporarily suspending TaintLess mitigations
If you need to suspend a specific mitigation to test a specific UI behavior, set the appropriate patch version global to 0 at runtime: /run MITIGATION_PATCH_VERSION = 0
. Check the TaintLess source code for the global variable names.
Disabling embedded TaintLess mitigations
If you include TaintLess in your addon, and need to disable a specific mitigation permanently (e.g. because it causes an error on a client version you intend to support), you can use the X-TaintLess-DisableMitigations
toc directive. Provide a space-separated list of MITIGATION_PATCH_VERSION=V:MinInterface:MaxInterface
tokens, where:
MITIGATION_PATCH_VERSION
- Name of the mitigation you want to disable. Check the TaintLess source code for appropriate names (which all end in
_PATCH_VERSION
). V
- Version of the mitigation you want to disable, e.g. 5.
MinInterface
- Optional; minimum interface version (the fourth return of
GetBuildInfo
) for which the mitigation should be disabled, e.g. 100100 (used by patch 10.1.0). MaxInterface
- Optional; maximum interface version for which the mitigation should be disabled.
In the example below, the directive specifies that the BEAR_PATCH_VERSION
mitigation version 3 should be disabled if the client version is at least 100100 (i.e. patch 10.1.0), and the CAT_PATCH_VERSION
mitigation version 7 should be disabled if the interface version is at most 100007 (i.e. patch 10.0.7).
## X-TaintLess-DisableMitigations: BEAR_PATCH_VERSION=3:100100 CAT_PATCH_VERSION=7::100007
This directive prevents TaintLess embedded in your addon from applying the specified versions of its mitigations. Copies embedded in other addons are not affected.