15 年前提交到 Bugzilla 的請求,直到現在才關閉

2022-02-25 09:00:06

Bugzilla 最初是由開發者 Terry Weissman 於 1998 年為 專案設計開發的,是一個基於 Web 的通用 bug 跟蹤系統和測試工具。如今 Bugzilla 已被 Mozilla 基金會、WebKit、Linux Kernel、FreeBSD、Apache、Red Hat、Eclipse 和 LibreOffice 等組織機構使用。

15 年前,Bryan Rasmussen 在 Bugzilla 上提交了一個「Ability to do Sandboxing of browser, extension components」(對瀏覽器、擴充套件元件進行沙盒處理的功能)。

在 Bryan Rasmussen 提供的詳細說明中,他表示:

我的請求是這樣的:我想把 Chickenfoot 的安全設定成這樣一種方式,即 Chickenfoot 不能存取檔案系統,或者最差的情況下只能存取一個子集。

此外,如果有可能對我允許開啟的檔案系統做一些安全保護那就太好了,一個簡單的安全系統可能是我允許 Chickenfoot 寫入資料夾,但不允許它讀取那裡的任何東西;一個更好的安全保護是我可以設定 Chickenfoot 在檔案系統中的 X 位置寫入擴充套件名為 .xml 的檔案,而在寫入後沒有辦法讀取它,也沒有辦法覆蓋它。

這裡需要說明的是,Chickenfoot 是一個 Firefox 瀏覽器擴充套件,使用者可以使用 Chickenfoot 與多個頁面動態互動、自動化 Firefox 介面的不同部分、跨多個頁面編寫活動指令碼,或者同時使用網頁和本地檔案系統。因此 Chickenfoot 是一個非常強大的工具,適用於任何希望自動化操作或擴充套件網頁功能的開發者。

也正是因為功能強大,Chickenfoot 所需要的許可權也非常多。而 Firefox 以前的 XUL/XPCOM 或 Add-on SDK 就為擴充套件提供了各種相關的許可權,這是 Firefox 瀏覽器中許可權實現方式的一個缺陷。

不過,Mozilla 在 Firefox 57 中就已經徹底放棄了舊版的擴充套件,併為開發者提供了一個全新的 API —— WebExtensions API。WebExtension API 提供了一個使用者控制的、以 Web 為中心的擴充套件開發平臺,用於擴充套件 Firefox 的功能。根據 Mozilla 的說法,該 API 在擴充套件給 Firefox 帶來的功能和它們給使用者體驗帶來的風險之間取得了平衡。

因此這個 15 年前所提交的請求,本質上並未得到修復,而是以 「沒有進行修復而被意外修復」 的方式得到了解決。

針對一個問題持續追蹤 15 年是不是從側面說明,Bugzilla 確實是一個非常優秀的 bug 跟蹤系統呢?

展開閱讀全文