Extension Blocklisting:Code Design: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 9: Line 9:
== Blacklist syntax ==
== Blacklist syntax ==


* Blacklist file has a flexible xml syntax:
* Blacklist file has a flexible xml syntax that will use default values for values that are not specified. All Extension Manager items must be children of <tt>emItems</tt> in order to ease the use of this file for additional blacklist items such as plugins that are not part of an Extension Manager managed item.
 
<entryType> <extension ID> [<minVersion> <maxVersion>]
 
entryType can be "forbid" to force an extension (with optional version range) to be disabled, or "permit" to exempt a given extension (usually with version) from blacklisting.  If minVersion is specified, maxVersion must also be specified (though they can be equal).  Versions are compared inclusively.
 
The blacklist file is processed in order, and the first rule found that matches a given extension determines if the extension is disabled (forbid rule found) or not (permit rule found).  If no matching rule is found, the extension is permitted (not disabled by the blacklist).
 
Blank lines are skipped, and # introduces a comment running until the end of the line.


Examples:
Examples:
Line 54: Line 46:
   </emItems>
   </emItems>
</blacklist></pre>
</blacklist></pre>
* The item_1@domain Extension Manager item will be blacklisted if a version between 1.0 and 2.0.* (e.g. less than 3.0) is installed and the Firefox (e.g. id {ec8030f7-c20a-464f-9b0e-13a3a9e97384}) version is between 1.5 and 1.5.* (e.g. less than 1.6), the Firefox version is between 1.7 and 1.7.* (e.g. less than 1.8), or the Toolkit version is between 1.8 and 1.8.* (e.g. less than 1.9). Also, the item_1@domain Extension Manager item will be blacklisted if a version between 3.0 and 3.0.* (e.g. less than 4.0) is installed and the Firefox (e.g. id {ec8030f7-c20a-464f-9b0e-13a3a9e97384}) version is between 1.5 and 1.5.* (e.g. less than 1.6) or the Toolkit version is between 1.8 and 1.8.* (e.g. less than 1.9).

Revision as of 23:04, 14 February 2006

Simple blacklisting for Firefox 1.5

Update model

  • Download a blacklist file on a timer (86400 default)
  • If items are newly blacklisted or unblacklisted, adjust the datasource appropriately and prompt to restart.
  • The blacklist file will be placed in the profile-dir.
  • Blacklist is _replaced_ on each update, not merged or otherwise combined.

Blacklist syntax

  • Blacklist file has a flexible xml syntax that will use default values for values that are not specified. All Extension Manager items must be children of emItems in order to ease the use of this file for additional blacklist items such as plugins that are not part of an Extension Manager managed item.

Examples:

<blacklist xmlns="http://www.mozilla.org/2006/blacklist">
  <emItems>
    <emItem id="item_1@domain">
      <versionRange minVersion="1.0" maxVersion="2.0.*">
        <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
          <versionRange minVersion="1.5" maxVersion="1.5.*"/>
          <versionRange minVersion="1.7" maxVersion="1.7.*"/>
        </targetApplication>
        <targetApplication id="toolkit@mozilla.org">
          <versionRange minVersion="1.8" maxVersion="1.8.*"/>
        </targetApplication>
      </versionRange>
      <versionRange minVersion="3.0" maxVersion="3.0.*">
        <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
          <versionRange minVersion="1.5" maxVersion="1.5.*"/>
        </targetApplication>
      </versionRange>
        <targetApplication id="toolkit@mozilla.org">
          <versionRange minVersion="1.8" maxVersion="1.8.*"/>
        </targetApplication>
    </emItem>
    <emItem id="item_2@domain">
      <versionRange minVersion="3.1" maxVersion="4.*"/>
    </emItem>
    <emItem id="item_3@domain">
      <versionRange>
        <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
          <versionRange minVersion="1.5" maxVersion="1.5.*"/>
        </targetApplication>
      </versionRange>
    </emItem>
    <emItem id="item_4@domain"/>
  </emItems>
</blacklist>
  • The item_1@domain Extension Manager item will be blacklisted if a version between 1.0 and 2.0.* (e.g. less than 3.0) is installed and the Firefox (e.g. id {ec8030f7-c20a-464f-9b0e-13a3a9e97384}) version is between 1.5 and 1.5.* (e.g. less than 1.6), the Firefox version is between 1.7 and 1.7.* (e.g. less than 1.8), or the Toolkit version is between 1.8 and 1.8.* (e.g. less than 1.9). Also, the item_1@domain Extension Manager item will be blacklisted if a version between 3.0 and 3.0.* (e.g. less than 4.0) is installed and the Firefox (e.g. id {ec8030f7-c20a-464f-9b0e-13a3a9e97384}) version is between 1.5 and 1.5.* (e.g. less than 1.6) or the Toolkit version is between 1.8 and 1.8.* (e.g. less than 1.9).