[%# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. #%] [% PROCESS global/variables.none.tmpl %] [% inline_style = BLOCK %] #blocklist_form h1 { margin-bottom: 0; } #blocklist_form .required:after { content: " *"; color: var(--required-label-color); } #blocklist_form .field_label { font-weight: bold; } #blocklist_form .field_desc { padding-bottom: 3px; } #blocklist_form .field_desc, #blocklist_form .head_desc { width: 600px; word-wrap: normal; } #blocklist_form .head_desc { padding-top: 5px; padding-bottom: 12px; } #blocklist_form .form_section { margin-bottom: 10px; } #blocklist_form textarea { margin: 0 !important; } #blocklist_form.noscript { display: none; } #standard_link { margin-top: 2em; } #standard_link img { vertical-align: middle; } #standard_link a { cursor: pointer; } [% END %] [% inline_javascript = BLOCK %] function compileDescription() { function backtick(str) { return str.replace(/^\s*```/mg, "").trim(); } function unlink(str) { return str.replace(/http(s?):\/\/(?![a-zA-Z0-9_.-]+\.mozilla\.org(\/|$))/g, "hxxp$1://"); } function table(arr) { function escapeTable(str) { return str.replace(/\\/g, "\\\\").replace(/\|/g, "\\|"); } return "| | |\n|-|-|\n|" + arr.map(function(row) { return row.map(escapeTable).join("|") }).join("|\n|") + "|\n"; } let severity = document.querySelector("input[name='blocklist_severity']:checked").value; let name = document.getElementById("blocklist_name").value; let versions = document.getElementById("blocklist_versions").value || ""; let platformVersions = document.getElementById("blocklist_platform_versions").value || ""; let reason = document.getElementById("blocklist_reason").value; let guids = document.getElementById("blocklist_guids").value; let additionalInfo = document.getElementById("blocklist_moreinfo").value; let descr = table([ ["Extension name", name], ["Extension versions affected", versions], ["Platforms affected", platformVersions], ["Block severity", severity] ]); descr += "\n### Reason\n" + unlink(reason); descr += "\n\n### Extension IDs\n```\n" + backtick(guids) + "\n```"; if (additionalInfo) { descr += "\n\n### Additional Information\n" + unlink(additionalInfo.trim()); } return descr; } function validateAndSubmit() { let name = document.getElementById("blocklist_name").value; document.getElementById("short_desc").value = `Extension Block Request: ${name}` document.getElementById("comment").value = compileDescription(); return true; } window.addEventListener("DOMContentLoaded", function() { document.getElementById("blocklist_form").classList.remove("noscript"); const canonical_path = `${BUGZILLA.config.basepath}form.blocklist`; if (location.pathname !== canonical_path) { history.replaceState(null, document.title, canonical_path); } }); [% END %] [% PROCESS global/header.html.tmpl title = "Blocklist Policy Request Form" generate_api_token = 1 style = inline_style javascript = inline_javascript javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', 'js/field.js' ] %] [% USE Bugzilla %] [% cgi = Bugzilla.cgi %]

Blocklist Policy Request Form

Please complete and submit this form to report a malicious extension that needs to be blocked. Before filing this report, please make sure your request is in line with the Blocklisting Policy.

To help us clearly identify the extension(s) that needs to be blocked, please provide as much information as possible.

Thank you for helping our efforts to keep the add-ons ecosystem safe for users!

The name of the extension to be blocked. If multiple extensions are to be blocked, please mention a common trait (for example, Multiple YouTube downloaders).
The reason to block. Please make sure the reason adheres to our guidelines. Links will automatically be replaced with hxxp to avoid accidental clicking of malicious links.
The severity of the block. Hard blocks are employed for malicious extensions.
The ID(s) of the extension(s) to be blocked. If the extension is installed, the ID can be found on about:support. It can also be part of the extension manifest file. If it is not mentioned in the manifest please attach the extension file or provide other forms of identification of the extension in the additional information field.
The version of the extension to be blocked. May be left empty if all versions should be blocked.
The applications, application versions, and platform of the extension to be blocked. May be left empty if this [% terms.bug %] affects all Firefox versions on all platforms.
Additional information, such as the page the extension was found on, AMO listing page, or other references. Links will automatically be replaced with hxxp to avoid accidental clicking of malicious links.

[ * Required Field ]

[% PROCESS global/footer.html.tmpl %]