r17353 - in /desktop/unstable/epiphany-browser/debian: certManager.js changelog epiphany-browser-data.install patches/21_chrome_certmanager.patch patches/series
joss at users.alioth.debian.org
joss at users.alioth.debian.org
Tue Oct 28 11:31:52 UTC 2008
Author: joss
Date: Tue Oct 28 11:31:52 2008
New Revision: 17353
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=17353
Log:
* The OMGWTFBBQ release.
* debian/certManager.js: this is a custom version of certManager.js
that doesn’t use deletecert.xul, which doesn’t work because of
broken argument passing.
* 21_chrome_certmanager.patch: override certManager.js with the custom
version.
* epiphany-browser-data.install: install it.
* Closes: #393837. Thanks to Romain Beauxis and Mike Hommey.
Added:
desktop/unstable/epiphany-browser/debian/certManager.js
desktop/unstable/epiphany-browser/debian/epiphany-browser-data.install
desktop/unstable/epiphany-browser/debian/patches/21_chrome_certmanager.patch
Modified:
desktop/unstable/epiphany-browser/debian/changelog
desktop/unstable/epiphany-browser/debian/patches/series
Added: desktop/unstable/epiphany-browser/debian/certManager.js
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/epiphany-browser/debian/certManager.js?rev=17353&op=file
==============================================================================
--- desktop/unstable/epiphany-browser/debian/certManager.js (added)
+++ desktop/unstable/epiphany-browser/debian/certManager.js Tue Oct 28 11:31:52 2008
@@ -1,0 +1,616 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is mozilla.org code.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2001
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Bob Lord <lord at netscape.com>
+ * Ian McGreer <mcgreer at netscape.com>
+ * Kai Engert <kengert at redhat.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+const nsIFilePicker = Components.interfaces.nsIFilePicker;
+const nsFilePicker = "@mozilla.org/filepicker;1";
+const nsIX509CertDB = Components.interfaces.nsIX509CertDB;
+const nsX509CertDB = "@mozilla.org/security/x509certdb;1";
+const nsIX509Cert = Components.interfaces.nsIX509Cert;
+const nsICertTree = Components.interfaces.nsICertTree;
+const nsCertTree = "@mozilla.org/security/nsCertTree;1";
+const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
+const nsDialogParamBlock = "@mozilla.org/embedcomp/dialogparam;1";
+const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
+const nsPKIParamBlock = "@mozilla.org/security/pkiparamblock;1";
+const nsINSSCertCache = Components.interfaces.nsINSSCertCache;
+const nsNSSCertCache = "@mozilla.org/security/nsscertcache;1";
+
+var key;
+
+var selected_certs = [];
+var selected_tree_items = [];
+var selected_index = [];
+var certdb;
+
+var caTreeView;
+var serverTreeView;
+var emailTreeView;
+var userTreeView;
+var orphanTreeView;
+
+function LoadCerts()
+{
+ window.crypto.enableSmartCardEvents = true;
+ document.addEventListener("smartcard-insert", onSmartCardChange, false);
+ document.addEventListener("smartcard-remove", onSmartCardChange, false);
+
+ certdb = Components.classes[nsX509CertDB].getService(nsIX509CertDB);
+ var certcache = Components.classes[nsNSSCertCache].createInstance(nsINSSCertCache);
+
+ certcache.cacheAllCerts();
+
+ caTreeView = Components.classes[nsCertTree]
+ .createInstance(nsICertTree);
+ caTreeView.loadCertsFromCache(certcache, nsIX509Cert.CA_CERT);
+ document.getElementById('ca-tree')
+ .treeBoxObject.view = caTreeView;
+
+ serverTreeView = Components.classes[nsCertTree]
+ .createInstance(nsICertTree);
+ serverTreeView.loadCertsFromCache(certcache, nsIX509Cert.SERVER_CERT);
+ document.getElementById('server-tree')
+ .treeBoxObject.view = serverTreeView;
+
+ emailTreeView = Components.classes[nsCertTree]
+ .createInstance(nsICertTree);
+ emailTreeView.loadCertsFromCache(certcache, nsIX509Cert.EMAIL_CERT);
+ document.getElementById('email-tree')
+ .treeBoxObject.view = emailTreeView;
+
+ userTreeView = Components.classes[nsCertTree]
+ .createInstance(nsICertTree);
+ userTreeView.loadCertsFromCache(certcache, nsIX509Cert.USER_CERT);
+ document.getElementById('user-tree')
+ .treeBoxObject.view = userTreeView;
+
+ orphanTreeView = Components.classes[nsCertTree]
+ .createInstance(nsICertTree);
+ orphanTreeView.loadCertsFromCache(certcache, nsIX509Cert.UNKNOWN_CERT);
+ document.getElementById('orphan-tree')
+ .treeBoxObject.view = orphanTreeView;
+
+ var rowCnt = userTreeView.rowCount;
+ var enableBackupAllButton=document.getElementById('mine_backupAllButton');
+ if(rowCnt < 1) {
+ enableBackupAllButton.setAttribute("disabled",true);
+ } else {
+ enableBackupAllButton.setAttribute("enabled",true);
+ }
+}
+
+function getSelectedCerts()
+{
+ var ca_tab = document.getElementById("ca_tab");
+ var mine_tab = document.getElementById("mine_tab");
+ var others_tab = document.getElementById("others_tab");
+ var websites_tab = document.getElementById("websites_tab");
+ var orphan_tab = document.getElementById("orphan_tab");
+ var items = null;
+ if (ca_tab.selected) {
+ items = caTreeView.selection;
+ } else if (mine_tab.selected) {
+ items = userTreeView.selection;
+ } else if (others_tab.selected) {
+ items = emailTreeView.selection;
+ } else if (websites_tab.selected) {
+ items = serverTreeView.selection;
+ } else if (orphan_tab.selected) {
+ items = orphanTreeView.selection;
+ }
+ selected_certs = [];
+ var cert = null;
+ var nr = 0;
+ if (items != null) nr = items.getRangeCount();
+ if (nr > 0) {
+ for (var i=0; i<nr; i++) {
+ var o1 = {};
+ var o2 = {};
+ items.getRangeAt(i, o1, o2);
+ var min = o1.value;
+ var max = o2.value;
+ for (var j=min; j<=max; j++) {
+ if (ca_tab.selected) {
+ cert = caTreeView.getCert(j);
+ } else if (mine_tab.selected) {
+ cert = userTreeView.getCert(j);
+ } else if (others_tab.selected) {
+ cert = emailTreeView.getCert(j);
+ } else if (websites_tab.selected) {
+ cert = serverTreeView.getCert(j);
+ } else if (orphan_tab.selected) {
+ cert = orphanTreeView.getCert(j);
+ }
+ if (cert) {
+ var sc = selected_certs.length;
+ selected_certs[sc] = cert;
+ selected_index[sc] = j;
+ }
+ }
+ }
+ }
+}
+
+function getSelectedTreeItems()
+{
+ var ca_tab = document.getElementById("ca_tab");
+ var mine_tab = document.getElementById("mine_tab");
+ var others_tab = document.getElementById("others_tab");
+ var websites_tab = document.getElementById("websites_tab");
+ var orphan_tab = document.getElementById("orphan_tab");
+ var items = null;
+ if (ca_tab.selected) {
+ items = caTreeView.selection;
+ } else if (mine_tab.selected) {
+ items = userTreeView.selection;
+ } else if (others_tab.selected) {
+ items = emailTreeView.selection;
+ } else if (websites_tab.selected) {
+ items = serverTreeView.selection;
+ } else if (orphan_tab.selected) {
+ items = orphanTreeView.selection;
+ }
+ selected_certs = [];
+ selected_tree_items = [];
+ selected_index = [];
+ var tree_item = null;
+ var nr = 0;
+ if (items != null) nr = items.getRangeCount();
+ if (nr > 0) {
+ for (var i=0; i<nr; i++) {
+ var o1 = {};
+ var o2 = {};
+ items.getRangeAt(i, o1, o2);
+ var min = o1.value;
+ var max = o2.value;
+ for (var j=min; j<=max; j++) {
+ if (ca_tab.selected) {
+ tree_item = caTreeView.getTreeItem(j);
+ } else if (mine_tab.selected) {
+ tree_item = userTreeView.getTreeItem(j);
+ } else if (others_tab.selected) {
+ tree_item = emailTreeView.getTreeItem(j);
+ } else if (websites_tab.selected) {
+ tree_item = serverTreeView.getTreeItem(j);
+ } else if (orphan_tab.selected) {
+ tree_item = orphanTreeView.getTreeItem(j);
+ }
+ if (tree_item) {
+ var sc = selected_tree_items.length;
+ selected_tree_items[sc] = tree_item;
+ selected_index[sc] = j;
+ }
+ }
+ }
+ }
+}
+
+function ca_enableButtons()
+{
+ var items = caTreeView.selection;
+ var nr = items.getRangeCount();
+ var toggle="false";
+ if (nr == 0) {
+ toggle="true";
+ }
+ var edit_toggle=toggle;
+/*
+ var edit_toggle="true";
+ if (nr > 0) {
+ for (var i=0; i<nr; i++) {
+ var o1 = {};
+ var o2 = {};
+ items.getRangeAt(i, o1, o2);
+ var min = o1.value;
+ var max = o2.value;
+ var stop = false;
+ for (var j=min; j<=max; j++) {
+ var tokenName = items.tree.view.getCellText(j, "tokencol");
+ if (tokenName == "Builtin Object Token") { stop = true; } break;
+ }
+ if (stop) break;
+ }
+ if (i == nr) {
+ edit_toggle="false";
+ }
+ }
+*/
+ var enableViewButton=document.getElementById('ca_viewButton');
+ enableViewButton.setAttribute("disabled",toggle);
+ var enableEditButton=document.getElementById('ca_editButton');
+ enableEditButton.setAttribute("disabled",edit_toggle);
+ var enableExportButton=document.getElementById('ca_exportButton');
+ enableExportButton.setAttribute("disabled",toggle);
+ var enableDeleteButton=document.getElementById('ca_deleteButton');
+ enableDeleteButton.setAttribute("disabled",toggle);
+}
+
+function mine_enableButtons()
+{
+ var items = userTreeView.selection;
+ var toggle="false";
+ if (items.getRangeCount() == 0) {
+ toggle="true";
+ }
+ var enableViewButton=document.getElementById('mine_viewButton');
+ enableViewButton.setAttribute("disabled",toggle);
+ var enableBackupButton=document.getElementById('mine_backupButton');
+ enableBackupButton.setAttribute("disabled",toggle);
+ var enableDeleteButton=document.getElementById('mine_deleteButton');
+ enableDeleteButton.setAttribute("disabled",toggle);
+}
+
+function websites_enableButtons()
+{
+ var items = serverTreeView.selection;
+ var count_ranges = items.getRangeCount();
+
+ var enable_delete = false;
+ var enable_view = false;
+ var enable_edit = false;
+
+ if (count_ranges > 0) {
+ enable_delete = true;
+ }
+
+ if (count_ranges == 1) {
+ var o1 = {};
+ var o2 = {};
+ items.getRangeAt(0, o1, o2); // the first range
+ if (o1.value == o2.value) {
+ // only a single item is selected
+ try {
+ var ti = serverTreeView.getTreeItem(o1.value);
+ if (ti) {
+ if (ti.cert) {
+ enable_view = true;
+ }
+ // Trust editing is not possible for override
+ // entries that are bound to host:port,
+ // where the cert is stored for convenince only.
+ if (!ti.hostPort.length) {
+ enable_edit = true;
+ }
+ }
+ }
+ catch (e) {
+ }
+ }
+ }
+
+ var enableViewButton=document.getElementById('websites_viewButton');
+ enableViewButton.setAttribute("disabled", !enable_view);
+ var enableEditButton=document.getElementById('websites_editButton');
+ enableEditButton.setAttribute("disabled", !enable_edit);
+ var enableExportButton=document.getElementById('websites_exportButton');
+ enableExportButton.setAttribute("disabled", !enable_view);
+ var enableDeleteButton=document.getElementById('websites_deleteButton');
+ enableDeleteButton.setAttribute("disabled", !enable_delete);
+}
+
+function email_enableButtons()
+{
+ var items = emailTreeView.selection;
+ var toggle="false";
+ if (items.getRangeCount() == 0) {
+ toggle="true";
+ }
+ var enableViewButton=document.getElementById('email_viewButton');
+ enableViewButton.setAttribute("disabled",toggle);
+ var enableEditButton=document.getElementById('email_editButton');
+ enableEditButton.setAttribute("disabled",toggle);
+ var enableExportButton=document.getElementById('email_exportButton');
+ enableExportButton.setAttribute("disabled",toggle);
+ var enableDeleteButton=document.getElementById('email_deleteButton');
+ enableDeleteButton.setAttribute("disabled",toggle);
+}
+
+function orphan_enableButtons()
+{
+ var items = orphanTreeView.selection;
+ var toggle="false";
+ if (items.getRangeCount() == 0) {
+ toggle="true";
+ }
+ var enableViewButton=document.getElementById('orphan_viewButton');
+ enableViewButton.setAttribute("disabled",toggle);
+ var enableExportButton=document.getElementById('orphan_exportButton');
+ enableExportButton.setAttribute("disabled",toggle);
+ var enableDeleteButton=document.getElementById('orphan_deleteButton');
+ enableDeleteButton.setAttribute("disabled",toggle);
+}
+
+function backupCerts()
+{
+ getSelectedCerts();
+ var numcerts = selected_certs.length;
+ if (!numcerts)
+ return;
+ var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
+ var fp = Components.classes[nsFilePicker].createInstance(nsIFilePicker);
+ fp.init(window,
+ bundle.GetStringFromName("chooseP12BackupFileDialog"),
+ nsIFilePicker.modeSave);
+ fp.appendFilter(bundle.GetStringFromName("file_browse_PKCS12_spec"),
+ "*.p12");
+ fp.appendFilters(nsIFilePicker.filterAll);
+ var rv = fp.show();
+ if (rv == nsIFilePicker.returnOK || rv == nsIFilePicker.returnReplace) {
+ certdb.exportPKCS12File(null, fp.file,
+ selected_certs.length, selected_certs);
+ }
+}
+
+function backupAllCerts()
+{
+ // Select all rows, then call doBackup()
+ var items = userTreeView.selection.selectAll();
+ backupCerts();
+}
+
+function editCerts()
+{
+ getSelectedCerts();
+ var numcerts = selected_certs.length;
+ if (!numcerts)
+ return;
+ for (var t=0; t<numcerts; t++) {
+ var cert = selected_certs[t];
+ var certkey = cert.dbKey;
+ if (document.getElementById("ca_tab").selected) {
+ window.openDialog('chrome://pippki/content/editcacert.xul', certkey,
+ 'chrome,centerscreen,modal');
+ } else if (document.getElementById("others_tab").selected) {
+ window.openDialog('chrome://pippki/content/editemailcert.xul', certkey,
+ 'chrome,centerscreen,modal');
+ } else if (!document.getElementById("websites_tab").selected
+ || !serverTreeView.isHostPortOverride(selected_index[t])) {
+ // If the web sites tab is select, trust editing is only allowed
+ // if the entry refers to a real cert, but not if it's
+ // a host:port override, where the cert is stored for convenince only.
+ window.openDialog('chrome://pippki/content/editsslcert.xul', certkey,
+ 'chrome,centerscreen,modal');
+ }
+ }
+}
+
+function restoreCerts()
+{
+ var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
+ var fp = Components.classes[nsFilePicker].createInstance(nsIFilePicker);
+ fp.init(window,
+ bundle.GetStringFromName("chooseP12RestoreFileDialog"),
+ nsIFilePicker.modeOpen);
+ fp.appendFilter(bundle.GetStringFromName("file_browse_PKCS12_spec"),
+ "*.p12; *.pfx");
+ fp.appendFilters(nsIFilePicker.filterAll);
+ if (fp.show() == nsIFilePicker.returnOK) {
+ certdb.importPKCS12File(null, fp.file);
+
+ var certcache = Components.classes[nsNSSCertCache].createInstance(nsINSSCertCache);
+ certcache.cacheAllCerts();
+ userTreeView.loadCertsFromCache(certcache, nsIX509Cert.USER_CERT);
+ userTreeView.selection.clearSelection();
+ caTreeView.loadCertsFromCache(certcache, nsIX509Cert.CA_CERT);
+ caTreeView.selection.clearSelection();
+ }
+}
+
+function exportCerts()
+{
+ getSelectedCerts();
+ var numcerts = selected_certs.length;
+ if (!numcerts)
+ return;
+
+ for (var t=0; t<numcerts; t++) {
+ exportToFile(window, selected_certs[t]);
+ }
+}
+
+function deleteCerts()
+{
+ getSelectedTreeItems();
+ var numcerts = selected_tree_items.length;
+ if (!numcerts)
+ return;
+
+ var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
+ var selTab = document.getElementById('certMgrTabbox').selectedItem;
+ var selTabID = selTab.getAttribute('id');
+ var t;
+
+ if (selTabID == 'mine_tab')
+ {
+ confirmtext = bundle.GetStringFromName("deleteUserCertConfirm");
+ }
+ else if (selTabID == "websites_tab")
+ {
+ confirmtext = bundle.GetStringFromName("deleteSslCertConfirm3");
+ }
+ else if (selTabID == "ca_tab")
+ {
+ confirmtext = bundle.GetStringFromName("deleteCaCertConfirm");
+ }
+ else if (selTabID == "others_tab")
+ {
+ confirmtext = bundle.GetStringFromName("deleteEmailCertConfirm");
+ }
+ else if (selTabID == "orphan_tab")
+ {
+ confirmtext = bundle.GetStringFromName("deleteOrphanCertConfirm");
+ }
+ else
+ {
+ return;
+ }
+
+ var oktodelete = confirm (confirmtext);
+
+ if (oktodelete) {
+ // user closed dialog with OK
+ var treeView = null;
+ var loadParam = null;
+
+ selTab = document.getElementById('certMgrTabbox').selectedItem;
+ selTabID = selTab.getAttribute('id');
+ if (selTabID == 'mine_tab') {
+ treeView = userTreeView;
+ } else if (selTabID == "others_tab") {
+ treeView = emailTreeView;
+ } else if (selTabID == "websites_tab") {
+ treeView = serverTreeView;
+ } else if (selTabID == "ca_tab") {
+ treeView = caTreeView;
+ } else if (selTabID == "orphan_tab") {
+ treeView = orphanTreeView;
+ }
+
+ for (t=numcerts-1; t>=0; t--)
+ {
+ treeView.deleteEntryObject(selected_index[t]);
+ }
+
+ selected_tree_items = [];
+ selected_index = [];
+ treeView.selection.clearSelection();
+ }
+}
+
+function viewCerts()
+{
+ getSelectedCerts();
+ var numcerts = selected_certs.length;
+ if (!numcerts)
+ return;
+
+ for (var t=0; t<numcerts; t++) {
+ viewCertHelper(window, selected_certs[t]);
+ }
+}
+
+function addCACerts()
+{
+ var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
+ var fp = Components.classes[nsFilePicker].createInstance(nsIFilePicker);
+ fp.init(window,
+ bundle.GetStringFromName("importCACertsPrompt"),
+ nsIFilePicker.modeOpen);
+ fp.appendFilter(bundle.GetStringFromName("file_browse_Certificate_spec"),
+ "*.crt; *.cert; *.cer; *.pem; *.der");
+ fp.appendFilters(nsIFilePicker.filterAll);
+ if (fp.show() == nsIFilePicker.returnOK) {
+ certdb.importCertsFromFile(null, fp.file, nsIX509Cert.CA_CERT);
+ caTreeView.loadCerts(nsIX509Cert.CA_CERT);
+ caTreeView.selection.clearSelection();
+ }
+}
+
+function onSmartCardChange()
+{
+ var certcache = Components.classes[nsNSSCertCache].createInstance(nsINSSCertCache);
+ // We've change the state of the smart cards inserted or removed
+ // that means the available certs may have changed. Update the display
+ certcache.cacheAllCerts();
+ userTreeView.loadCertsFromCache(certcache, nsIX509Cert.USER_CERT);
+ userTreeView.selection.clearSelection();
+ caTreeView.loadCertsFromCache(certcache, nsIX509Cert.CA_CERT);
+ caTreeView.selection.clearSelection();
+ serverTreeView.loadCertsFromCache(certcache, nsIX509Cert.SERVER_CERT);
+ serverTreeView.selection.clearSelection();
+ emailTreeView.loadCertsFromCache(certcache, nsIX509Cert.EMAIL_CERT);
+ emailTreeView.selection.clearSelection();
+ orphanTreeView.loadCertsFromCache(certcache, nsIX509Cert.UNKNOWN_CERT);
+ orphanTreeView.selection.clearSelection();
+}
+
+function addEmailCert()
+{
+ var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
+ var fp = Components.classes[nsFilePicker].createInstance(nsIFilePicker);
+ fp.init(window,
+ bundle.GetStringFromName("importEmailCertPrompt"),
+ nsIFilePicker.modeOpen);
+ fp.appendFilter(bundle.GetStringFromName("file_browse_Certificate_spec"),
+ "*.crt; *.cert; *.cer; *.pem; *.der");
+ fp.appendFilters(nsIFilePicker.filterAll);
+ if (fp.show() == nsIFilePicker.returnOK) {
+ certdb.importCertsFromFile(null, fp.file, nsIX509Cert.EMAIL_CERT);
+ var certcache = Components.classes[nsNSSCertCache].createInstance(nsINSSCertCache);
+ certcache.cacheAllCerts();
+ emailTreeView.loadCertsFromCache(certcache, nsIX509Cert.EMAIL_CERT);
+ emailTreeView.selection.clearSelection();
+ caTreeView.loadCertsFromCache(certcache, nsIX509Cert.CA_CERT);
+ caTreeView.selection.clearSelection();
+ }
+}
+
+function addWebSiteCert()
+{
+ var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
+ var fp = Components.classes[nsFilePicker].createInstance(nsIFilePicker);
+ fp.init(window,
+ bundle.GetStringFromName("importServerCertPrompt"),
+ nsIFilePicker.modeOpen);
+ fp.appendFilter(bundle.GetStringFromName("file_browse_Certificate_spec"),
+ "*.crt; *.cert; *.cer; *.pem; *.der");
+ fp.appendFilters(nsIFilePicker.filterAll);
+ if (fp.show() == nsIFilePicker.returnOK) {
+ certdb.importCertsFromFile(null, fp.file, nsIX509Cert.SERVER_CERT);
+
+ var certcache = Components.classes[nsNSSCertCache].createInstance(nsINSSCertCache);
+ certcache.cacheAllCerts();
+ serverTreeView.loadCertsFromCache(certcache, nsIX509Cert.SERVER_CERT);
+ serverTreeView.selection.clearSelection();
+ caTreeView.loadCertsFromCache(certcache, nsIX509Cert.CA_CERT);
+ caTreeView.selection.clearSelection();
+ }
+}
+
+function addException()
+{
+ window.openDialog('chrome://pippki/content/exceptionDialog.xul', "",
+ 'chrome,centerscreen,modal');
+ var certcache = Components.classes[nsNSSCertCache].createInstance(nsINSSCertCache);
+ certcache.cacheAllCerts();
+ serverTreeView.loadCertsFromCache(certcache, nsIX509Cert.SERVER_CERT);
+ serverTreeView.selection.clearSelection();
+ orphanTreeView.loadCertsFromCache(certcache, nsIX509Cert.UNKNOWN_CERT);
+ orphanTreeView.selection.clearSelection();
+}
+
Modified: desktop/unstable/epiphany-browser/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/epiphany-browser/debian/changelog?rev=17353&op=diff
==============================================================================
--- desktop/unstable/epiphany-browser/debian/changelog (original)
+++ desktop/unstable/epiphany-browser/debian/changelog Tue Oct 28 11:31:52 2008
@@ -1,3 +1,16 @@
+epiphany-browser (2.22.3-6) unstable; urgency=low
+
+ * The OMGWTFBBQ release.
+ * debian/certManager.js: this is a custom version of certManager.js
+ that doesnât use deletecert.xul, which doesnât work because of
+ broken argument passing.
+ * 21_chrome_certmanager.patch: override certManager.js with the custom
+ version.
+ * epiphany-browser-data.install: install it.
+ * Closes: #393837. Thanks to Romain Beauxis and Mike Hommey.
+
+ -- Josselin Mouette <joss at debian.org> Tue, 28 Oct 2008 12:17:03 +0100
+
epiphany-browser (2.22.3-5) unstable; urgency=low
* Fix first changelog entry. Closes: #501357.
Added: desktop/unstable/epiphany-browser/debian/epiphany-browser-data.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/epiphany-browser/debian/epiphany-browser-data.install?rev=17353&op=file
==============================================================================
--- desktop/unstable/epiphany-browser/debian/epiphany-browser-data.install (added)
+++ desktop/unstable/epiphany-browser/debian/epiphany-browser-data.install Tue Oct 28 11:31:52 2008
@@ -1,0 +1,1 @@
+debian/certManager.js /usr/share/epiphany-browser/chrome/pippki/
Added: desktop/unstable/epiphany-browser/debian/patches/21_chrome_certmanager.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/epiphany-browser/debian/patches/21_chrome_certmanager.patch?rev=17353&op=file
==============================================================================
--- desktop/unstable/epiphany-browser/debian/patches/21_chrome_certmanager.patch (added)
+++ desktop/unstable/epiphany-browser/debian/patches/21_chrome_certmanager.patch Tue Oct 28 11:31:52 2008
@@ -1,0 +1,9 @@
+Index: epiphany-2.22.3/data/chrome/app-chrome.manifest.in
+===================================================================
+--- epiphany-2.22.3.orig/data/chrome/app-chrome.manifest.in 2008-10-28 12:07:19.752421675 +0100
++++ epiphany-2.22.3/data/chrome/app-chrome.manifest.in 2008-10-28 12:06:49.968423011 +0100
+@@ -2,3 +2,4 @@
+ override chrome://branding/locale/brand.dtd file://@CHROMEDIR@/branding/brand.dtd
+ override chrome://global/content/about.xhtml file://@CHROMEDIR@/global/about.xhtml
+ override chrome://global/locale/netErrorApp.dtd file://@CHROMEDIR@/global/netError.dtd
++override chrome://pippki/content/certManager.js file://@CHROMEDIR@/pippki/certManager.js
Modified: desktop/unstable/epiphany-browser/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/epiphany-browser/debian/patches/series?rev=17353&op=diff
==============================================================================
--- desktop/unstable/epiphany-browser/debian/patches/series (original)
+++ desktop/unstable/epiphany-browser/debian/patches/series Tue Oct 28 11:31:52 2008
@@ -19,4 +19,5 @@
18_gnome-vfs-for-helper-display.patch
19_passwords_crash.patch
20_print_garbage.patch
+21_chrome_certmanager.patch
99_autoreconf.patch
More information about the pkg-gnome-commits
mailing list