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).

Example
## 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.