aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla
diff options
context:
space:
mode:
Diffstat (limited to 'embed/mozilla')
-rw-r--r--embed/mozilla/Makefile.am6
-rw-r--r--embed/mozilla/mozilla-embed-single.cpp158
-rw-r--r--embed/mozilla/mozilla-x509-cert.cpp219
-rw-r--r--embed/mozilla/mozilla-x509-cert.h63
4 files changed, 0 insertions, 446 deletions
diff --git a/embed/mozilla/Makefile.am b/embed/mozilla/Makefile.am
index ef3efed61..007cac5d0 100644
--- a/embed/mozilla/Makefile.am
+++ b/embed/mozilla/Makefile.am
@@ -91,12 +91,6 @@ libephymozillaembed_la_SOURCES += \
GtkNSSSecurityWarningDialogs.h
endif
-if ENABLE_CERTIFICATE_MANAGER
-libephymozillaembed_la_SOURCES += \
- mozilla-x509-cert.cpp \
- mozilla-x509-cert.h
-endif
-
if ENABLE_SPELLCHECKER
libephymozillaembed_la_SOURCES += \
GeckoSpellCheckEngine.cpp \
diff --git a/embed/mozilla/mozilla-embed-single.cpp b/embed/mozilla/mozilla-embed-single.cpp
index f8ef54f0d..f95c8a107 100644
--- a/embed/mozilla/mozilla-embed-single.cpp
+++ b/embed/mozilla/mozilla-embed-single.cpp
@@ -54,11 +54,6 @@
#include <nsMemory.h>
#include <nsServiceManagerUtils.h>
-#ifdef HAVE_MOZILLA_PSM
-#include <nsIX509Cert.h>
-#include <nsIX509CertDB.h>
-#endif
-
#ifdef ALLOW_PRIVATE_API
#include <nsICacheService.h>
#include <nsIFontEnumerator.h>
@@ -74,7 +69,6 @@
#include "ephy-file-helpers.h"
#include "eel-gconf-extensions.h"
-#include "ephy-certificate-manager.h"
#include "ephy-cookie-manager.h"
#include "ephy-debug.h"
#include "ephy-embed-prefs.h"
@@ -85,7 +79,6 @@
#include "ephy-string.h"
#include "mozilla-embed.h"
#include "mozilla-notifiers.h"
-#include "mozilla-x509-cert.h"
#include "EphyBrowser.h"
#include "EphyDirectoryProvider.h"
@@ -131,26 +124,6 @@ static void ephy_password_manager_iface_init (EphyPasswordManagerIface *iface);
static void ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface);
static void mozilla_embed_single_init (MozillaEmbedSingle *ges);
-#ifdef ENABLE_CERTIFICATE_MANAGER
-static void ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface);
-#endif
-
-/* Some compilers (like gcc 2.95) don't support preprocessor directives inside macros,
- so we have to duplicate the whole thing */
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-G_DEFINE_TYPE_WITH_CODE (MozillaEmbedSingle, mozilla_embed_single, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED_SINGLE,
- ephy_embed_single_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_COOKIE_MANAGER,
- ephy_cookie_manager_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
- ephy_password_manager_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_CERTIFICATE_MANAGER,
- ephy_certificate_manager_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
- ephy_permission_manager_iface_init))
-#else
G_DEFINE_TYPE_WITH_CODE (MozillaEmbedSingle, mozilla_embed_single, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED_SINGLE,
ephy_embed_single_iface_init)
@@ -160,7 +133,6 @@ G_DEFINE_TYPE_WITH_CODE (MozillaEmbedSingle, mozilla_embed_single, G_TYPE_OBJECT
ephy_password_manager_iface_init)
G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
ephy_permission_manager_iface_init))
-#endif
static gboolean
mozilla_set_default_prefs (MozillaEmbedSingle *mes)
@@ -1188,124 +1160,6 @@ impl_open_window (EphyEmbedSingle *single,
return EphyUtils::FindEmbed (newWindow);
}
-#ifdef ENABLE_CERTIFICATE_MANAGER
-
-static gboolean
-impl_remove_certificate (EphyCertificateManager *manager,
- EphyX509Cert *cert)
-{
- nsresult rv;
-
- nsCOMPtr<nsIX509CertDB> certDB;
- certDB = do_GetService (NS_X509CERTDB_CONTRACTID);
- if (!certDB) return FALSE;
-
- nsCOMPtr<nsIX509Cert> mozCert;
- rv = mozilla_x509_cert_get_mozilla_cert (MOZILLA_X509_CERT (cert),
- getter_AddRefs (mozCert));
- if (NS_FAILED (rv)) return FALSE;
-
- rv = certDB->DeleteCertificate (mozCert);
- if (NS_FAILED (rv)) return FALSE;
-
- return TRUE;
-}
-
-#define NICK_DELIMITER PRUnichar('\001')
-
-static GList *
-retrieveCerts (PRUint32 type)
-{
- nsresult rv;
-
- nsCOMPtr<nsIX509CertDB> certDB;
- certDB = do_GetService (NS_X509CERTDB_CONTRACTID);
- if (!certDB) return NULL;
-
- PRUint32 count;
- PRUnichar **certNameList = NULL;
-
- rv = certDB->FindCertNicknames (NULL, type, &count, &certNameList);
- if (NS_FAILED (rv)) return NULL;
-
- LOG("Certificates found: %i", count);
-
- GList *list = NULL;
- for (PRUint32 i = 0; i < count; i++)
- {
- /* HACK HACK, this is EVIL, the string for each cert is:
- <DELIMITER>nicknameOrEmailAddress<DELIMITER>dbKey
- So we need to chop off the dbKey to look it up in the database.
-
- https://bugzilla.mozilla.org/show_bug.cgi?id=214742
- */
- nsCString full_string;
- NS_UTF16ToCString (nsString(certNameList[i]),
- NS_CSTRING_ENCODING_UTF8, full_string);
-
- const char *key = full_string.get();
- char *pos = strrchr (key, NICK_DELIMITER);
- if (!pos) continue;
-
- nsCOMPtr<nsIX509Cert> mozilla_cert;
- rv = certDB->FindCertByDBKey (pos, NULL, getter_AddRefs (mozilla_cert));
- if (NS_FAILED (rv)) continue;
-
- MozillaX509Cert *cert = mozilla_x509_cert_new (mozilla_cert);
- list = g_list_prepend (list, cert);
- }
-
- NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY (count, certNameList);
- return list;
-}
-
-static GList *
-impl_get_certificates (EphyCertificateManager *manager,
- EphyX509CertType type)
-{
- int moz_type = nsIX509Cert::USER_CERT;
- switch (type)
- {
- case PERSONAL_CERTIFICATE:
- moz_type = nsIX509Cert::USER_CERT;
- break;
- case SERVER_CERTIFICATE:
- moz_type = nsIX509Cert::SERVER_CERT;
- break;
- case CA_CERTIFICATE:
- moz_type = nsIX509Cert::CA_CERT;
- break;
- }
- return retrieveCerts (moz_type);
-}
-
-static gboolean
-impl_import (EphyCertificateManager *manager,
- const gchar *file)
-{
- nsresult rv;
- nsCOMPtr<nsIX509CertDB> certDB;
- certDB = do_GetService (NS_X509CERTDB_CONTRACTID);
- if (!certDB) return FALSE;
-
- nsCOMPtr<nsILocalFile> localFile;
- localFile = do_CreateInstance (NS_LOCAL_FILE_CONTRACTID);
-
- // TODO Is this correct ?
- nsString path;
- NS_CStringToUTF16 (nsCString(file),
- NS_CSTRING_ENCODING_UTF8, path);
-
-
- localFile->InitWithPath (path);
- rv = certDB->ImportPKCS12File(NULL, localFile);
- if (NS_FAILED (rv)) return FALSE;
-
- return TRUE;
-}
-
-#endif /* ENABLE_CERTIFICATE_MANAGER */
-
static void
mozilla_embed_single_get_property (GObject *object,
guint prop_id,
@@ -1391,15 +1245,3 @@ ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface)
iface->test = impl_permission_manager_test;
iface->list = impl_permission_manager_list;
}
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-
-static void
-ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface)
-{
- iface->get_certificates = impl_get_certificates;
- iface->remove_certificate = impl_remove_certificate;
- iface->import = impl_import;
-}
-
-#endif /* ENABLE_CERTIFICATE_MANAGER */
diff --git a/embed/mozilla/mozilla-x509-cert.cpp b/embed/mozilla/mozilla-x509-cert.cpp
deleted file mode 100644
index 97885701e..000000000
--- a/embed/mozilla/mozilla-x509-cert.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright © 2003 Robert Marcano
- * Copyright © 2005 Crispin Flowerday
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $Id$
- */
-
-#include "mozilla-config.h"
-#include "config.h"
-
-#include <nsStringAPI.h>
-
-#include "ephy-debug.h"
-
-#include "mozilla-x509-cert.h"
-
-#define MOZILLA_X509_CERT_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), \
- MOZILLA_TYPE_X509_CERT, MozillaX509CertPrivate))
-
-static void mozilla_x509_cert_class_init (MozillaX509CertClass *klass);
-static void ephy_x509_cert_init (EphyX509CertIface *iface);
-static void mozilla_x509_cert_init (MozillaX509Cert *cert);
-
-struct _MozillaX509CertPrivate
-{
- nsIX509Cert * mozilla_cert;
- gchar *title;
-};
-
-enum
-{
- PROP_0,
- PROP_MOZILLA_CERT
-};
-
-G_DEFINE_TYPE_WITH_CODE (MozillaX509Cert, mozilla_x509_cert, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_X509_CERT,
- ephy_x509_cert_init))
-
-static void
-mozilla_x509_cert_set_mozilla_cert (MozillaX509Cert *cert,
- nsIX509Cert *mozilla_cert)
-{
- nsCOMPtr<nsIX509Cert> tmpcert = cert->priv->mozilla_cert;
-
- if (cert->priv->mozilla_cert)
- {
- NS_RELEASE (cert->priv->mozilla_cert);
- }
-
- cert->priv->mozilla_cert = mozilla_cert;
- NS_IF_ADDREF (cert->priv->mozilla_cert);
-}
-
-
-nsresult
-mozilla_x509_cert_get_mozilla_cert (MozillaX509Cert *cert, nsIX509Cert**aCert)
-{
- *aCert = cert->priv->mozilla_cert;
- NS_IF_ADDREF (*aCert);
-
- return *aCert ? NS_OK : NS_ERROR_FAILURE;
-}
-
-static const char*
-impl_get_title (EphyX509Cert *cert)
-{
- MozillaX509Cert *m_cert = MOZILLA_X509_CERT (cert);
-
- /* lazy initialization of the title private variable */
- if (m_cert->priv->title != NULL)
- {
- return m_cert->priv->title;
- }
-
- /* This title logic is adapted from Mozilla source at
- mozilla/security/manager/ssl/src/nsCertTree.cpp */
- nsString name;
- m_cert->priv->mozilla_cert->GetCommonName (name);
- if (name.Length())
- {
- nsCString cname;
- NS_UTF16ToCString (name, NS_CSTRING_ENCODING_UTF8, cname);
-
- m_cert->priv->title = g_strdup (cname.get());
- }
- else
- {
- /* No common name, so get the nickname instead */
- nsString nick;
- m_cert->priv->mozilla_cert->GetNickname (nick);
-
- nsCString cnick;
- NS_UTF16ToCString (nick, NS_CSTRING_ENCODING_UTF8, cnick);
-
- const char * str = cnick.get();
- char * colon = strchr (str, ':');
- if (colon)
- {
- m_cert->priv->title = g_strdup (colon+1);
- }
- else
- {
- m_cert->priv->title = g_strdup (cnick.get());
- }
- }
-
- return m_cert->priv->title;
-}
-
-static void
-impl_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- MozillaX509Cert *cert = MOZILLA_X509_CERT (object);
-
- switch (prop_id)
- {
- case PROP_MOZILLA_CERT:
- mozilla_x509_cert_set_mozilla_cert(cert,
- (nsIX509Cert*)g_value_get_pointer (value));
- break;
- default:
- break;
- }
-}
-
-static void
-impl_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- MozillaX509Cert *cert = MOZILLA_X509_CERT (object);
-
- switch (prop_id)
- {
- case PROP_MOZILLA_CERT:
- g_value_set_pointer (value, cert->priv->mozilla_cert);
- break;
- default:
- break;
- }
-}
-
-static void
-mozilla_x509_cert_init (MozillaX509Cert *cert)
-{
- cert->priv = MOZILLA_X509_CERT_GET_PRIVATE (cert);
-}
-
-static void
-mozilla_x509_cert_finalize (GObject *object)
-{
- MozillaX509Cert *cert = MOZILLA_X509_CERT (object);
-
- LOG ("Finalizing MozillaX509Cert %p", cert);
-
- if (cert->priv->mozilla_cert)
- {
- NS_RELEASE (cert->priv->mozilla_cert);
- }
-
- if (cert->priv->title)
- {
- g_free (cert->priv->title);
- }
-
- G_OBJECT_CLASS (mozilla_x509_cert_parent_class)->finalize (object);
-}
-
-static void
-ephy_x509_cert_init (EphyX509CertIface *iface)
-{
- iface->get_title = impl_get_title;
-}
-
-static void
-mozilla_x509_cert_class_init (MozillaX509CertClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->finalize = mozilla_x509_cert_finalize;
- object_class->set_property = impl_set_property;
- object_class->get_property = impl_get_property;
-
- g_object_class_install_property (object_class,
- PROP_MOZILLA_CERT,
- g_param_spec_pointer ("mozilla-cert",
- "Mozilla-Cert",
- "Mozilla XPCOM certificate",
- (GParamFlags)(G_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY)));
-
- g_type_class_add_private (object_class, sizeof (MozillaX509CertPrivate));
-}
-
-MozillaX509Cert *
-mozilla_x509_cert_new (nsIX509Cert *moz_cert)
-{
- return g_object_new (MOZILLA_TYPE_X509_CERT,
- "mozilla-cert", moz_cert,
- NULL);
-}
diff --git a/embed/mozilla/mozilla-x509-cert.h b/embed/mozilla/mozilla-x509-cert.h
deleted file mode 100644
index 1efbdc7d1..000000000
--- a/embed/mozilla/mozilla-x509-cert.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2003 Robert Marcano
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $Id$
- */
-
-#ifndef MOZILLA_X509_CERT_H
-#define MOZILLA_X509_CERT_H
-
-#include "ephy-x509-cert.h"
-
-#include <glib-object.h>
-
-#include <nsCOMPtr.h>
-#include <nsIX509Cert.h>
-
-G_BEGIN_DECLS
-
-#define MOZILLA_TYPE_X509_CERT (mozilla_x509_cert_get_type ())
-#define MOZILLA_X509_CERT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOZILLA_TYPE_X509_CERT, MozillaX509Cert))
-#define MOZILLA_X509_CERT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MOZILLA_TYPE_X509_CERT, MozillaX509CertClass))
-#define MOZILLA_IS_X509_CERT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOZILLA_TYPE_X509_CERT))
-#define MOZILLA_IS_X509_CERT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOZILLA_TYPE_X509_CERT))
-#define MOZILLA_X509_CERT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MOZILLA_TYPE_X509_CERT, MozillaX509CertClass))
-
-typedef struct _MozillaX509Cert MozillaX509Cert;
-typedef struct _MozillaX509CertPrivate MozillaX509CertPrivate;
-typedef struct _MozillaX509CertClass MozillaX509CertClass;
-
-struct _MozillaX509Cert
-{
- GObject parent;
- MozillaX509CertPrivate *priv;
-};
-
-struct _MozillaX509CertClass
-{
- GObjectClass parent_class;
-};
-
-GType mozilla_x509_cert_get_type (void);
-
-MozillaX509Cert *mozilla_x509_cert_new (nsIX509Cert *aMozCert);
-
-nsresult mozilla_x509_cert_get_mozilla_cert (MozillaX509Cert *cert, nsIX509Cert **aCert);
-
-G_END_DECLS
-
-#endif