diff --git a/netwerk/security/.cvsignore b/netwerk/security/.cvsignore
deleted file mode 100644
index f3c7a7c5da68..000000000000
--- a/netwerk/security/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/netwerk/security/Makefile.in b/netwerk/security/Makefile.in
deleted file mode 100644
index 8d096344e9e5..000000000000
--- a/netwerk/security/Makefile.in
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# 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 Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):
-#
-
-
-DEPTH = ../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-DIRS = browser psm
-
-include $(topsrcdir)/config/rules.mk
-
diff --git a/netwerk/security/browser/.cvsignore b/netwerk/security/browser/.cvsignore
deleted file mode 100644
index f3c7a7c5da68..000000000000
--- a/netwerk/security/browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/netwerk/security/browser/MANIFEST_CONTENT b/netwerk/security/browser/MANIFEST_CONTENT
deleted file mode 100644
index e62d9648dc2e..000000000000
--- a/netwerk/security/browser/MANIFEST_CONTENT
+++ /dev/null
@@ -1,2 +0,0 @@
-NavSecurityOverlay.xul
-NavSecurityUI.js
diff --git a/netwerk/security/browser/MANIFEST_SKIN b/netwerk/security/browser/MANIFEST_SKIN
deleted file mode 100644
index ece6f445ecb2..000000000000
--- a/netwerk/security/browser/MANIFEST_SKIN
+++ /dev/null
@@ -1,4 +0,0 @@
-lock.gif
-unlock.gif
-broken.gif
-NavSecurityOverlay.css
diff --git a/netwerk/security/browser/Makefile.in b/netwerk/security/browser/Makefile.in
deleted file mode 100644
index 2c959b7aa022..000000000000
--- a/netwerk/security/browser/Makefile.in
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# 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 Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):
-#
-
-DEPTH = ../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-MODULE = secureui
-
-IS_COMPONENT = 1
-LIBRARY_NAME = secureui
-
-CPPSRCS = \
- nsSecureBrowserUIImpl.cpp \
- $(NULL)
-
-EXTRA_DSO_LDOPTS = -L$(DIST)/lib -lxpcom
-
-XPIDLSRCS = \
- nsSecureBrowserUI.idl \
- $(NULL)
-
-include $(topsrcdir)/config/rules.mk
-
-SKIN_DIR = $(DIST)/bin/chrome/navigator/skin/default/
-EXPORT_SKINS = \
- $(srcdir)/broken.gif \
- $(srcdir)/lock.gif \
- $(srcdir)/unlock.gif \
- $(srcdir)/NavSecurityOverlay.css \
- $(NULL)
-
-CONTENT_DIR = $(DIST)/bin/chrome/navigator/content/default/
-EXPORT_CONTENT = \
- $(srcdir)/NavSecurityOverlay.xul \
- $(srcdir)/NavSecurityUI.js \
- $(NULL)
-
-install::
- $(INSTALL) $(EXPORT_SKINS) $(SKIN_DIR)
- $(INSTALL) $(EXPORT_CONTENT) $(CONTENT_DIR)
-
-
-
-
-
diff --git a/netwerk/security/browser/NavSecurityOverlay.css b/netwerk/security/browser/NavSecurityOverlay.css
deleted file mode 100644
index b6562774dfbe..000000000000
--- a/netwerk/security/browser/NavSecurityOverlay.css
+++ /dev/null
@@ -1,15 +0,0 @@
-titledbutton#security-button {
- list-style-image:url("chrome://navigator/skin/unlock.gif");
-}
-
-titledbutton#security-button[level="high"] {
- list-style-image:url("chrome://navigator/skin/lock.gif");
-}
-
-titledbutton#security-button[level="low"] {
- list-style-image:url("chrome://navigator/skin/lock.gif");
-}
-
-titledbutton#security-button[level="broken"] {
- list-style-image:url("chrome://navigator/skin/broken.gif");
-}
\ No newline at end of file
diff --git a/netwerk/security/browser/NavSecurityOverlay.xul b/netwerk/security/browser/NavSecurityOverlay.xul
deleted file mode 100644
index fdcc741608eb..000000000000
--- a/netwerk/security/browser/NavSecurityOverlay.xul
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/netwerk/security/browser/NavSecurityUI.js b/netwerk/security/browser/NavSecurityUI.js
deleted file mode 100644
index 478b7cdc6b70..000000000000
--- a/netwerk/security/browser/NavSecurityUI.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-window.addEventListener("load", SetSecurityButton, false);
-
-function SetSecurityButton()
-{
- dump("in SetSecurityButton\n");
-
- var ui = Components.classes["component://netscape/secure_browser_ui"].getService();
- ui = ui.QueryInterface(Components.interfaces.nsSecureBrowserUI);
-
- var button = document.getElementById('security-button');
- if (button && window.content)
- ui.init(window.content, button);
-}
-
-function displayPageInfo()
-{
- var psm = Components.classes["component://netscape/psm"].getService();
- psm = psm.QueryInterface(Components.interfaces.nsIPSMComponent);
- psm.DisplaySecurityAdvisor( null );
-}
-
-
diff --git a/netwerk/security/browser/broken.gif b/netwerk/security/browser/broken.gif
deleted file mode 100644
index 6ca1fc885cce..000000000000
Binary files a/netwerk/security/browser/broken.gif and /dev/null differ
diff --git a/netwerk/security/browser/lock.gif b/netwerk/security/browser/lock.gif
deleted file mode 100644
index 6e59a68467a7..000000000000
Binary files a/netwerk/security/browser/lock.gif and /dev/null differ
diff --git a/netwerk/security/browser/makefile.win b/netwerk/security/browser/makefile.win
deleted file mode 100644
index fb1f35d80470..000000000000
--- a/netwerk/security/browser/makefile.win
+++ /dev/null
@@ -1,72 +0,0 @@
-#!nmake
-#
-# 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 Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):
-#
-
-MODULE = secureui
-
-DEPTH=..\..\..
-IGNORE_MANIFEST=1
-
-DLLNAME = secureui
-PDBFILE = $(DLLNAME).pdb
-MAPFILE = $(DLLNAME).map
-DLL = .\$(OBJDIR)\$(DLLNAME).dll
-MAKE_OBJ_TYPE = DLL
-
-include <$(DEPTH)/config/config.mak>
-
-LINCS = $(LINCS) \
- -I$(PUBLIC) \
- $(NULL)
-
-LLIBS = \
- $(LIBNSPR) \
- $(DIST)\lib\xpcom.lib \
- $(NULL)
-
-OBJS = \
- .\$(OBJDIR)\nsSecureBrowserUIImpl.obj \
- $(NULL)
-
-XPIDL_INCLUDES=-I$(DEPTH)\..\mozilla\dist\idl
-
-XPIDLSRCS= \
- .\nsSecureBrowserUI.idl \
- $(NULL)
-
-include <$(DEPTH)\config\rules.mak>
-
-install:: $(DLL)
- $(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).dll $(DIST)\bin\components
- $(MAKE_INSTALL) broken.gif $(DIST)\bin\chrome\navigator\skin\default
- $(MAKE_INSTALL) lock.gif $(DIST)\bin\chrome\navigator\skin\default
- $(MAKE_INSTALL) unlock.gif $(DIST)\bin\chrome\navigator\skin\default
- $(MAKE_INSTALL) NavSecurityOverlay.xul $(DIST)\bin\chrome\navigator\content\default
- $(MAKE_INSTALL) NavSecurityUI.js $(DIST)\bin\chrome\navigator\content\default
- $(MAKE_INSTALL) NavSecurityOverlay.css $(DIST)\bin\chrome\navigator\skin\default
-
-clobber::
- rm $(DIST)\bin\components\$(DLLNAME).dll
- rm $(DIST)\bin\chrome\navigator\skin\default\broken.gif
- rm $(DIST)\bin\chrome\navigator\skin\default\lock.gif
- rm $(DIST)\bin\chrome\navigator\skin\default\unlock.gif
- rm $(DIST)\bin\chrome\navigator\content\default\NavSecurityOverlay.xul
- rm $(DIST)\bin\chrome\navigator\skin\default\NavSecurityOverlay.css
diff --git a/netwerk/security/browser/nsSecureBrowserUI.idl b/netwerk/security/browser/nsSecureBrowserUI.idl
deleted file mode 100644
index db1de126e7a5..000000000000
--- a/netwerk/security/browser/nsSecureBrowserUI.idl
+++ /dev/null
@@ -1,41 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "nsISupports.idl"
-
-interface nsIDOMWindow;
-interface nsIDOMElement;
-
-[scriptable, uuid(081e31e0-a144-11d3-8c7c-00609792278c)]
-interface nsSecureBrowserUI : nsISupports
-{
- void init(in nsIDOMWindow window, in nsIDOMElement button);
-};
-
-%{C++
-#define NS_SECURE_BROWSER_UI_PROGID "component://netscape/secure_browser_ui"
-#define NS_SECURE_BROWSER_UI_CLASSNAME "Mozilla Secure Browser UI Handler"
-
-#define NS_SECURE_BROWSER_UI_CID \
-{ 0x10fe7ea0, 0xa10a, 0x11d3, {0x8c, 0x7c, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c}}
-
-%}
diff --git a/netwerk/security/browser/nsSecureBrowserUIImpl.cpp b/netwerk/security/browser/nsSecureBrowserUIImpl.cpp
deleted file mode 100644
index 6068491de3a8..000000000000
--- a/netwerk/security/browser/nsSecureBrowserUIImpl.cpp
+++ /dev/null
@@ -1,503 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "nsSecureBrowserUI.h"
-#include "nsSecureBrowserUIImpl.h"
-
-#include "nsCOMPtr.h"
-#include "nsIServiceManager.h"
-
-#include "nsIScriptGlobalObject.h"
-#include "nsIObserverService.h"
-#include "nsIDocumentLoader.h"
-#include "nsCURILoader.h"
-#include "nsIDocShell.h"
-#include "nsIDocumentViewer.h"
-#include "nsCURILoader.h"
-#include "nsIDocument.h"
-#include "nsIDOMHTMLDocument.h"
-#include "nsIDOMXULDocument.h"
-#include "nsIDOMElement.h"
-#include "nsIDOMWindow.h"
-#include "nsIChannel.h"
-
-#include "nsIURI.h"
-
-#include "prmem.h"
-
-#include "nsIModule.h"
-#include "nsIGenericFactory.h"
-
-#include "nsINetSupportDialogService.h"
-#include "nsIPrompt.h"
-#include "nsIPref.h"
-
-static NS_DEFINE_CID(kNetSupportDialogCID, NS_NETSUPPORTDIALOG_CID);
-static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
-
-
-#define ENTER_SITE_PREF "security.warn_entering_secure"
-#define LEAVE_SITE_PREF "security.warn_leaving_secure"
-#define MIXEDCONTENT_PREF "security.warn_viewing_mixed"
-#define INSECURE_SUBMIT_PREF "security.warn_submit_insecure"
-
-
-nsSecureBrowserUIImpl* nsSecureBrowserUIImpl::mInstance = nsnull;
-
-nsSecureBrowserUIImpl::nsSecureBrowserUIImpl()
-{
- NS_INIT_REFCNT();
-}
-
-nsSecureBrowserUIImpl::~nsSecureBrowserUIImpl()
-{
-}
-
-NS_IMPL_ISUPPORTS1(nsSecureBrowserUIImpl, nsSecureBrowserUI);
-
-NS_IMETHODIMP
-nsSecureBrowserUIImpl::CreateSecureBrowserUI(nsISupports* aOuter, REFNSIID aIID, void **aResult)
-{
- if (!aResult) {
- return NS_ERROR_INVALID_POINTER;
- }
- if (aOuter) {
- *aResult = nsnull;
- return NS_ERROR_NO_AGGREGATION;
- }
-
- if (mInstance == nsnull)
- {
- mInstance = new nsSecureBrowserUIImpl();
- }
-
- if (mInstance == nsnull)
- return NS_ERROR_OUT_OF_MEMORY;
-
- nsresult rv = mInstance->QueryInterface(aIID, aResult);
- if (NS_FAILED(rv))
- {
- *aResult = nsnull;
- }
- return rv;
-}
-
-NS_IMETHODIMP
-nsSecureBrowserUIImpl::Init(nsIDOMWindow *window, nsIDOMElement *button)
-{
-
- nsCOMPtr sgo = do_QueryInterface(window);
- if (sgo)
- {
- nsCOMPtr docShell;
-
- sgo->GetDocShell(getter_AddRefs(docShell));
- if (docShell)
- {
- nsSecureBrowserObserver *sbo = new nsSecureBrowserObserver();
- if (sbo)
- {
- NS_ADDREF(sbo);
- return sbo->Init(button, docShell); // does the window delete us when it close?
- }
- }
- }
- return NS_OK;
-}
-
-
-nsSecureBrowserObserver::nsSecureBrowserObserver()
-{
- NS_INIT_REFCNT();
- mIsSecureDocument = mMixContentAlertShown = mIsDocumentBroken = PR_FALSE;
-
-}
-
-nsSecureBrowserObserver::~nsSecureBrowserObserver()
-{
-}
-
-NS_IMPL_ISUPPORTS1(nsSecureBrowserObserver, nsIDocumentLoaderObserver);
-
-
-nsresult
-nsSecureBrowserObserver::Init(nsIDOMElement *button, nsIDocShell* content)
-{
- if (!button || !content)
- return NS_ERROR_NULL_POINTER;
-
- mSecurityButton = button;
- content->GetDocLoaderObserver(getter_AddRefs(mOldWebShellObserver));
- content->SetDocLoaderObserver(this);
- return NS_OK;
-}
-
-
-NS_IMETHODIMP
-nsSecureBrowserObserver::OnStartDocumentLoad(nsIDocumentLoader* aLoader,
- nsIURI* aURL,
- const char* aCommand)
-{
- nsresult res;
-
- if (mOldWebShellObserver)
- {
- mOldWebShellObserver->OnStartDocumentLoad(aLoader, aURL, aCommand);
- }
-
-
- if (!mSecurityButton)
- return NS_OK;
-
- if (!aURL || !aLoader)
- return NS_ERROR_NULL_POINTER;
-
-
- mIsSecureDocument = mMixContentAlertShown = mIsDocumentBroken = PR_FALSE;
-
- // check to see that we are going to load the same
- // kind of URL (scheme) as we just loaded.
-
-
- PRBool isOldSchemeSecure;
- res = IsSecureDocumentLoad(aLoader, &isOldSchemeSecure);
- if (NS_FAILED(res))
- return NS_OK;
-
- PRBool isNewSchemeSecure;
- res = IsSecureUrl(PR_FALSE, aURL, &isNewSchemeSecure);
- if (NS_FAILED(res))
- return NS_OK;
-
-#if DEBUG_dougt
- printf("[StartPageLoad] isOldSchemeSecure = %d isNewSchemeSecure = %d\n", isOldSchemeSecure, isNewSchemeSecure);
-#endif
- // if we are going from a secure page to and insecure page
- if ( !isNewSchemeSecure && isOldSchemeSecure)
- {
-#if DEBUG_dougt
- printf("change lock icon to unlock - new document\n");
-#endif
- mSecurityButton->RemoveAttribute( "level" );
-
-
- PRBool boolpref;
- NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &res);
- if (NS_FAILED(res))
- return res;
-
- if ((prefs->GetBoolPref(LEAVE_SITE_PREF, &boolpref) != 0))
- boolpref = PR_TRUE;
-
- if (boolpref)
- {
- NS_WITH_SERVICE(nsIPrompt, dialog, kNetSupportDialogCID, &res);
- if (NS_FAILED(res))
- return res;
-
- dialog->Alert(nsString("You are leaving a secure document").GetUnicode()); // fix localize!
- }
- }
- // if we are going from an insecure page to a secure one.
- else if (isNewSchemeSecure && !isOldSchemeSecure)
- {
- PRBool boolpref;
- NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &res);
- if (NS_FAILED(res))
- return res;
-
- if ((prefs->GetBoolPref(ENTER_SITE_PREF, &boolpref) != 0))
- boolpref = PR_TRUE;
-
- if (boolpref)
- {
- NS_WITH_SERVICE(nsIPrompt, dialog, kNetSupportDialogCID, &res);
- if (NS_FAILED(res))
- return res;
-
- dialog->Alert(nsString("You are entering a secure document").GetUnicode()); // fix localize!
- }
- }
-
- mIsSecureDocument = isNewSchemeSecure;
-
- return NS_OK;
-}
-
-NS_IMETHODIMP
-nsSecureBrowserObserver::OnEndDocumentLoad(nsIDocumentLoader* aLoader,
- nsIChannel* channel,
- nsresult aStatus)
-{
- nsresult rv;
-
- if (mOldWebShellObserver)
- {
- mOldWebShellObserver->OnEndDocumentLoad(aLoader, channel, aStatus);
- }
-
- if (!mIsSecureDocument)
- return NS_OK;
-
- if (!mSecurityButton)
- return NS_ERROR_NULL_POINTER;
-
-#if DEBUG_dougt
- printf("[EndPageLoad] mIsSecureDocument = %d aStatus = %d mIsDocumentBroken = %d\n", mIsSecureDocument, aStatus, mIsDocumentBroken);
-#endif
-
- if ( NS_SUCCEEDED(aStatus) && !mIsDocumentBroken )
- {
-#if DEBUG_dougt
- printf("change lock icon to secure \n");
-#endif
- rv = mSecurityButton->SetAttribute( "level", nsString("high") );
- mIsSecureDocument = PR_TRUE;
- }
- else
- {
-#if DEBUG_dougt
- printf("change lock icon to broken\n");
-#endif
- rv = mSecurityButton->SetAttribute( "level", nsString("broken") );
- mIsSecureDocument = PR_FALSE;
- }
-
- return rv;
-}
-
-NS_IMETHODIMP
-nsSecureBrowserObserver::OnStartURLLoad(nsIDocumentLoader* loader,
- nsIChannel* channel)
-{
- if (mOldWebShellObserver)
- {
- mOldWebShellObserver->OnStartURLLoad(loader, channel);
- }
-
-#if DEBUG_dougt
- printf("[StartURLLoad] mIsSecureDocument = %d\n", mIsSecureDocument);
-#endif
-
- PRBool secure;
- nsresult rv = IsSecureChannelLoad(channel, &secure);
- if (NS_FAILED(rv))
- return rv;
-
- if (mIsSecureDocument && !secure)
- {
- mIsDocumentBroken = PR_TRUE;
-
-// nsCOMPtr uri;
-// channel->GetURI(getter_AddRefs(uri));
-
-// uri->SetSpec("chrome://navigator/skin/insecureLink.gif"); //fix
-
- nsresult res;
-
- PRBool boolpref;
- NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &res);
- if (NS_FAILED(res))
- return res;
-
- if ((prefs->GetBoolPref(MIXEDCONTENT_PREF, &boolpref) != 0))
- boolpref = PR_TRUE;
-
- if (boolpref && !mMixContentAlertShown)
- {
- NS_WITH_SERVICE(nsIPrompt, dialog, kNetSupportDialogCID, &res);
- if (NS_FAILED(res))
- return res;
-
- dialog->Alert(nsString("There is mixed content on this page").GetUnicode()); // fix localize!
- mMixContentAlertShown = PR_TRUE;
- }
- }
- return NS_OK;
-}
-
-NS_IMETHODIMP
-nsSecureBrowserObserver::OnProgressURLLoad(nsIDocumentLoader* loader,
- nsIChannel* channel,
- PRUint32 aProgress,
- PRUint32 aProgressMax)
-{
- if (mOldWebShellObserver)
- {
- mOldWebShellObserver->OnProgressURLLoad(loader, channel, aProgress, aProgressMax);
- }
- return NS_OK;
-}
-
-NS_IMETHODIMP
-nsSecureBrowserObserver::OnStatusURLLoad(nsIDocumentLoader* loader,
- nsIChannel* channel,
- nsString& aMsg)
-{
- if (mOldWebShellObserver)
- {
- mOldWebShellObserver->OnStatusURLLoad(loader, channel, aMsg);
- }
- return NS_OK;
-}
-
-
-NS_IMETHODIMP
-nsSecureBrowserObserver::OnEndURLLoad(nsIDocumentLoader* loader,
- nsIChannel* channel,
- nsresult aStatus)
-{
- if (mOldWebShellObserver)
- {
- mOldWebShellObserver->OnEndURLLoad(loader, channel, aStatus);
- }
-
-#if DEBUG_dougt
- printf("[OnEndURLLoad] mIsSecureDocument = %d aStatus = %d\n", mIsSecureDocument, aStatus);
-#endif
-
- if ( mIsSecureDocument && NS_FAILED(aStatus))
- {
-#if DEBUG_dougt
- printf("change lock icon to broken\n");
-#endif
- mSecurityButton->SetAttribute( "level", nsString("broken") );
- mIsDocumentBroken = PR_TRUE;
- }
- return NS_OK;
-}
-
-// fileSecure flag determines if we should include file: and other local protocols.
-nsresult
-nsSecureBrowserObserver::IsSecureUrl(PRBool fileSecure, nsIURI* aURL, PRBool* value)
-{
- *value = PR_FALSE;
-
- if (!aURL)
- return NS_ERROR_NULL_POINTER;
-#if DEBUG_dougt
- char* string;
- aURL->GetSpec(&string);
- printf("[ensuring channel]: %s\n", string);
- nsAllocator::Free(string);
-#endif
-
- char* scheme;
- aURL->GetScheme(&scheme);
-
- if (scheme == nsnull)
- return NS_ERROR_NULL_POINTER;
-
- if ( (strncmp(scheme, "https", 5) == 0) ||
- (fileSecure &&
- (strncmp(scheme, "file", 4) == 0) ))
- *value = PR_TRUE;
-
- nsAllocator::Free(scheme);
- return NS_OK;
-
-}
-
-
-nsresult nsSecureBrowserObserver::IsSecureDocumentLoad(nsIDocumentLoader* loader, PRBool *value)
-{
- if (!loader)
- return NS_ERROR_NULL_POINTER;
-
- nsCOMPtr uri;
- nsresult rv = GetURIFromDocumentLoader(loader, getter_AddRefs(uri));
-
- if (NS_FAILED(rv))
- return rv;
-
- return IsSecureUrl(PR_FALSE, uri, value);
-}
-
-nsresult nsSecureBrowserObserver::IsSecureChannelLoad(nsIChannel* channel, PRBool *value)
-{
- if (!channel)
- return NS_ERROR_NULL_POINTER;
-
- nsCOMPtr uri;
- nsresult rv = channel->GetURI(getter_AddRefs(uri));
- if (NS_FAILED(rv))
- return rv;
-
- return IsSecureUrl(PR_TRUE, uri, value);
-}
-
-nsresult
-nsSecureBrowserObserver::GetURIFromDocumentLoader(nsIDocumentLoader* aLoader, nsIURI** uri)
-{
- nsresult rv;
-
- if (aLoader == nsnull)
- return NS_ERROR_NULL_POINTER;
-
- nsCOMPtr cont;
- rv = aLoader->GetContainer(getter_AddRefs(cont));
- if (NS_FAILED(rv) || (cont == nsnull))
- return NS_ERROR_NULL_POINTER;
-
- nsCOMPtr docShell(do_QueryInterface(cont));
- NS_ENSURE_TRUE(docShell, NS_ERROR_FAILURE);
-
- nsCOMPtr cv;
- rv = docShell->GetContentViewer(getter_AddRefs(cv));
- if (NS_FAILED(rv) || (cv == nsnull))
- return NS_ERROR_NULL_POINTER;
-
- nsCOMPtr docViewer(do_QueryInterface(cv));
- NS_ENSURE_TRUE(docViewer, NS_ERROR_FAILURE);
-
- nsCOMPtr doc;
- rv = docViewer->GetDocument(*getter_AddRefs(doc));
- if (NS_FAILED(rv) || (doc == nsnull))
- return NS_ERROR_NULL_POINTER;
-
- *uri = doc->GetDocumentURL();
- if (!*uri)
- return NS_ERROR_NULL_POINTER;
-
- return NS_OK;
-}
-
-
-
-static nsModuleComponentInfo components[] =
-{
- { NS_SECURE_BROWSER_UI_CLASSNAME,
- NS_SECURE_BROWSER_UI_CID,
- NS_SECURE_BROWSER_UI_PROGID,
- nsSecureBrowserUIImpl::CreateSecureBrowserUI
- },
-
- { NS_SECURE_BROWSER_DOCOBSERVER_CLASSNAME,
- NS_SECURE_BROWSER_DOCOBSERVER_CID,
- NS_SECURE_BROWSER_DOCOBSERVER_PROGID,
- nsSecureBrowserUIImpl::CreateSecureBrowserUI
- },
-
-};
-
-NS_IMPL_NSGETMODULE("nsSecureBrowserUIImpl", components)
-
diff --git a/netwerk/security/browser/nsSecureBrowserUIImpl.h b/netwerk/security/browser/nsSecureBrowserUIImpl.h
deleted file mode 100644
index b19ebb3d82d5..000000000000
--- a/netwerk/security/browser/nsSecureBrowserUIImpl.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#ifndef nsSecureBrowserUIImpl_h_
-#define nsSecureBrowserUIImpl_h_
-
-#include "nsCOMPtr.h"
-#include "nsXPIDLString.h"
-#include "nsString.h"
-#include "nsIObserver.h"
-#include "nsIDocumentLoaderObserver.h"
-#include "nsIDOMElement.h"
-#include "nsSecureBrowserUI.h"
-#include "nsIDocShell.h"
-
-#define NS_SECURE_BROWSER_DOCOBSERVER_CLASSNAME "Mozilla Secure Browser Doc Observer"
-
-#define NS_SECURE_BROWSER_DOCOBSERVER_CID \
-{0x97c06c30, 0xa145, 0x11d3, \
-{0x8c, 0x7c, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c}}
-
-#define NS_SECURE_BROWSER_DOCOBSERVER_PROGID "component://netscape/secure_browser_docobserver"
-
-
-class nsSecureBrowserObserver : public nsIDocumentLoaderObserver
-{
-public:
-
- nsSecureBrowserObserver();
- virtual ~nsSecureBrowserObserver();
-
- nsresult Init(nsIDOMElement *button, nsIDocShell* content);
-
- NS_DECL_ISUPPORTS
-
- // nsIDocumentLoaderObserver
- NS_DECL_NSIDOCUMENTLOADEROBSERVER
-
- static nsresult IsSecureDocumentLoad(nsIDocumentLoader* loader, PRBool *value);
- static nsresult IsSecureChannelLoad(nsIChannel* channel, PRBool *value);
- static nsresult IsSecureUrl(PRBool fileSecure, nsIURI* aURL, PRBool *value);
- static nsresult GetURIFromDocumentLoader(nsIDocumentLoader* aLoader, nsIURI** uri);
-
-protected:
-
- nsCOMPtr mSecurityButton;
- nsCOMPtr mOldWebShellObserver;
-
- PRBool mIsSecureDocument; // is https loaded
- PRBool mIsDocumentBroken; //
- PRBool mMixContentAlertShown;
-
-};
-
-class nsSecureBrowserUIImpl : public nsSecureBrowserUI
-{
-public:
-
- nsSecureBrowserUIImpl();
- virtual ~nsSecureBrowserUIImpl();
-
- NS_DECL_ISUPPORTS
- NS_DECL_NSSECUREBROWSERUI
-
- static NS_METHOD CreateSecureBrowserUI(nsISupports* aOuter, REFNSIID aIID, void **aResult);
-
-protected:
-
- static nsSecureBrowserUIImpl* mInstance;
-};
-
-
-#endif /* nsSecureBrowserUIImpl_h_ */
diff --git a/netwerk/security/browser/unlock.gif b/netwerk/security/browser/unlock.gif
deleted file mode 100644
index 761b85ddfb35..000000000000
Binary files a/netwerk/security/browser/unlock.gif and /dev/null differ
diff --git a/netwerk/security/makefile.win b/netwerk/security/makefile.win
deleted file mode 100644
index 08ab81487e90..000000000000
--- a/netwerk/security/makefile.win
+++ /dev/null
@@ -1,31 +0,0 @@
-#!nmake
-#
-# 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 Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):
-# Doug Turner 7/29/99
-#
-
-DEPTH = ..\..
-
-DIRS= \
- browser \
- psm \
- $(NULL)
-
-include <$(DEPTH)\config\rules.mak>
diff --git a/netwerk/security/psm/.cvsignore b/netwerk/security/psm/.cvsignore
deleted file mode 100644
index 04d9997c2153..000000000000
--- a/netwerk/security/psm/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-_xpidlgen
diff --git a/netwerk/security/psm/Makefile.in b/netwerk/security/psm/Makefile.in
deleted file mode 100644
index 0511cebdf0c8..000000000000
--- a/netwerk/security/psm/Makefile.in
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# 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 Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):
-#
-
-DEPTH = ../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-MODULE = psmcomp
-
-IS_COMPONENT = 1
-LIBRARY_NAME = psmcomp
-
-CPPSRCS = \
- nsPSMComponent.cpp \
- nsPSMModule.cpp \
- nsPSMUICallbacks.cpp \
- $(NULL)
-
-CSRCS = \
- nsPSMMutex.c \
- nsPSMShimLayer.c \
- $(NULL)
-
-XPIDLSRCS = \
- nsIPSMComponent.idl \
- nsIPSMUIHandler.idl \
- $(NULL)
-
-EXTRA_DSO_LDOPTS = -L$(DIST)/lib -lcmt -lxpcom -lprotocol $(MOZ_REGISTRY_LIBS)
-
-include $(topsrcdir)/config/rules.mk
-
-INCLUDES += \
- -I$(srcdir) \
- $(NULL)
diff --git a/netwerk/security/psm/makefile.win b/netwerk/security/psm/makefile.win
deleted file mode 100644
index aa3b8dad841a..000000000000
--- a/netwerk/security/psm/makefile.win
+++ /dev/null
@@ -1,84 +0,0 @@
-#!nmake
-#
-# 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 Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):
-#
-
-MODULE = psmcomp
-
-DEPTH=..\..\..
-IGNORE_MANIFEST=1
-
-DLLNAME = psmcomp
-PDBFILE = $(DLLNAME).pdb
-MAPFILE = $(DLLNAME).map
-DLL = .\$(OBJDIR)\$(DLLNAME).dll
-MAKE_OBJ_TYPE = DLL
-
-include <$(DEPTH)/config/config.mak>
-
-EXPORTS= \
- $(NULL)
-
-LINCS = $(LINCS) \
- -I$(PUBLIC) \
- -I$(PUBLIC)/security \
- $(NULL)
-
-LLIBS = \
- $(LIBNSPR) \
- $(DIST)\lib\neckobase_s.lib \
- $(DIST)\lib\xpcom.lib \
- $(DIST)\lib\js3250.lib \
- $(DIST)\lib\cmt.lib \
- $(DIST)\lib\protocol.lib \
- $(DIST)\lib\mozreg.lib \
- $(NULL)
-
-LIBRARY_NAME=neckopsm_s
-
-OBJS = \
- .\$(OBJDIR)\nsPSMMutex.obj \
- .\$(OBJDIR)\nsPSMShimLayer.obj \
- .\$(OBJDIR)\nsPSMComponent.obj \
- .\$(OBJDIR)\nsPSMUICallbacks.obj \
- .\$(OBJDIR)\nsPSMModule.obj \
- $(NULL)
-
-XPIDL_INCLUDES=-I$(DEPTH)\..\mozilla\dist\idl
-
-XPIDLSRCS= \
- .\nsIPSMComponent.idl \
- .\nsIPSMUIHandler.idl \
- $(NULL)
-
-#NO_GEN_XPT=1
-
-include <$(DEPTH)\config\rules.mak>
-
-install:: $(DLL)
- $(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).dll $(DIST)\bin\components
-
-# temporary we need to export this static library to
-# deal with gSocketFuncs in CMT lib being global
-install:: $(LIBRARY)
- $(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib
-
-clobber::
- -$(RM_R) $(OBJDIR) $(XPIDL_GEN_DIR)
diff --git a/netwerk/security/psm/nsIPSMComponent.idl b/netwerk/security/psm/nsIPSMComponent.idl
deleted file mode 100644
index 5844b6902201..000000000000
--- a/netwerk/security/psm/nsIPSMComponent.idl
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "nsISupports.idl"
-//#include "nsIPrincipal.idl"
-interface nsIPrincipal;
-
-%{C++
-#include "cmtcmn.h"
-%}
-
-[ptr] native nsCMTControlStar(CMT_CONTROL);
-
-[scriptable, uuid(9e482670-5412-11d3-bbc8-0000861d1237)]
-interface nsIPSMComponent : nsISupports
-{
-
- [noscript] nsCMTControlStar GetControlConnection( );
- void DisplaySecurityAdvisor();
-
- /* Secure Hashing functions */
- void hashBegin(in unsigned long alg, out unsigned long id);
- void hashUpdate(in unsigned long id, in string buf, in unsigned long buflen);
- void hashEnd(in unsigned long id, out string hash, out unsigned long hashlen,
- in unsigned long maxLen);
-
- /* Signature Verification functions */
- void verifyRSABegin(out unsigned long id);
- void verifyRSAUpdate(in unsigned long id, in string buf,
- in unsigned long buflen);
- void verifyRSAEnd(in unsigned long id, in string plaintext,
- in unsigned long plaintextLen,
- in boolean keepCert, out nsIPrincipal principal);
-};
-
-%{C++
-#define PSM_COMPONENT_PROGID "component://netscape/psm"
-#define PSM_COMPONENT_CLASSNAME "Mozilla PSM Component"
-
-/* Hash Algorithms (based on cmtcmn.h) */
-#define PSM_HASH_MD2 1
-#define PSM_HASH_MD2_LENGTH 16
-#define PSM_HASH_MD5 2
-#define PSM_HASH_MD5_LENGTH 16
-#define PSM_HASH_SHA1 3
-#define PSM_HASH_SHA1_LENGTH 20
-#define PSM_HASH_MAX_LENGTH PSM_HASH_SHA1_LENGTH
-%}
-
diff --git a/netwerk/security/psm/nsIPSMUIHandler.idl b/netwerk/security/psm/nsIPSMUIHandler.idl
deleted file mode 100644
index ffd0fd9a1b1b..000000000000
--- a/netwerk/security/psm/nsIPSMUIHandler.idl
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 the Mozilla browser.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications, Inc. Portions created by Netscape are
- * Copyright (C) 1999, Mozilla. All Rights Reserved.
- *
- * Contributor(s):
- * Doug Turner
- */
-
-#include "nsISupports.idl"
-
-[scriptable, uuid(d92be9b0-601b-11d3-8c4a-000064657374)]
-interface nsIPSMUIHandler : nsISupports
-{
- void DisplayURI(in long width, in long height, in string urlStr);
- void PromptForFile(in string prompt, in string fileRegEx, in boolean shouldFileExist, out string outFile);
-};
-
-%{C++
-#define PSM_UI_HANLDER_PROGID "component://netscape/psm/ui"
-#define PSM_UI_HANLDER_CLASSNAME "Mozilla PSM UI Handler"
-%}
diff --git a/netwerk/security/psm/nsPSMComponent.cpp b/netwerk/security/psm/nsPSMComponent.cpp
deleted file mode 100644
index 26d34fe81283..000000000000
--- a/netwerk/security/psm/nsPSMComponent.cpp
+++ /dev/null
@@ -1,737 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "nsProxiedService.h"
-#include "nsPSMUICallbacks.h"
-#include "VerReg.h"
-
-#include "nspr.h"
-#include "nsPSMComponent.h"
-
-#include "nsCRT.h"
-
-#include "nsIPref.h"
-#include "nsIProfile.h"
-#include "nsILocalFile.h"
-#ifdef XP_MAC
-#include "nsILocalFileMac.h"
-#endif
-#include "nsSpecialSystemDirectory.h"
-
-#include "nsPSMMutex.h"
-#include "nsPSMShimLayer.h"
-#include "nsPSMUICallbacks.h"
-
-#include "nsSecureBrowserUI.h"
-#include "nsIDocumentLoaderObserver.h"
-#include "nsIScriptSecurityManager.h"
-
-#define PSM_VERSION_REG_KEY "/Netscape/Personal Security Manager"
-
-#ifdef WIN32
-#define PSM_FILE_NAME "psm.exe"
-#elif XP_UNIX
-#define PSM_FILE_NAME "start-psm"
-#define PSM_FILE_LOCATION "/opt/netscape/security/start-psm"
-#else
-#define PSM_FILE_NAME "psm"
-#endif
-
-
-static NS_DEFINE_CID(kProfileCID, NS_PROFILE_CID);
-
-
-nsPSMComponent* nsPSMComponent::mInstance = nsnull;
-
-nsPSMComponent::nsPSMComponent()
-{
- NS_INIT_REFCNT();
- mControl = nsnull;
-}
-
-nsPSMComponent::~nsPSMComponent()
-{
- if (mControl)
- {
- CMT_CloseControlConnection(mControl);
- mControl = nsnull;
- }
-}
-
-
-NS_IMETHODIMP
-nsPSMComponent::CreatePSMComponent(nsISupports* aOuter, REFNSIID aIID, void **aResult)
-{
- if (!aResult) {
- return NS_ERROR_INVALID_POINTER;
- }
- if (aOuter) {
- *aResult = nsnull;
- return NS_ERROR_NO_AGGREGATION;
- }
-
- if (mInstance == nsnull)
- {
- mInstance = new nsPSMComponent();
- }
-
- if (mInstance == nsnull)
- return NS_ERROR_OUT_OF_MEMORY;
-
- nsresult rv = mInstance->QueryInterface(aIID, aResult);
- if (NS_FAILED(rv))
- {
- *aResult = nsnull;
- }
- return rv;
-}
-
-/* nsISupports Implementation for the class */
-NS_IMPL_ISUPPORTS1 (nsPSMComponent, nsIPSMComponent);
-
-#define INIT_NUM_PREFS 100
-/* preference types */
-#define STRING_PREF 0
-#define BOOL_PREF 1
-#define INT_PREF 2
-
-
-/* resizable list struct that contains pref items */
-typedef struct CMSetPrefList {
- int n; /* number of filled items */
- int capacity; /* allocated memory */
- CMTSetPrefElement* list; /* actual list */
-} CMSetPrefList;
-
-static void get_pack_bool_pref(nsIPref *prefManager, char* key, CMTSetPrefElement* list, int* n)
-{
- PRBool boolpref;
-
- list[*n].key = nsCRT::strdup(key);
- list[*n].type = BOOL_PREF;
-
- if ((prefManager->GetBoolPref(key, &boolpref) != 0) || boolpref)
- {
- list[*n].value = nsCRT::strdup("true");
- }
- else
- {
- list[*n].value = nsCRT::strdup("false");
- }
-
- (*n)++; /* increment the counter after done packing */
-
- return;
-}
-static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
-
-static void SaveAllPrefs(int number, CMTSetPrefElement* list)
-{
- nsCOMPtr prefManager;
-
- nsresult res = nsServiceManager::GetService(kPrefCID,
- nsIPref::GetIID(),
- getter_AddRefs(prefManager));
-
- if (NS_FAILED(res) || !prefManager)
- {
- return;
- }
-
-
- int i;
- int intval;
-
- for (i = 0; i < number; i++)
- {
- if (list[i].key == nsnull)
- {
- /* misconfigured item: next */
- continue;
- }
-
- switch (list[i].type)
- {
- case 0: /* string type */
- prefManager->SetCharPref(list[i].key, list[i].value);
- break;
- case 1: /* boolean type */
- if (strcmp(list[i].value, "true") == 0) {
- prefManager->SetBoolPref(list[i].key, (PRBool)1);
- }
- else if (strcmp(list[i].value, "false") == 0) {
- prefManager->SetBoolPref(list[i].key, (PRBool)0);
- }
- break;
- case 2:
- intval = atoi(list[i].value);
- prefManager->SetIntPref(list[i].key, intval);
- break;
- default:
- break;
- }
- }
-
- return;
-}
-
-nsresult
-nsPSMComponent::PassAllPrefs()
-{
- int i;
- nsresult rv = NS_ERROR_FAILURE;
- char* strpref = NULL;
- int intpref;
- PRBool boolpref;
- CMSetPrefList prefs = {0};
- CMTSetPrefElement* list = NULL;
-
- char* pickAuto = "Select Automatically";
- char* alwaysAsk = "Ask Every Time";
-
- nsCOMPtr prefManager;
-
- nsresult res = nsServiceManager::GetService(kPrefCID,
- nsIPref::GetIID(),
- getter_AddRefs(prefManager));
-
- if (NS_OK != res)
- {
- return NS_ERROR_FAILURE;
- }
-
- /* allocate memory for list */
- prefs.n = 0; /* counter */
- prefs.capacity = INIT_NUM_PREFS;
- prefs.list = (CMTSetPrefElement*) new char[(INIT_NUM_PREFS * sizeof(CMTSetPrefElement))];
-
- if (prefs.list == NULL)
- {
- return rv;
- }
-
- /* shorthand */
- list = prefs.list;
-
- /* get preferences */
- get_pack_bool_pref(prefManager, "security.enable_ssl2", (CMTSetPrefElement*)list, &(prefs.n));
- get_pack_bool_pref(prefManager, "security.enable_ssl3", (CMTSetPrefElement*)list, &(prefs.n));
-
- /* this pref is a boolean pref in nature but a string pref for
- * historical reason
- */
-
- list[prefs.n].key = nsCRT::strdup("security.default_personal_cert");
- list[prefs.n].type = STRING_PREF;
-
- if ((prefManager->CopyCharPref(list[prefs.n].key, &strpref) == 0) && (strcmp(strpref, pickAuto) == 0))
- {
- list[prefs.n].value = nsCRT::strdup(pickAuto);
- }
- else
- {
- /* although one could choose a specific cert for client auth in
- * Nova, that mode is deprecated with PSM and mapped to ASK
- */
- list[prefs.n].value = nsCRT::strdup(alwaysAsk);
- }
-
- prefs.n++;
- if (strpref != NULL)
- {
- nsCRT::free(strpref);
- }
-
- list[prefs.n].key = nsCRT::strdup("security.default_mail_cert");
- list[prefs.n].type = STRING_PREF;
- if (prefManager->CopyCharPref(list[prefs.n].key, &list[prefs.n].value) != 0)
- {
- list[prefs.n].value = NULL;
- }
- prefs.n++;
-
- list[prefs.n].key = nsCRT::strdup("security.ask_for_password");
- list[prefs.n].type = INT_PREF;
- if (prefManager->GetIntPref(list[prefs.n].key, &intpref) != 0)
- {
- intpref = 2; /* default */
- }
-
- list[prefs.n].value = PR_smprintf("%d", intpref);
- prefs.n++;
-
- list[prefs.n].key = nsCRT::strdup("security.password_lifetime");
- list[prefs.n].type = INT_PREF;
- if (prefManager->GetIntPref(list[prefs.n].key, &intpref) != 0)
- {
- intpref = 480; /* default */
- }
-
- list[prefs.n].value = PR_smprintf("%d", intpref);
- prefs.n++;
-
- /* OCSP preferences */
- /* XXX since these are the new ones added by PSM, we will be more
- * error-tolerant in fetching them
- */
- if (prefManager->GetBoolPref("security.OCSP.enabled", &boolpref) == 0)
- {
- if (boolpref)
- {
- list[prefs.n].value = nsCRT::strdup("true");
- }
- else
- {
- list[prefs.n].value = nsCRT::strdup("false");
- }
- list[prefs.n].key = nsCRT::strdup("security.OCSP.enabled");
- list[prefs.n].type = BOOL_PREF;
- prefs.n++;
- }
-
- if (prefManager->GetBoolPref("security.OCSP.useDefaultResponder", &boolpref) == 0)
- {
- if (boolpref)
- {
- list[prefs.n].value = nsCRT::strdup("true");
- }
- else
- {
- list[prefs.n].value = nsCRT::strdup("false");
- }
- list[prefs.n].key = nsCRT::strdup("security.OCSP.useDefaultResponder");
- list[prefs.n].type = BOOL_PREF;
- prefs.n++;
- }
-
- if (prefManager->CopyCharPref("security.OCSP.URL", &strpref) == 0)
- {
- list[prefs.n].value = strpref;
- list[prefs.n].key = nsCRT::strdup("security.OCSP.URL");
- list[prefs.n].type = STRING_PREF;
- prefs.n++;
- }
-
- if (prefManager->CopyCharPref("security.OCSP.signingCA", &strpref) == 0)
- {
- list[prefs.n].value = strpref;
- list[prefs.n].key = nsCRT::strdup("security.OCSP.signingCA");
- list[prefs.n].type = STRING_PREF;
- prefs.n++;
- }
-
- /* now application-specific preferences */
- /* get navigator preferences */
- get_pack_bool_pref(prefManager, "security.warn_entering_secure", (CMTSetPrefElement*)list, &prefs.n);
- get_pack_bool_pref(prefManager, "security.warn_leaving_secure", (CMTSetPrefElement*)list, &prefs.n);
- get_pack_bool_pref(prefManager, "security.warn_viewing_mixed", (CMTSetPrefElement*)list, &prefs.n);
- get_pack_bool_pref(prefManager, "security.warn_submit_insecure", (CMTSetPrefElement*)list, &prefs.n);
-
- // Add any other prefs here such as ldap or mail/news.
-
- CMT_SetSavePrefsCallback(mControl, (savePrefsCallback_fn)SaveAllPrefs);
-
- if (CMT_PassAllPrefs(mControl, prefs.n, (CMTSetPrefElement*)prefs.list) != CMTSuccess)
- {
- goto loser;
- }
-
- rv = NS_OK; /* success */
-loser:
- /* clean out memory for prefs */
- for (i = 0; i < prefs.n; i++)
- {
- if (prefs.list[i].key != NULL)
- {
- nsCRT::free(prefs.list[i].key);
- }
-
- if (prefs.list[i].value != NULL)
- {
- nsCRT::free(prefs.list[i].value);
- }
- }
-
- if (prefs.list != NULL)
- {
- delete(prefs.list);
- }
- return rv;
-}
-
-NS_IMETHODIMP
-nsPSMComponent::GetControlConnection( CMT_CONTROL * *_retval )
-{
- nsresult rv;
- *_retval = nsnull;
- if (mControl)
- {
- *_retval = mControl;
- return NS_OK;
- }
- else /* initialize mutex, sock table, etc. */
- {
-
- if (nsPSMMutexInit() != PR_SUCCESS)
- return NS_ERROR_FAILURE;
-
- mControl = CMT_ControlConnect(&nsPSMMutexTbl, &nsPSMShimTbl);
-
- if (mControl == nsnull)
- {
- //Try to find it.
- int err;
- char filepath[MAXREGPATHLEN];
-
- err = VR_GetPath(PSM_VERSION_REG_KEY, sizeof(filepath), filepath);
- if ( err == REGERR_OK )
- {
- nsFileSpec psmSpec(filepath);
- psmSpec += PSM_FILE_NAME;
-
- if (psmSpec.Exists())
- {
- mControl = CMT_EstablishControlConnection((char *)psmSpec.GetNativePathCString(), &nsPSMShimTbl, &nsPSMMutexTbl);
- }
- }
- }
-
-#ifndef XP_MAC
- if (mControl == nsnull)
- {
- nsSpecialSystemDirectory sysDir(nsSpecialSystemDirectory::OS_CurrentProcessDirectory);
- nsFileSpec spec = sysDir;
-
- spec += "psm/";
- spec += PSM_FILE_NAME;
-
- if (spec.Exists())
- {
- mControl = CMT_EstablishControlConnection((char *)spec.GetNativePathCString(), &nsPSMShimTbl, &nsPSMMutexTbl);
- }
- }
-#else
- if (mControl == nsnull)
- {
- // Attempt to locate "Personal Security Manager" in "Essential Files".
- nsCOMPtr aPSMApp = do_CreateInstance(NS_LOCAL_FILE_PROGID, &rv);
- if (NS_SUCCEEDED(rv))
- {
- nsCOMPtr psmAppMacFile = do_QueryInterface(aPSMApp, &rv);
- if (NS_SUCCEEDED(rv))
- {
- rv = psmAppMacFile->InitFindingAppByCreatorCode('nPSM');
- if (NS_SUCCEEDED(rv))
- {
- rv = psmAppMacFile->LaunchAppWithDoc(nsnull, PR_TRUE);
- if (NS_SUCCEEDED(rv))
- {
- const PRUint32 kMaxWaitTicks = 180; // max 3 seconds
- PRUint32 endTicks = ::TickCount() + kMaxWaitTicks;
-
- do
- {
- EventRecord theEvent;
- WaitNextEvent(0, &theEvent, 5, NULL);
- mControl = CMT_ControlConnect(&nsPSMMutexTbl, &nsPSMShimTbl);
- } while (!mControl && (::TickCount() < endTicks));
-
- }
- }
- }
- }
- NS_ASSERTION(NS_SUCCEEDED(rv), "Launching Personal Security Manager failed");
- }
-
-#endif
-
-#ifdef XP_UNIX
- if (mControl == nsnull)
- {
- nsFileSpec psmSpec(PSM_FILE_LOCATION);
- if (psmSpec.Exists())
- {
- mControl = CMT_EstablishControlConnection(PSM_FILE_LOCATION, &nsPSMShimTbl, &nsPSMMutexTbl);
- }
- }
-#endif
-
- if (mControl == nsnull)
- {
- char* filePath = nsnull;
-
- NS_WITH_PROXIED_SERVICE(nsIPSMUIHandler, handler, nsPSMUIHandlerImpl::GetCID(), NS_UI_THREAD_EVENTQ, &rv);
- if(NS_SUCCEEDED(rv))
- handler->PromptForFile("Please find the Personal Security Manager application", PSM_FILE_NAME, PR_TRUE, &filePath);
- if (! filePath)
- return NS_ERROR_FAILURE;
-
- mControl = CMT_EstablishControlConnection(filePath, &nsPSMShimTbl, &nsPSMMutexTbl);
- }
-
-
- if (!mControl || InitPSMUICallbacks(mControl) != PR_SUCCESS)
- goto failure;
-
- nsFileSpec profileSpec;
- char* profileName = nsnull;
-
- NS_WITH_SERVICE(nsIProfile, profile, kProfileCID, &rv);
- if (NS_FAILED(rv)) goto failure;
-
- rv = profile->GetCurrentProfileDir(&profileSpec);
- if (NS_FAILED(rv)) goto failure;;
-
- rv = profile->GetCurrentProfile(&profileName);
- if (NS_FAILED(rv)) goto failure;
-
- CMTStatus psmStatus;
-
- psmStatus = CMT_Hello( mControl,
- PROTOCOL_VERSION,
- profileName,
- (char*)profileSpec.GetNativePathCString());
-
- if (psmStatus == CMTFailure)
- {
- PR_FREEIF(profileName);
- goto failure;
- }
-
- if (NS_FAILED(PassAllPrefs()))
- {
- PR_FREEIF(profileName);
- goto failure;
- }
-
- PR_FREEIF(profileName);
-
- *_retval = mControl;
- return NS_OK;
- }
-
-failure:
-
- printf("*** Failure setting up Cartman! \n");
-
- if (mControl)
- {
- CMT_CloseControlConnection(mControl);
- mControl = NULL;
- }
-
- // TODO we need to unregister our UI callback BEFORE destroying our mutex.
- // nsPSMMutexDestroy();
-
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsPSMComponent::DisplaySecurityAdvisor()
-{
- CMT_CONTROL *controlConnection;
- GetControlConnection( &controlConnection );
- if (DisplayPSMUIDialog(controlConnection, nsnull) == PR_SUCCESS)
- return NS_OK;
- return NS_ERROR_FAILURE;
-}
-
-//-----------------------------------------
-// Secure Hash Functions
-//-----------------------------------------
-NS_IMETHODIMP
-nsPSMComponent::HashBegin(PRUint32 alg, PRUint32* id)
-{
- CMT_CONTROL *controlConnection;
- if (NS_FAILED(GetControlConnection( &controlConnection )))
- return NS_ERROR_FAILURE;
-
- if(CMT_HashCreate(controlConnection, alg, (CMUint32*)id) != CMTSuccess)
- return NS_ERROR_FAILURE;
- if(CMT_HASH_Begin(controlConnection, *id) != CMTSuccess)
- return NS_ERROR_FAILURE;
-
- return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPSMComponent::HashUpdate(PRUint32 id, const char* buf, PRUint32 buflen)
-{
- CMT_CONTROL *controlConnection;
-
- if (NS_FAILED(GetControlConnection( &controlConnection )))
- return NS_ERROR_FAILURE;
- if (CMT_HASH_Update(controlConnection, id,
- (const unsigned char*)buf, buflen) != CMTSuccess)
- return NS_ERROR_FAILURE;
-
- return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPSMComponent::HashEnd(PRUint32 id, char** hash, PRUint32* hashlen,
- PRUint32 maxLen)
-{
- if (!hash)
- return NS_ERROR_ILLEGAL_VALUE;
-
- CMT_CONTROL *controlConnection;
- if (NS_FAILED(GetControlConnection( &controlConnection )))
- return NS_ERROR_FAILURE;
-
- if(CMT_HASH_End(controlConnection, id, (unsigned char*)*hash,
- (CMUint32*)hashlen, maxLen) != CMTSuccess)
- return NS_ERROR_FAILURE;
- CMT_HASH_Destroy(controlConnection, id);
- return NS_OK;
-}
-
-//-----------------------------------------
-// Signature Verification Functions
-//-----------------------------------------
-PR_STATIC_CALLBACK(void)
-UselessPK7DataSink(void* arg, const char* buf, CMUint32 len)
-{
-}
-
-NS_IMETHODIMP
-nsPSMComponent::VerifyRSABegin(PRUint32* id)
-{
- if (!id)
- return NS_ERROR_ILLEGAL_VALUE;
-
- CMT_CONTROL *controlConnection;
- if (NS_FAILED(GetControlConnection( &controlConnection )))
- return NS_ERROR_FAILURE;
-
- CMInt32* blah = nsnull;
- CMTStatus result = CMT_PKCS7DecoderStart(controlConnection, nsnull /*?*/,
- (CMUint32*)id, blah,
- UselessPK7DataSink, nsnull);
- if (result == CMTSuccess)
- return NS_OK;
- else
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsPSMComponent::VerifyRSAUpdate(PRUint32 id, const char* buf, PRUint32 buflen)
-{
- CMT_CONTROL *controlConnection;
- if (NS_FAILED(GetControlConnection( &controlConnection )))
- return NS_ERROR_FAILURE;
-
- CMTStatus result = CMT_PKCS7DecoderUpdate(controlConnection, id, buf, buflen);
- if (result == CMTSuccess)
- return NS_OK;
- else
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsPSMComponent::VerifyRSAEnd(PRUint32 id, const char* plaintext,
- PRUint32 plaintextLen,
- PRBool keepCert, nsIPrincipal** aPrincipal)
-{
- CMT_CONTROL *controlConnection;
- if (NS_FAILED(GetControlConnection( &controlConnection )))
- return NS_ERROR_FAILURE;
-
- CMUint32 contentInfo;
- CMTStatus result = CMT_PKCS7DecoderFinish(controlConnection,
- id, &contentInfo);
- if (result != CMTSuccess)
- return NS_ERROR_FAILURE;
-
- //-- Make sure a signature is present
- CMInt32 isSigned;
- result = CMT_GetNumericAttribute(controlConnection, contentInfo,
- SSM_FID_P7CINFO_IS_SIGNED, &isSigned);
- if (result != CMTSuccess || !isSigned)
- return NS_ERROR_FAILURE;
-
- // SHA1 hash the plaintext to compare it to the signature
- CMUint32 hashId;
- CMT_HashCreate(controlConnection, PSM_HASH_SHA1, &hashId);
- CMT_HASH_Begin(controlConnection, hashId);
- result = CMT_HASH_Update(controlConnection, hashId,
- (const unsigned char*)plaintext, plaintextLen);
- if (result != CMTSuccess) return NS_ERROR_FAILURE;
-
- unsigned char* hash = (unsigned char*)PR_MALLOC(PSM_HASH_SHA1_LENGTH);
- if (!hash) return NS_ERROR_OUT_OF_MEMORY;
- CMUint32 hashLen;
- result = CMT_HASH_End(controlConnection, hashId, hash,
- &hashLen, PSM_HASH_SHA1_LENGTH);
- NS_ASSERTION(hashLen == PSM_HASH_SHA1_LENGTH,
- "PSMComponent: Hash too short.");
- CMT_HASH_Destroy(controlConnection, hashId);
- if (result != CMTSuccess)
- {
- PR_FREEIF(hash);
- return NS_ERROR_FAILURE;
- }
- //-- Verify signature
- CMInt32 ok;
- CMTItemStr item;
- item.data = hash;
- item.len = hashLen;
- result = CMT_PKCS7VerifyDetachedSignature(controlConnection, contentInfo,
- 6 /* =Object Sining Cert */,
- 3 /* =SHA1 algorithm (MD5=2)*/,
- (CMUint32)keepCert,
- &item, &ok);
- PR_FREEIF(hash);
- if (result != CMTSuccess) return NS_ERROR_FAILURE;
- //-- Did it verify?
-
- if (ok != 0)
- *aPrincipal = nsnull;
- else
- {
- //-- Read cert info
- CMInt32 cert;
- result = CMT_GetNumericAttribute(controlConnection, contentInfo,
- SSM_FID_P7CINFO_SIGNER_CERT, &cert);
- if (result != CMTSuccess) return NS_ERROR_FAILURE;
- CMTItemStr issuer;
- result = CMT_GetStringAttribute(controlConnection, cert,
- SSM_FID_CERT_ISSUER_NAME, &issuer);
- CMTItemStr serial;
- result = CMT_GetStringAttribute(controlConnection, cert,
- SSM_FID_CERT_SERIAL_NUMBER, &serial);
- //-- Get a principal
- nsresult rv;
- NS_WITH_SERVICE(nsIScriptSecurityManager, secMan,
- NS_SCRIPTSECURITYMANAGER_PROGID, &rv)
- if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
- rv = secMan->GetCertificatePrincipal((char*)issuer.data,
- (char*)serial.data, aPrincipal);
- if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
- }
-
-
- result = CMT_PKCS7DestroyContentInfo(controlConnection, contentInfo);
-
- if(result != CMTSuccess) return NS_ERROR_FAILURE;
- return NS_OK;
-}
diff --git a/netwerk/security/psm/nsPSMComponent.h b/netwerk/security/psm/nsPSMComponent.h
deleted file mode 100644
index c74b8a3ba839..000000000000
--- a/netwerk/security/psm/nsPSMComponent.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "nscore.h"
-#include "nsIPSMComponent.h"
-
-#define NS_PSMCOMPONENT_CID {0xddcae170, 0x5412, 0x11d3, {0xbb, 0xc8, 0x00, 0x00, 0x86, 0x1d, 0x12, 0x37}}
-
-// Implementation of the PSM app shell component interface.
-class nsPSMComponent : public nsIPSMComponent
-{
-public:
- NS_DEFINE_STATIC_CID_ACCESSOR( NS_PSMCOMPONENT_CID );
-
- nsPSMComponent();
- virtual ~nsPSMComponent();
-
- NS_DECL_ISUPPORTS
-
- NS_DECL_NSIPSMCOMPONENT
-
- static NS_METHOD CreatePSMComponent(nsISupports* aOuter, REFNSIID aIID, void **aResult);
-
-private:
-
- PCMT_CONTROL mControl;
-
- nsCOMPtr mSecureBrowserIU;
- static nsPSMComponent* mInstance;
- nsresult PassAllPrefs();
-};
diff --git a/netwerk/security/psm/nsPSMModule.cpp b/netwerk/security/psm/nsPSMModule.cpp
deleted file mode 100644
index e6b5e1c966bf..000000000000
--- a/netwerk/security/psm/nsPSMModule.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "nsIModule.h"
-#include "nsIGenericFactory.h"
-
-#include "nsPSMUICallbacks.h"
-#include "nsPSMComponent.h"
-
-static nsModuleComponentInfo components[] =
-{
- { PSM_COMPONENT_CLASSNAME,
- NS_PSMCOMPONENT_CID,
- PSM_COMPONENT_PROGID,
- nsPSMComponent::CreatePSMComponent},
-
- { PSM_UI_HANLDER_CLASSNAME,
- NS_PSMUIHANDLER_CID,
- PSM_UI_HANLDER_PROGID,
- nsPSMUIHandlerImpl::CreatePSMUIHandler}
-};
-
-NS_IMPL_NSGETMODULE("PSMComponent", components);
diff --git a/netwerk/security/psm/nsPSMMutex.c b/netwerk/security/psm/nsPSMMutex.c
deleted file mode 100644
index e4ca512d9846..000000000000
--- a/netwerk/security/psm/nsPSMMutex.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "prmon.h"
-#include "prtypes.h"
-
-#include "nsPSMMutex.h"
-
-static PRMonitor *_nsPSMMutexVar;
-
-PRStatus
-nsPSMMutexInit()
-{
- if (!_nsPSMMutexVar)
- _nsPSMMutexVar = PR_NewMonitor();
- else
- printf("PSMMutex warning got called twice\n");
-
- return _nsPSMMutexVar ? PR_SUCCESS : PR_FAILURE;
-}
-
-PRStatus
-nsPSMMutexDestroy()
-{
- if (!_nsPSMMutexVar)
- return PR_FAILURE;
-
- PR_Wait(_nsPSMMutexVar, PR_INTERVAL_NO_TIMEOUT);
-
- PR_DestroyMonitor(_nsPSMMutexVar);
- return PR_SUCCESS;
-}
-
-static void
-nsPSMMutexLock(CMTMutexPointer *p)
-{
- PR_EnterMonitor(*(PRMonitor **)p);
- return;
-}
-
-static void
-nsPSMMutexUnlock(CMTMutexPointer *p)
-{
- PR_ExitMonitor(*(PRMonitor **)p);
- return;
-}
-
-CMT_MUTEX nsPSMMutexTbl =
-{
- &_nsPSMMutexVar,
- (CMTMutexFunction)nsPSMMutexLock,
- (CMTMutexFunction)nsPSMMutexUnlock
-};
diff --git a/netwerk/security/psm/nsPSMMutex.h b/netwerk/security/psm/nsPSMMutex.h
deleted file mode 100644
index 85a04359abb9..000000000000
--- a/netwerk/security/psm/nsPSMMutex.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#ifndef _NSPSMMUTEX_H
-#define _NSPSMMUTEX_H
-
-#include "cmtcmn.h"
-
-PR_BEGIN_EXTERN_C
-
-PR_EXTERN(CMT_MUTEX) nsPSMMutexTbl;
-
-PR_EXTERN(PRStatus) nsPSMMutexInit(void);
-PR_EXTERN(PRStatus) nsPSMMutexDestroy(void);
-
-PR_END_EXTERN_C
-
-#endif
diff --git a/netwerk/security/psm/nsPSMShimLayer.c b/netwerk/security/psm/nsPSMShimLayer.c
deleted file mode 100644
index e4ada606e711..000000000000
--- a/netwerk/security/psm/nsPSMShimLayer.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "nspr.h"
-#include "nsPSMShimLayer.h"
-
-#ifdef XP_UNIX
-#include
-#include
-#endif
-
-
-#define NSPSMSHIMMAXFD 50
-
-CMT_SocketFuncs nsPSMShimTbl =
-{
- nsPSMShimGetSocket,
- nsPSMShimConnect,
- nsPSMShimVerifyUnixSocket,
- nsPSMShimSend,
- nsPSMShimSelect,
- nsPSMShimReceive,
- nsPSMShimShutdown,
- nsPSMShimClose
-};
-
-
-CMTSocket
-nsPSMShimGetSocket(int unixSock)
-{
- PRStatus rv;
- PRFileDesc *fd;
- CMSocket *sock;
-
-
- if (unixSock)
- {
-#ifndef XP_UNIX
- return NULL;
-#else
- fd = PR_OpenTCPSocket(AF_UNIX);
- PR_ASSERT(fd);
-#endif
- }
- else
- {
- PRSocketOptionData sockopt;
-
- fd = PR_NewTCPSocket();
- PR_ASSERT(fd);
-
- /* disable Nagle algorithm delay for control sockets */
- sockopt.option = PR_SockOpt_NoDelay;
- sockopt.value.no_delay = PR_TRUE;
-
- rv = PR_SetSocketOption(fd, &sockopt);
- PR_ASSERT(PR_SUCCESS == rv);
- }
-
- sock = (CMSocket *)PR_Malloc(sizeof(CMSocket));
-
- if (sock == NULL)
- return sock;
-
- sock->fd = fd;
- sock->isUnix = unixSock;
-
- memset(&sock->netAddr, 0, sizeof(PRNetAddr));
-
- return (CMTSocket)sock;
-}
-
-CMTStatus
-nsPSMShimConnect(CMTSocket sock, short port, char *path)
-{
- PRStatus err;
- PRErrorCode errcode;
- CMTStatus rv = CMTSuccess;
- CMSocket *cmSock = (CMSocket *)sock;
-
- if (cmSock->isUnix)
- {
-#ifndef XP_UNIX
- return CMTFailure;
-#else
- int pathLen;
- if (!path)
- {
- return CMTFailure;
- }
-
- /* check buffer overrun */
- pathLen = strlen(path)+1;
-
- pathLen = pathLen < sizeof(cmSock->netAddr.local.path)
- ? pathLen : sizeof(cmSock->netAddr.local.path);
-
- memcpy(&cmSock->netAddr.local.path, path, pathLen);
- cmSock->netAddr.local.family = PR_AF_LOCAL;
-#endif
- }
- else /* cmSock->isUnix */
- {
- cmSock->netAddr.inet.family = PR_AF_INET;
- cmSock->netAddr.inet.port = PR_htons(port);
- cmSock->netAddr.inet.ip = PR_htonl(PR_INADDR_LOOPBACK);
- }
-
- err = PR_Connect( cmSock->fd, &cmSock->netAddr, PR_INTERVAL_MAX );
-
- if (err == PR_FAILURE)
- {
- errcode = PR_GetError();
-
- /* TODO: verify PR_INVALID_ARGUMENT_ERROR continue with connect */
-
- switch (errcode)
- {
- case PR_IS_CONNECTED_ERROR:
- rv = CMTSuccess;
- break;
-
- case PR_IN_PROGRESS_ERROR:
- case PR_IO_TIMEOUT_ERROR:
-#ifdef WIN32
- case PR_WOULD_BLOCK_ERROR:
- case PR_INVALID_ARGUMENT_ERROR:
-#endif
- default:
- rv = CMTFailure;
- break;
- }
- }
-
- return rv;
-}
-
-CMTStatus
-nsPSMShimVerifyUnixSocket(CMTSocket sock)
-{
-#ifndef XP_UNIX
- return CMTFailure;
-#else
-
- int rv;
- CMSocket *cmSock = (CMSocket *)sock;
- struct stat statbuf;
-
- if (!cmSock->isUnix)
- return CMTFailure;
-
- rv = stat(cmSock->netAddr.local.path, &statbuf);
- if (rv < 0 || statbuf.st_uid != geteuid() )
- {
- PR_Close(cmSock->fd);
- cmSock->fd = NULL;
- PR_Free(cmSock);
- return CMTFailure;
- }
- return CMTSuccess;
-#endif
-}
-
-size_t
-nsPSMShimSend(CMTSocket sock, void *buffer, size_t length)
-{
- PRInt32 total;
- CMSocket *cmSock = (CMSocket *)sock;
-
- total = PR_Send(cmSock->fd, buffer, length, 0, PR_INTERVAL_NO_TIMEOUT);
-
- /* TODO: for now, return 0 if there's an error */
- return (total < 0) ? 0 : total;
-}
-
-
-CMTSocket
-nsPSMShimSelect(CMTSocket *socks, int numsocks, int poll)
-{
- CMSocket **sockArr = (CMSocket **)socks;
- PRPollDesc readPDs[NSPSMSHIMMAXFD];
- PRIntervalTime timeout;
- PRInt32 cnt;
- int i;
-
- memset(readPDs, 0, sizeof(readPDs));
-
- PR_ASSERT(NSPSMSHIMMAXFD >= numsocks);
-
- for (i=0; ifd;
- readPDs[i].in_flags = PR_POLL_READ;
- }
-
- timeout = poll ? PR_INTERVAL_NO_WAIT : PR_INTERVAL_NO_TIMEOUT;
-
- cnt = PR_Poll(readPDs, numsocks, timeout);
-
- /* Figure out which socket was selected */
- if (cnt > 0)
- {
- for (i=0; ifd, buffer, bufSize, 0, PR_INTERVAL_NO_TIMEOUT);
-
- /* TODO: for now, return 0 if there's an error */
- return (total < 0) ? 0 : total;
-}
-
-CMTStatus
-nsPSMShimShutdown(CMTSocket sock)
-{
- CMSocket *cmSock = (CMSocket*)sock;
- PRStatus rv = PR_Shutdown(cmSock->fd, PR_SHUTDOWN_SEND);
- return (PR_SUCCESS == rv) ? CMTSuccess : CMTFailure;
-}
-
-CMTStatus
-nsPSMShimClose(CMTSocket sock)
-{
- CMSocket *cmSock = (CMSocket*)sock;
- PRStatus rv = PR_SUCCESS;
- PR_ASSERT(cmSock);
-
- rv = PR_Close(cmSock->fd);
- cmSock->fd = NULL;
-
- /* TODO: release ref on control connection */
- PR_Free(cmSock);
-
- return (PR_SUCCESS == rv) ? CMTSuccess : CMTFailure;
-}
diff --git a/netwerk/security/psm/nsPSMShimLayer.h b/netwerk/security/psm/nsPSMShimLayer.h
deleted file mode 100644
index c074478bf9b9..000000000000
--- a/netwerk/security/psm/nsPSMShimLayer.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#ifndef _NSPSMSHIMLAYER_H_
-#define _NSPSMSHIMLAYER_H_
-
-#include "cmtcmn.h"
-
-PR_BEGIN_EXTERN_C
-
-/* TODO: make sure CMSocket is cleaned up */
-typedef struct CMSocket {
- PRFileDesc *fd;
- PRBool isUnix;
- PRNetAddr netAddr;
-} CMSocket;
-
-PR_EXTERN(CMT_SocketFuncs) nsPSMShimTbl;
-
-PR_EXTERN(CMTSocket)
-nsPSMShimGetSocket(int unixSock);
-
-PR_EXTERN(CMTStatus)
-nsPSMShimConnect(CMTSocket sock, short port, char *path);
-
-PR_EXTERN(CMTStatus)
-nsPSMShimVerifyUnixSocket(CMTSocket sock);
-
-PR_EXTERN(size_t)
-nsPSMShimSend(CMTSocket sock, void *buffer, size_t length);
-
-PR_EXTERN(CMTSocket)
-nsPSMShimSelect(CMTSocket *socks, int numsocks, int poll);
-
-PR_EXTERN(size_t)
-nsPSMShimReceive(CMTSocket sock, void *buffer, size_t bufSize);
-
-PR_EXTERN(CMTStatus)
-nsPSMShimShutdown(CMTSocket sock);
-
-PR_EXTERN(CMTStatus)
-nsPSMShimClose(CMTSocket sock);
-
-PR_END_EXTERN_C
-
-#endif /* _NSPSMSHIMLAYER_H_ */
diff --git a/netwerk/security/psm/nsPSMUICallbacks.cpp b/netwerk/security/psm/nsPSMUICallbacks.cpp
deleted file mode 100644
index dc070e0b2b28..000000000000
--- a/netwerk/security/psm/nsPSMUICallbacks.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#include "nsProxiedService.h"
-#include "nsIEventQueueService.h"
-#include "nsPSMUICallbacks.h"
-
-#include "nsINetSupportDialogService.h"
-#include "nsIFileSpecWithUI.h"
-
-
-
-#include "nsAppShellCIDs.h"
-#include "prprf.h"
-
-// Interfaces Needed
-#include "nsIAppShellService.h"
-#include "nsIDocShell.h"
-#include "nsIDOMWindow.h"
-#include "nsIInterfaceRequestor.h"
-#include "nsIPrompt.h"
-#include "nsIScriptGlobalObject.h"
-#include "nsIURL.h"
-#include "nsIXULWindow.h"
-
-static NS_DEFINE_IID(kAppShellServiceCID, NS_APPSHELL_SERVICE_CID);
-static NS_DEFINE_CID(kNetSupportDialogCID, NS_NETSUPPORTDIALOG_CID);
-
-
-// Happy callbacks
-static char * PromptUserCallback(void *arg, char *prompt, int isPasswd);
-static char * FilePathPromptCallback(void *arg, char *prompt, char *fileRegEx, CMUint32 shouldFileExist);
-static void ApplicationFreeCallback(char *userInput);
-static void * CartmanUIHandler(uint32 resourceID, void* clientContext, uint32 width, uint32 height, char* urlStr, void *data);
-extern "C" void CARTMAN_UIEventLoop(void *data);
-
-
-/* nsISupports Implementation for the class */
-NS_IMPL_ISUPPORTS1(nsPSMUIHandlerImpl, nsIPSMUIHandler)
-
-NS_METHOD
-nsPSMUIHandlerImpl::DisplayURI(PRInt32 width, PRInt32 height, const char *urlStr)
-{
- nsresult rv;
-
- NS_WITH_SERVICE(nsIAppShellService, appShell, kAppShellServiceCID, &rv);
- if (NS_SUCCEEDED(rv))
- {
- // get a parent window for the new browser window
- nsCOMPtr parent;
- appShell->GetHiddenWindow(getter_AddRefs(parent));
-
- // convert it to a DOMWindow
- nsCOMPtr docShell;
- if (parent)
- {
- parent->GetDocShell(getter_AddRefs(docShell));
- }
- nsCOMPtr domParent(do_GetInterface(docShell));
- nsCOMPtr sgo(do_QueryInterface(domParent));
-
- nsCOMPtr context;
- if (sgo)
- {
- sgo->GetContext(getter_AddRefs(context));
- }
- if (context)
- {
- JSContext *jsContext = (JSContext*)context->GetNativeContext();
- if (jsContext)
- {
- void *stackPtr;
-
- char buffer[256];
- PR_snprintf(buffer,
- sizeof(buffer),
- "menubar=no,height=%d,width=%d",
- height,
- width );
-
- jsval *argv = JS_PushArguments(jsContext, &stackPtr, "sss", urlStr, "_blank", buffer);
- if (argv)
- {
- // open the window
- nsIDOMWindow *newWindow;
- domParent->Open(jsContext, argv, 3, &newWindow);
- newWindow->ResizeTo(width, height);
- JS_PopArguments(jsContext, stackPtr);
- }
- }
- }
- }
- return rv;
-}
-
-NS_IMETHODIMP
-nsPSMUIHandlerImpl::PromptForFile(const char *prompt, const char *fileRegEx, PRBool shouldFileExist, char **outFile)
-{
- NS_ENSURE_ARG_POINTER(outFile);
- nsIFileSpecWithUI* file = NS_CreateFileSpecWithUI();
-
- if (file == nsnull)
- return NS_ERROR_NULL_POINTER;
-
- nsresult rv = file->ChooseInputFile(prompt,
- nsIFileSpecWithUI::eAllFiles | nsIFileSpecWithUI::eExtraFilter,
- fileRegEx, // FIX name?
- fileRegEx);
-
- if (NS_FAILED(rv))
- return rv;
-
- rv = file->GetNativePath(outFile);
-
- NS_RELEASE(file);
-
- return rv;
-}
-
-NS_METHOD
-nsPSMUIHandlerImpl::CreatePSMUIHandler(nsISupports* aOuter, REFNSIID aIID, void **aResult)
-{
- nsresult rv = NS_OK;
- if ( aResult )
- {
- /* Allocate new find component object. */
- nsPSMUIHandlerImpl *component = new nsPSMUIHandlerImpl();
- if ( component )
- {
- /* Allocated OK, do query interface to get proper */
- /* pointer and increment refcount. */
- rv = component->QueryInterface( aIID, aResult );
- if ( NS_FAILED( rv ) )
- {
- /* refcount still at zero, delete it here. */
- delete component;
- }
- }
- else
- {
- rv = NS_ERROR_OUT_OF_MEMORY;
- }
- }
- else
- {
- rv = NS_ERROR_NULL_POINTER;
- }
- return rv;
-}
-
-
-
-extern "C" void CARTMAN_UIEventLoop(void *data)
-{
- CMT_EventLoop((PCMT_CONTROL)data);
-}
-
-PRStatus InitPSMUICallbacks(PCMT_CONTROL control)
-{
- if (!control)
- return PR_FAILURE;
-
- CMT_SetPromptCallback(control, (promptCallback_fn)PromptUserCallback, nsnull);
- CMT_SetAppFreeCallback(control, (applicationFreeCallback_fn) ApplicationFreeCallback);
- CMT_SetFilePathPromptCallback(control, (filePathPromptCallback_fn) FilePathPromptCallback, nsnull);
-
- if (CMT_SetUIHandlerCallback(control, (uiHandlerCallback_fn) CartmanUIHandler, NULL) != CMTSuccess)
- return PR_FAILURE;
-
- PR_CreateThread(PR_USER_THREAD,
- CARTMAN_UIEventLoop,
- control,
- PR_PRIORITY_NORMAL,
- PR_GLOBAL_THREAD,
- PR_UNJOINABLE_THREAD,
- 0);
-
- return PR_SUCCESS;
-}
-
-PRStatus DisplayPSMUIDialog(PCMT_CONTROL control, void *arg)
-{
- CMUint32 advRID = 0;
- CMInt32 width = 0;
- CMInt32 height = 0;
- CMTItem urlItem = {0, NULL, 0};
- CMTStatus rv = CMTSuccess;
- CMTItem advisorContext = {0, NULL, 0};
- void * pwin;
-
- CMTSecurityAdvisorData data;
- memset(&data, '\0', sizeof(CMTSecurityAdvisorData));
-
- /* Create a Security Advisor context object. */
- rv = CMT_SecurityAdvisor(control, &data, &advRID);
-
- if (rv != CMTSuccess)
- return PR_FAILURE;
-
- /* Get the URL, width, height, etc. from the advisor context. */
- rv = CMT_GetStringAttribute(control,
- advRID,
- SSM_FID_SECADVISOR_URL,
- &urlItem);
-
- if ((rv != CMTSuccess) || (!urlItem.data))
- return PR_FAILURE;
-
- rv = CMT_GetNumericAttribute(control,
- advRID,
- SSM_FID_SECADVISOR_WIDTH,
- &width);
- if (rv != CMTSuccess)
- return PR_FAILURE;
-
- rv = CMT_GetNumericAttribute(control,
- advRID,
- SSM_FID_SECADVISOR_HEIGHT,
- &height);
- if (rv != CMTSuccess)
- return PR_FAILURE;
-
- /* Fire the URL up in a window of its own. */
- pwin = CartmanUIHandler(advRID, arg, width, height, (char*)urlItem.data, NULL);
- return PR_SUCCESS;
-}
-
-
-
-void* CartmanUIHandler(uint32 resourceID, void* clientContext, uint32 width, uint32 height, char* urlStr, void *data)
-{
- nsresult rv = NS_OK;
-
- NS_WITH_PROXIED_SERVICE(nsIPSMUIHandler, handler, nsPSMUIHandlerImpl::GetCID(), NS_UI_THREAD_EVENTQ, &rv);
-
- if(NS_SUCCEEDED(rv))
- handler->DisplayURI(width, height, urlStr);
-
- return nsnull;
-}
-
-
-
-char * PromptUserCallback(void *arg, char *prompt, int isPasswd)
-{
-
- nsresult rv = NS_OK;
- PRUnichar *password;
- PRInt32 value;
-
- NS_WITH_PROXIED_SERVICE(nsIPrompt, dialog, kNetSupportDialogCID, NS_UI_THREAD_EVENTQ, &rv);
-
- if (NS_SUCCEEDED(rv)) {
- rv = dialog->PromptPassword(nsString(prompt).GetUnicode(), nsnull /* window title */, &password, &value);
-
- if (NS_SUCCEEDED(rv)) {
- nsString a(password);
- char* str = a.ToNewCString();
- Recycle(password);
- return str;
- }
- }
-
- return nsnull;
-}
-
-void ApplicationFreeCallback(char *userInput)
-{
- nsAllocator::Free(userInput);
-}
-
-char * FilePathPromptCallback(void *arg, char *prompt, char *fileRegEx, CMUint32 shouldFileExist)
-{
- nsresult rv = NS_OK;
-
- char* filePath = nsnull;
-
- NS_WITH_PROXIED_SERVICE(nsIPSMUIHandler, handler, nsPSMUIHandlerImpl::GetCID(), NS_UI_THREAD_EVENTQ, &rv);
-
- if(NS_SUCCEEDED(rv))
- handler->PromptForFile(prompt, fileRegEx, (PRBool)shouldFileExist, &filePath);
-
- return filePath;
-}
diff --git a/netwerk/security/psm/nsPSMUICallbacks.h b/netwerk/security/psm/nsPSMUICallbacks.h
deleted file mode 100644
index e87cf9f58ac0..000000000000
--- a/netwerk/security/psm/nsPSMUICallbacks.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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 Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
-*/
-
-#ifndef _NSPSMUICALLBACKS_H
-#define _NSPSMUICALLBACKS_H
-
-#include "prtypes.h"
-#include "nsIPSMUIHandler.h"
-
-PR_BEGIN_EXTERN_C
-
-#include "cmtcmn.h" /* fix */
-#include "cmtjs.h"
-
-PRStatus InitPSMUICallbacks(PCMT_CONTROL gControl);
-PRStatus DisplayPSMUIDialog(PCMT_CONTROL control, void *arg);
-
-PR_END_EXTERN_C
-
-#define NS_PSMUIHANDLER_CID {0x15944e30, 0x601e, 0x11d3, {0x8c, 0x4a, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74}}
-
-class nsPSMUIHandlerImpl : public nsIPSMUIHandler
-{
- public:
-
- NS_DEFINE_STATIC_CID_ACCESSOR( NS_PSMUIHANDLER_CID );
-
- /* ctor/dtor */
- nsPSMUIHandlerImpl() { NS_INIT_REFCNT(); }
- virtual ~nsPSMUIHandlerImpl() { }
-
- NS_DECL_ISUPPORTS
- NS_DECL_NSIPSMUIHANDLER
-
- static NS_METHOD CreatePSMUIHandler(nsISupports* aOuter, REFNSIID aIID, void **aResult);
-};
-
-#endif