--- /dev/null
+#
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is mozilla.org code.
+#
+# The Initial Developer of the Original Code is
+# Netscape Communications Corporation.
+# Portions created by the Initial Developer are Copyright (C) 2002
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+
+DEPTH = ../../..
+topsrcdir = @top_srcdir@
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+include $(DEPTH)/config/autoconf.mk
+
+include $(topsrcdir)/config/rules.mk
+
+FILES := \
+ mimeTypes.rdf \
+ localstore.rdf \
+ $(NULL)
+
+libs:: $(FILES)
+ $(SYSINSTALL) $(IFLAGS1) $^ $(DIST)/bin/defaults/profile
+
+install:: $(FILES)
+ $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/defaults/profile
--- /dev/null
+<?xml version="1.0"?>
+<!--
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is Mozilla Communicator
+#
+# The Initial Developer of the Original Code is
+# Netscape Communications Corp..
+# Portions created by the Initial Developer are Copyright (C) 2002
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the LGPL or the GPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+-->
+
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://messenger/skin/smime/msgCompSecurityInfo.css" type="text/css"?>
+
+<!DOCTYPE dialog SYSTEM "chrome://messenger-smime/locale/msgCompSecurityInfo.dtd">
+
+<dialog id="msgCompSecurityInfo" title="&title.label;"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ style="width: 50em;"
+ persist="width height"
+ buttons="accept"
+ onload="onLoad();">
+
+ <script type="application/javascript" src="chrome://messenger-smime/content/msgCompSecurityInfo.js"/>
+
+ <stringbundle id="bundle_smime_comp_info" src="chrome://messenger-smime/locale/msgCompSecurityInfo.properties"/>
+
+ <description>&subject.plaintextWarning;</description>
+ <separator class="thin"/>
+ <description>&status.heading;</description>
+ <grid>
+ <columns>
+ <column/>
+ <column/>
+ </columns>
+ <rows>
+ <row>
+ <label value="&status.signed;"/>
+ <label id="signed"/>
+ </row>
+ <row>
+ <label value="&status.encrypted;"/>
+ <label id="encrypted"/>
+ </row>
+ </rows>
+ </grid>
+
+ <separator class="thin"/>
+ <label value="&status.certificates;" control="infolist"/>
+
+ <listbox id="infolist" flex="1"
+ onselect="onSelectionChange(event);">
+ <listcols>
+ <listcol flex="3" width="0"/>
+ <splitter class="tree-splitter"/>
+ <listcol flex="1" width="0"/>
+ <splitter class="tree-splitter"/>
+ <listcol flex="2" width="0"/>
+ <splitter class="tree-splitter"/>
+ <listcol flex="2" width="0"/>
+ </listcols>
+ <listhead>
+ <listheader label="&tree.recipient;"/>
+ <listheader label="&tree.status;"/>
+ <listheader label="&tree.issuedDate;"/>
+ <listheader label="&tree.expiresDate;"/>
+ </listhead>
+ </listbox>
+ <hbox pack="start">
+ <button id="viewCertButton" disabled="true"
+ label="&view.label;" accesskey="&view.accesskey;"
+ oncommand="viewSelectedCert();"/>
+ </hbox>
+</dialog>
--- /dev/null
+<?xml version="1.0"?>
+
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is Netscape Communicator.
+#
+# The Initial Developer of the Original Code is
+# Netscape Communications Corporation.
+# Portions created by the Initial Developer are Copyright (C) 2002
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the LGPL or the GPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK ***** -->
+
+<?xml-stylesheet href="chrome://messenger/skin/smime/msgReadSMIMEOverlay.css" type="text/css"?>
+
+<!DOCTYPE overlay SYSTEM "chrome://messenger-smime/locale/msgReadSMIMEOverlay.dtd">
+
+<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+ <script type="application/javascript" src="chrome://messenger-smime/content/msgReadSMIMEOverlay.js"/>
+
+ <stringbundleset id="stringbundleset">
+ <stringbundle id="bundle_read_smime" src="chrome://messenger-smime/locale/msgReadSMIMEOverlay.properties"/>
+ <stringbundle id="bundle_brand" src="chrome://branding/locale/brand.properties"/>
+ </stringbundleset>
+
+ <commandset id="mailViewMenuItems">
+ <command id="cmd_viewSecurityStatus" oncommand="showMessageReadSecurityInfo();" disabled="true"/>
+ </commandset>
+
+ <menupopup id="menu_View_Popup">
+ <menuitem id="menu_securityStatus" insertafter="pageSourceMenuItem"
+ label="&menu_securityStatus.label;" accesskey="&menu_securityStatus.accesskey;"
+ observes="cmd_viewSecurityStatus"/>
+ </menupopup>
+
+</overlay>
--- /dev/null
+messenger.jar:
+% content messenger-smime %content/messenger-smime/ xpcnativewrappers=yes
+% overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://messenger-smime/content/msgCompSMIMEOverlay.xul
+% overlay chrome://messenger/content/msgHdrViewOverlay.xul chrome://messenger-smime/content/msgHdrViewSMIMEOverlay.xul
+% overlay chrome://messenger/content/messenger.xul chrome://messenger-smime/content/msgReadSMIMEOverlay.xul
+% overlay chrome://messenger/content/messageWindow.xul chrome://messenger-smime/content/msgReadSMIMEOverlay.xul
+% overlay chrome://messenger/content/am-identity-edit.xul chrome://messenger/content/am-smimeIdentityEditOverlay.xul
+* content/messenger-smime/msgReadSMIMEOverlay.xul (content/msgReadSMIMEOverlay.xul)
+* content/messenger-smime/msgCompSMIMEOverlay.xul (content/msgCompSMIMEOverlay.xul)
+* content/messenger-smime/msgCompSMIMEOverlay.js (content/msgCompSMIMEOverlay.js)
+* content/messenger-smime/msgCompSecurityInfo.xul (content/msgCompSecurityInfo.xul)
+* content/messenger-smime/msgHdrViewSMIMEOverlay.js (content/msgHdrViewSMIMEOverlay.js)
+ content/messenger-smime/msgHdrViewSMIMEOverlay.xul (content/msgHdrViewSMIMEOverlay.xul)
+ content/messenger/am-smime.xul (/mailnews/extensions/smime/content/am-smime.xul)
+ content/messenger/am-smime.js (/mailnews/extensions/smime/content/am-smime.js)
+ content/messenger/am-smimeIdentityEditOverlay.xul (/mailnews/extensions/smime/content/am-smimeIdentityEditOverlay.xul)
+ content/messenger/am-smimeOverlay.xul (/mailnews/extensions/smime/content/am-smimeOverlay.xul)
+ content/messenger-smime/msgReadSMIMEOverlay.js (/mailnews/extensions/smime/content/msgReadSMIMEOverlay.js)
+ content/messenger-smime/msgCompSecurityInfo.js (/mailnews/extensions/smime/content/msgCompSecurityInfo.js)
+ content/messenger-smime/msgReadSecurityInfo.xul (/mailnews/extensions/smime/content/msgReadSecurityInfo.xul)
+ content/messenger-smime/msgReadSecurityInfo.js (/mailnews/extensions/smime/content/msgReadSecurityInfo.js)
+ content/messenger-smime/certFetchingStatus.xul (/mailnews/extensions/smime/content/certFetchingStatus.xul)
+ content/messenger-smime/certFetchingStatus.js (/mailnews/extensions/smime/content/certFetchingStatus.js)
--- /dev/null
+; Package file for the Thunderbird build.
+;
+; File format:
+;
+; [] designates a toplevel component. Example: [xpcom]
+; * wildcard
+; ; file comment
+;
+
+#filter substitution
+
+#ifdef XP_UNIX
+#ifndef XP_MACOSX
+#define UNIX_BUT_NOT_MAC
+#endif
+#endif
+
+#ifdef XP_MACOSX
+; Mac bundle stuff
+@APPNAME@/Contents/Info.plist
+@APPNAME@/Contents/PkgInfo
+@APPNAME@/Contents/Plug-Ins/
+@APPNAME@/Contents/Resources/
+#endif
+
+[@AB_CD@]
+@BINPATH@/chrome/@AB_CD@.jar
+@BINPATH@/chrome/@AB_CD@.manifest
+@BINPATH@/@PREF_DIR@/all-l10n.js
+@BINPATH@/dictionaries/*
+#ifdef XP_WIN32
+@BINPATH@/uninstall/helper.exe
+#endif
+@BINPATH@/update.locale
+@BINPATH@/updater.ini
+
+[xpcom]
+@BINPATH@/@DLL_PREFIX@xpcom@DLL_SUFFIX@
+#ifdef XP_OS2
+@BINPATH@/@DLL_PREFIX@xpcomcor@DLL_SUFFIX@
+#else
+@BINPATH@/@DLL_PREFIX@xpcom_core@DLL_SUFFIX@
+#endif
+@BINPATH@/@DLL_PREFIX@nspr4@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@plc4@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@plds4@DLL_SUFFIX@
+#ifdef MOZ_IPC
+@BINPATH@/mozilla-runtime@BIN_SUFFIX@
+#endif
+#ifndef MOZILLA_1_9_2_BRANCH
+@BINPATH@/@DLL_PREFIX@mozjs@DLL_SUFFIX@
+#elifdef XP_WIN32
+@BINPATH@/@DLL_PREFIX@js3250@DLL_SUFFIX@
+#else
+@BINPATH@/@DLL_PREFIX@mozjs@DLL_SUFFIX@
+#endif
+#ifndef XP_WIN32
+@BINPATH@/components/@DLL_PREFIX@jsd@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@jsd3250@DLL_SUFFIX@
+#endif
+#ifndef MOZILLA_1_9_2_BRANCH
+#ifndef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@xpinstall@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@xpinstal@DLL_SUFFIX@
+#endif
+#elifndef XP_UNIX
+@BINPATH@/components/@DLL_PREFIX@xpinstal@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@xpinstall@DLL_SUFFIX@
+#endif
+#ifdef XP_WIN32
+#ifndef MOZ_MEMORY
+@BINPATH@/Microsoft.VC80.CRT.manifest
+@BINPATH@/msvcm80.dll
+@BINPATH@/msvcp80.dll
+@BINPATH@/msvcr80.dll
+#else
+@BINPATH@/mozcrt19.dll
+@BINPATH@/mozcpp19.dll
+#endif
+#endif
+#ifndef MOZILLA_1_9_2_BRANCH
+@BINPATH@/@DLL_PREFIX@mozalloc@DLL_SUFFIX@
+#endif
+
+; Modules
+@BINPATH@/modules/*
+@BINPATH@/modules/activity/*
+@BINPATH@/modules/gloda/*
+
+; Optional RSS extension
+[newsblog]
+@BINPATH@/chrome/newsblog.jar
+@BINPATH@/chrome/newsblog.manifest
+@BINPATH@/components/newsblog.js
+
+[mail]
+#ifndef XP_UNIX
+@BINPATH@/@MOZ_APP_NAME@.exe
+#else
+@BINPATH@/@MOZ_APP_NAME@-bin
+#ifndef XP_MACOSX
+@BINPATH@/@MOZ_APP_NAME@
+#endif
+#endif
+@BINPATH@/application.ini
+@BINPATH@/platform.ini
+@BINPATH@/README.txt
+#ifdef MOZILLA_1_9_2_BRANCH
+@BINPATH@/@DLL_PREFIX@sqlite3@DLL_SUFFIX@
+#else
+#ifdef XP_OS2
+@BINPATH@/@DLL_PREFIX@mozsqlt3@DLL_SUFFIX@
+#else
+@BINPATH@/@DLL_PREFIX@mozsqlite3@DLL_SUFFIX@
+#endif
+#endif
+#ifdef UNIX_BUT_NOT_MAC
+@BINPATH@/run-mozilla.sh
+@BINPATH@/icons/*.png
+#endif
+
+; [OS/2]
+#ifdef XP_OS2
+@BINPATH@/MozSounds.cmd
+#endif
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Mail Specific Files
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+@BINPATH@/defaults/messenger/mailViews.dat
+@BINPATH@/defaults/profile/localstore.rdf
+@BINPATH@/defaults/profile/prefs.js
+@BINPATH@/defaults/profile/mimeTypes.rdf
+
+@BINPATH@/isp/*
+
+@BINPATH@/components/components.list
+@BINPATH@/components/aboutRights.js
+@BINPATH@/components/activity.xpt
+@BINPATH@/components/addrbook.xpt
+@BINPATH@/components/fts3tok.xpt
+@BINPATH@/components/mime.xpt
+@BINPATH@/components/steel.xpt
+@BINPATH@/components/msgAsyncPrompter.js
+@BINPATH@/components/msgbase.xpt
+@BINPATH@/components/msgcompose.xpt
+@BINPATH@/components/msgdb.xpt
+@BINPATH@/components/msgimap.xpt
+@BINPATH@/components/msglocal.xpt
+@BINPATH@/components/msgnews.xpt
+@BINPATH@/components/msgsearch.xpt
+@BINPATH@/components/import.xpt
+@BINPATH@/components/impComm4xMail.xpt
+@BINPATH@/components/mailview.xpt
+@BINPATH@/components/mailprofilemigration.xpt
+@BINPATH@/components/nsActivity.js
+@BINPATH@/components/nsActivityManager.js
+@BINPATH@/components/nsActivityManagerUI.js
+@BINPATH@/components/nsMailNewsCommandLineHandler.js
+#ifndef XP_OS2
+@BINPATH@/components/shellservice.xpt
+#endif
+@BINPATH@/components/xpcom_base.xpt
+@BINPATH@/components/xpcom_system.xpt
+@BINPATH@/components/xpcom_components.xpt
+@BINPATH@/components/xpcom_ds.xpt
+@BINPATH@/components/xpcom_io.xpt
+#ifndef MOZILLA_1_9_2_BRANCH
+@BINPATH@/components/xpcom_threads.xpt
+#elifdef XP_WIN32
+@BINPATH@/components/xpcom_thread.xpt
+#else
+@BINPATH@/components/xpcom_threads.xpt
+#endif
+@BINPATH@/components/xpcom_xpti.xpt
+@BINPATH@/chrome/toolkit.jar
+@BINPATH@/chrome/toolkit.manifest
+@BINPATH@/chrome/comm.jar
+@BINPATH@/chrome/comm.manifest
+@BINPATH@/chrome/messenger.jar
+@BINPATH@/chrome/messenger.manifest
+#ifndef XP_UNIX
+@BINPATH@/chrome/icons/default/abcardWindow.ico
+@BINPATH@/chrome/icons/default/addressbookWindow.ico
+@BINPATH@/chrome/icons/default/messengerWindow.ico
+@BINPATH@/chrome/icons/default/msgcomposeWindow.ico
+#elifdef UNIX_BUT_NOT_MAC
+@BINPATH@/chrome/icons/default/*.png
+#endif
+@BINPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+@BINPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
+@BINPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/preview.png
+
+; Gloda
+@BINPATH@/chrome/gloda.jar
+@BINPATH@/chrome/gloda.manifest
+@BINPATH@/components/glautocomp.js
+@BINPATH@/components/jsmimeemitter.js
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Mail Extensions (smime, etc.)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#ifdef XP_WIN32
+@BINPATH@/MapiProxy.dll
+@BINPATH@/mozMapi32.dll
+@BINPATH@/components/mapihook.xpt
+#endif
+@BINPATH@/components/mailContentHandler.js
+@BINPATH@/components/nsMailDefaultHandler.js
+#ifndef XP_OS2
+@BINPATH@/components/nsSetDefaultMail.js
+#endif
+@BINPATH@/components/offlineStartup.js
+@BINPATH@/components/steelApplication.js
+
+
+@BINPATH@/components/mdn-service.js
+
+@BINPATH@/components/smime-service.js
+@BINPATH@/components/msgsmime.xpt
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Chrome Files
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+@BINPATH@/chrome/classic.jar
+@BINPATH@/chrome/classic.manifest
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Default Profile Settings
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; default pref files
+@BINPATH@/defaults/pref/all-thunderbird.js
+@BINPATH@/defaults/pref/channel-prefs.js
+@BINPATH@/defaults/pref/composer.js
+@BINPATH@/defaults/pref/mailnews.js
+@BINPATH@/defaults/pref/mdn.js
+@BINPATH@/defaults/pref/smime.js
+@BINPATH@/defaults/pref/thunderbird-branding.js
+#ifdef MOZILLA_1_9_2_BRANCH
+@BINPATH@/greprefs/*
+#else
+@BINPATH@/greprefs.js
+#endif
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; App extensions to Mail
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; LDAP components
+@BINPATH@/components/mozldap.xpt
+@BINPATH@/components/nsAbLDAPAttributeMap.js
+@BINPATH@/components/nsLDAPProtocolHandler.js
+#ifdef XP_WIN32
+@BINPATH@/nsldap32v60@DLL_SUFFIX@
+@BINPATH@/nsldappr32v60@DLL_SUFFIX@
+@BINPATH@/nsldif32v60@DLL_SUFFIX@
+#else
+@BINPATH@/@DLL_PREFIX@ldap60@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@ldif60@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@prldap60@DLL_SUFFIX@
+#endif
+
+; login manager
+@BINPATH@/components/loginmgr.xpt
+@BINPATH@/components/nsLoginInfo.js
+@BINPATH@/components/nsLoginManager.js
+@BINPATH@/components/nsLoginManagerPrompter.js
+@BINPATH@/components/storage-Legacy.js
+@BINPATH@/components/storage-mozStorage.js
+#ifndef MOZILLA_1_9_2_BRANCH
+@BINPATH@/components/crypto-SDR.js
+#endif
+
+; download progress
+@BINPATH@/components/nsHelperAppDlg.js
+@BINPATH@/components/nsDownloadManagerUI.js
+@BINPATH@/components/downloads.xpt
+
+; Protocol/Content handling
+@BINPATH@/components/nsContentDispatchChooser.js
+@BINPATH@/components/nsHandlerService.js
+@BINPATH@/components/nsWebHandlerApp.js
+@BINPATH@/components/nsSMTPProtocolHandler.js
+
+; spellchecker (may not be present)
+@BINPATH@/components/spellchecker.xpt
+
+; xpinstall (needed to dynamically install themes
+@BINPATH@/components/xpinstall.xpt
+
+; misson control, autoconfig
+@BINPATH@/defaults/autoconfig/platform.js
+@BINPATH@/defaults/autoconfig/prefcalls.js
+@BINPATH@/components/autoconfig.xpt
+
+; Phishing Protection
+@BINPATH@/components/nsPhishingProtectionApplication.js
+@BINPATH@/components/nsUrlClassifierListManager.js
+@BINPATH@/components/nsUrlClassifierLib.js
+@BINPATH@/components/url-classifier.xpt
+
+; Address Book autocomplete
+@BINPATH@/components/nsAbAutoCompleteMyDomain.js
+@BINPATH@/components/nsAbAutoCompleteSearch.js
+
+; Windows Search integration
+; the module is included as part of the "Modules" rule
+#ifdef XP_WIN32
+@BINPATH@/components/mailwinsearch.xpt
+@BINPATH@/WSEnable.exe
+#endif
+
+; Bayesian trait analysis
+@BINPATH@/components/nsMsgTraitService.js
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Base Package Files
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; xpconnect
+@BINPATH@/components/xpconnect.xpt
+
+; XP widgets/graphics
+@BINPATH@/components/widget.xpt
+#ifdef XP_MACOSX
+@BINPATH@/components/widget_cocoa.xpt
+#endif
+@BINPATH@/components/gfx.xpt
+
+; layout
+@BINPATH@/components/content_base.xpt
+#ifndef MOZILLA_1_9_2_BRANCH
+@BINPATH@/components/content_canvas.xpt
+#endif
+@BINPATH@/components/content_events.xpt
+@BINPATH@/components/content_html.xpt
+@BINPATH@/components/content_htmldoc.xpt
+@BINPATH@/components/content_xmldoc.xpt
+@BINPATH@/components/content_xslt.xpt
+@BINPATH@/components/content_xtf.xpt
+#ifdef MOZILLA_1_9_2_BRANCH
+@BINPATH@/components/contentprefs.xpt
+#endif
+@BINPATH@/components/htmlparser.xpt
+@BINPATH@/components/layout_base.xpt
+#ifdef NS_PRINTING
+@BINPATH@/components/layout_printing.xpt
+#endif
+@BINPATH@/components/layout_xul.xpt
+@BINPATH@/components/xulapp.xpt
+@BINPATH@/components/xuldoc.xpt
+@BINPATH@/components/xultmpl.xpt
+
+@BINPATH@/components/inspector.xpt
+
+; Imaging:
+@BINPATH@/components/imgicon.xpt
+@BINPATH@/components/imglib2.xpt
+#ifdef UNIX_BUT_NOT_MAC
+@BINPATH@/components/@DLL_PREFIX@imgicon@DLL_SUFFIX@
+#endif
+
+; accessibility (out of process API support)
+#ifdef ACCESSIBILITY
+@BINPATH@/components/accessibility.xpt
+#ifdef XP_WIN32
+@BINPATH@/components/accessibility-msaa.xpt
+@BINPATH@/AccessibleMarshal.dll
+#endif
+#endif
+
+; caps (JavaScript security)
+@BINPATH@/components/caps.xpt
+
+; glue: appshell, docshell, uriloader, chrome, components
+@BINPATH@/components/appshell.xpt
+@BINPATH@/components/appstartup.xpt
+#ifndef MOZILLA_1_9_2_BRANCH
+@BINPATH@/components/docshell.xpt
+#elifdef XP_WIN32
+@BINPATH@/components/docshell_base.xpt
+#else
+@BINPATH@/components/docshell.xpt
+#endif
+@BINPATH@/components/uriloader.xpt
+@BINPATH@/components/webBrowser_core.xpt
+@BINPATH@/components/windowwatcher.xpt
+@BINPATH@/components/webbrowserpersist.xpt
+@BINPATH@/components/commandhandler.xpt
+#ifdef MOZILLA_1_9_2_BRANCH
+@BINPATH@/components/mozbrwsr.xpt
+#endif
+
+; jar
+@BINPATH@/components/jar.xpt
+
+; prefs
+@BINPATH@/components/pref.xpt
+
+; profile
+@BINPATH@/components/profile.xpt
+@BINPATH@/components/toolkitprofile.xpt
+
+; toolkit
+@BINPATH@/components/commandlines.xpt
+@BINPATH@/components/chrome.xpt
+@BINPATH@/components/nsDefaultCLH.js
+@BINPATH@/components/nsFormAutoComplete.js
+#ifdef XP_MACOSX
+@BINPATH@/components/libalerts_s.dylib
+#elifdef XP_UNIX
+@BINPATH@/components/toolkitremote.xpt
+@BINPATH@/mozilla-xremote-client
+#endif
+#ifdef MOZ_GTK2
+@BINPATH@/components/filepicker.xpt
+@BINPATH@/components/nsFilePicker.js
+#endif
+#ifdef MOZ_ENABLE_DBUS
+@BINPATH@/components/@DLL_PREFIX@dbusservice@DLL_SUFFIX@
+#endif
+
+; rdf
+@BINPATH@/components/rdf.xpt
+
+; required i18n libraries
+@BINPATH@/components/intl.xpt
+@BINPATH@/components/locale.xpt
+@BINPATH@/components/uconv.xpt
+@BINPATH@/components/unicharutil.xpt
+
+; dom
+@BINPATH@/components/dom.xpt
+@BINPATH@/components/dom_base.xpt
+@BINPATH@/components/dom_canvas.xpt
+@BINPATH@/components/dom_core.xpt
+@BINPATH@/components/dom_css.xpt
+@BINPATH@/components/dom_events.xpt
+@BINPATH@/components/dom_geolocation.xpt
+@BINPATH@/components/dom_html.xpt
+@BINPATH@/components/dom_json.xpt
+@BINPATH@/components/dom_offline.xpt
+@BINPATH@/components/dom_range.xpt
+@BINPATH@/components/dom_sidebar.xpt
+#ifdef MOZ_SMIL
+@BINPATH@/components/dom_smil.xpt
+#endif
+@BINPATH@/components/dom_storage.xpt
+@BINPATH@/components/dom_stylesheets.xpt
+@BINPATH@/components/dom_threads.xpt
+@BINPATH@/components/dom_traversal.xpt
+@BINPATH@/components/dom_views.xpt
+@BINPATH@/components/dom_xbl.xpt
+@BINPATH@/components/dom_xul.xpt
+@BINPATH@/components/dom_loadsave.xpt
+@BINPATH@/components/NetworkGeolocationProvider.js
+@BINPATH@/components/GPSDGeolocationProvider.js
+
+; editor / composer for HTML compose
+@BINPATH@/components/editor.xpt
+@BINPATH@/components/composer.xpt
+@BINPATH@/components/txmgr.xpt
+
+; find functionality
+@BINPATH@/components/txtsvc.xpt
+
+; moz storage
+@BINPATH@/components/storage.xpt
+
+; netwerk
+@BINPATH@/components/necko.xpt
+@BINPATH@/components/necko_about.xpt
+@BINPATH@/components/necko_dns.xpt
+@BINPATH@/components/necko_http.xpt
+@BINPATH@/components/necko_res.xpt
+@BINPATH@/components/necko_strconv.xpt
+@BINPATH@/components/necko_file.xpt
+@BINPATH@/components/necko_ftp.xpt
+@BINPATH@/components/necko_cache.xpt
+@BINPATH@/components/necko_cookie.xpt
+@BINPATH@/components/necko_socket.xpt
+@BINPATH@/components/necko_viewsource.xpt
+@BINPATH@/components/necko_wifi.xpt
+@BINPATH@/components/nsProxyAutoConfig.js
+
+; extensions
+@BINPATH@/components/nsAddonRepository.js
+@BINPATH@/components/nsExtensionManager.js
+@BINPATH@/components/nsBlocklistService.js
+#ifdef MOZ_UPDATER
+@BINPATH@/components/nsUpdateService.js
+@BINPATH@/components/nsUpdateServiceStub.js
+#endif
+@BINPATH@/components/nsUpdateTimerManager.js
+@BINPATH@/components/extensions.xpt
+@BINPATH@/components/update.xpt
+#ifdef MOZ_WEBSERVICES
+@BINPATH@/components/websrvcs.xpt
+#endif
+@BINPATH@/components/nsURLFormatter.js
+@BINPATH@/components/urlformatter.xpt
+@BINPATH@/components/nsContentPrefService.js
+
+; plugins
+@BINPATH@/components/plugin.xpt
+
+; [Personal Security Manager]
+@BINPATH@/@DLL_PREFIX@nssckbi@DLL_SUFFIX@
+@BINPATH@/components/pipboot.xpt
+@BINPATH@/components/pipnss.xpt
+@BINPATH@/components/pippki.xpt
+@BINPATH@/@DLL_PREFIX@nss3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@nssutil3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@smime3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@softokn3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@ssl3@DLL_SUFFIX@
+#ifndef CROSS_COMPILE
+@BINPATH@/@DLL_PREFIX@freebl3.chk
+@BINPATH@/@DLL_PREFIX@softokn3.chk
+#endif
+#ifndef NSS_DISABLE_DBM
+@BINPATH@/@DLL_PREFIX@nssdbm3@DLL_SUFFIX@
+#ifndef CROSS_COMPILE
+@BINPATH@/@DLL_PREFIX@nssdbm3.chk
+#endif
+#endif
+@BINPATH@/chrome/pippki.jar
+@BINPATH@/chrome/pippki.manifest
+
+; for Solaris SPARC
+#ifdef SOLARIS
+@BINPATH@/@DLL_PREFIX@freebl_32fpu_3.chk
+@BINPATH@/@DLL_PREFIX@freebl_32fpu_3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl_32int_3.chk
+@BINPATH@/@DLL_PREFIX@freebl_32int_3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl_32int64_3.chk
+@BINPATH@/@DLL_PREFIX@freebl_32int64_3@DLL_SUFFIX@
+#endif
+
+; core platform files
+@BINPATH@/components/FeedProcessor.js
+@BINPATH@/components/xpautocomplete.xpt
+@BINPATH@/components/autocomplete.xpt
+@BINPATH@/components/alerts.xpt
+@BINPATH@/components/jsdservice.xpt
+@BINPATH@/components/fastfind.xpt
+@BINPATH@/components/find.xpt
+@BINPATH@/components/chardet.xpt
+#ifndef MOZILLA_1_9_2_BRANCH
+@BINPATH@/components/contentSecurityPolicy.js
+#endif
+@BINPATH@/components/jsconsole-clhandler.js
+@BINPATH@/components/layout_xul_tree.xpt
+@BINPATH@/components/mozfind.xpt
+@BINPATH@/components/mimetype.xpt
+@BINPATH@/components/parentalcontrols.xpt
+#ifndef MOZILLA_1_9_2_BRANCH
+@BINPATH@/components/proxyObject.xpt
+#elifndef XP_WIN32
+@BINPATH@/components/proxyObjInst.xpt
+#else
+@BINPATH@/components/proxyObject.xpt
+#endif
+@BINPATH@/components/exthandler.xpt
+@BINPATH@/components/exthelper.xpt
+@BINPATH@/components/embed_base.xpt
+@BINPATH@/components/webshell_idls.xpt
+@BINPATH@/components/windowds.xpt
+@BINPATH@/components/dom_xpath.xpt
+@BINPATH@/components/lwbrk.xpt
+@BINPATH@/components/nsINIProcessor.js
+@BINPATH@/components/nsTryToClose.js
+@BINPATH@/components/pluginGlue.js
+@BINPATH@/components/txEXSLTRegExFunctions.js
+@BINPATH@/components/feeds.xpt
+@BINPATH@/components/saxparser.xpt
+@BINPATH@/components/satchel.xpt
+@BINPATH@/components/shistory.xpt
+@BINPATH@/components/zipwriter.xpt
+@BINPATH@/components/nsBadCertHandler.js
+@BINPATH@/components/cookie.xpt
+@BINPATH@/components/places.xpt
+@BINPATH@/components/prefetch.xpt
+
+#ifdef MOZILLA_1_9_2_BRANCH
+@BINPATH@/res/arrow.gif
+@BINPATH@/res/arrowd.gif
+@BINPATH@/res/broken-image.png
+@BINPATH@/res/charsetData.properties
+@BINPATH@/res/charsetalias.properties
+@BINPATH@/res/forms.css
+@BINPATH@/res/hiddenWindow.html
+@BINPATH@/res/html.css
+@BINPATH@/res/loading-image.png
+@BINPATH@/res/mathml.css
+@BINPATH@/res/quirk.css
+@BINPATH@/res/ua.css
+@BINPATH@/res/viewsource.css
+#ifdef XP_WIN32
+@BINPATH@/res/wincharset.properties
+#elifdef XP_MACOSX
+@BINPATH@/res/maccharset.properties
+#elifdef XP_OS2
+@BINPATH@/res/os2charset.properties
+#else
+@BINPATH@/res/unixcharset.properties
+#endif
+#endif
+@BINPATH@/res/langGroups.properties
+@BINPATH@/res/language.properties
+@BINPATH@/res/entityTables/*
+@BINPATH@/res/dtd/*
+@BINPATH@/res/fonts/*
+@BINPATH@/res/contenteditable.css
+@BINPATH@/res/designmode.css
+@BINPATH@/res/html/folder.png
+#ifdef XP_MACOSX
+@BINPATH@/res/cursors/
+@BINPATH@/res/MainMenu.nib/
+#endif
+
+; editor resource files
+@BINPATH@/res/EditorOverride.css
+@BINPATH@/res/grabber.gif
+@BINPATH@/res/table-add-column-after-active.gif
+@BINPATH@/res/table-add-column-after-hover.gif
+@BINPATH@/res/table-add-column-after.gif
+@BINPATH@/res/table-add-column-before-active.gif
+@BINPATH@/res/table-add-column-before-hover.gif
+@BINPATH@/res/table-add-column-before.gif
+@BINPATH@/res/table-add-row-after-active.gif
+@BINPATH@/res/table-add-row-after-hover.gif
+@BINPATH@/res/table-add-row-after.gif
+@BINPATH@/res/table-add-row-before-active.gif
+@BINPATH@/res/table-add-row-before-hover.gif
+@BINPATH@/res/table-add-row-before.gif
+@BINPATH@/res/table-remove-column-active.gif
+@BINPATH@/res/table-remove-column-hover.gif
+@BINPATH@/res/table-remove-column.gif
+@BINPATH@/res/table-remove-row-active.gif
+@BINPATH@/res/table-remove-row-hover.gif
+@BINPATH@/res/table-remove-row.gif
+
+; svg
+@BINPATH@/res/svg.css
+@BINPATH@/components/dom_svg.xpt
+
+; [Updater]
+#ifdef XP_MACOSX
+@BINPATH@/updater.app/
+#else
+@BINPATH@/updater@BIN_SUFFIX@
+#endif
+
+; [crash reporter]
+#ifdef XP_MACOSX
+@BINPATH@/crashreporter.app/
+#else
+#ifndef XP_OS2
+@BINPATH@/crashreporter@BIN_SUFFIX@
+@BINPATH@/crashreporter.ini
+#ifdef XP_UNIX
+@BINPATH@/Throbber-small.gif
+#endif
+#endif
+#endif
+
+; GNOME hooks
+#ifdef MOZ_ENABLE_GNOME_COMPONENT
+@BINPATH@/components/@DLL_PREFIX@mozgnome@DLL_SUFFIX@
+#endif
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; For packaging shared test builds
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+#ifndef MOZ_STATIC_BUILD
+#ifdef ACCESSIBILITY
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@access@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@accessibility@DLL_SUFFIX@
+#endif
+#endif
+@BINPATH@/components/@DLL_PREFIX@appcomps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@auth@DLL_SUFFIX@
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@autocfg@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@autoconfig@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@caps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@chardet@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@chrome@DLL_SUFFIX@
+#ifndef MOZILLA_1_9_2_BRANCH
+#ifndef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@commandlines@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@htmlpars@DLL_SUFFIX@
+#endif
+#ifndef XP_UNIX
+@BINPATH@/components/@DLL_PREFIX@mailcmp@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@mailcomps@DLL_SUFFIX@
+#endif
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@cmdlines@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@gkparser@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@appshell@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@perms@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@spellchk@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@strgcmps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@tkautoc@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@tkitcmps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@xpautoc@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@nsappshell@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@permissions@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@spellchecker@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@storagecomps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@tkautocomplete@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@toolkitcomps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@xpautocomplete@DLL_SUFFIX@
+#endif
+#elifndef XP_UNIX
+@BINPATH@/components/@DLL_PREFIX@cmdlines@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@gkparser@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@mailcmp@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@appshell@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@perms@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@spellchk@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@strgcmps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@tkautoc@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@tkitcmps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@xpautoc@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@commandlines@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@htmlpars@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@mailcomps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@nsappshell@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@permissions@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@spellchecker@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@storagecomps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@tkautocomplete@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@toolkitcomps@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@xpautocomplete@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@composer@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@cookie@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@docshell@DLL_SUFFIX@
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@embedcmp@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@embedcomponents@DLL_SUFFIX@
+#endif
+#ifdef UNIX_BUT_NOT_MAC
+@BINPATH@/components/@DLL_PREFIX@fileview@DLL_SUFFIX@
+#endif
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@gkgfxthb@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@gkgfxthebes@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@gklayout@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@gkplugin@DLL_SUFFIX@
+#ifdef XP_UNIX
+#ifdef XP_MACOSX
+@BINPATH@/components/@DLL_PREFIX@widget_mac@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@widget_gtk2@DLL_SUFFIX@
+#endif
+#else
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@wdgtos2@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@gkwidget@DLL_SUFFIX@
+#endif
+#endif
+@BINPATH@/components/@DLL_PREFIX@i18n@DLL_SUFFIX@
+#ifndef UNIX_BUT_NOT_MAC
+@BINPATH@/components/@DLL_PREFIX@imgicon@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@imglib2@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@import@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@intlapp@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@jar50@DLL_SUFFIX@
+#ifdef BUILD_CTYPES
+@BINPATH@/components/@DLL_PREFIX@jsctypes@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@mail@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@mork@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@mozfind@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@mozldap@DLL_SUFFIX@
+#ifdef XP_WIN32
+@BINPATH@/components/@DLL_PREFIX@msgMapi@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@msgsmime@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@necko@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@pipboot@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@pipnss@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@pippki@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@rdf@DLL_SUFFIX@
+#ifdef UNIX_BUT_NOT_MAC
+@BINPATH@/components/@DLL_PREFIX@remoteservice@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@satchel@DLL_SUFFIX@
+#ifdef UNIX_BUT_NOT_MAC
+@BINPATH@/components/@DLL_PREFIX@system-pref@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@txmgr@DLL_SUFFIX@
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@mozuconv@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@uconv@DLL_SUFFIX@
+#endif
+@BINPATH@/components/@DLL_PREFIX@ucvmath@DLL_SUFFIX@
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@ucdet@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@universalchardet@DLL_SUFFIX@
+#endif
+#ifndef XP_OS2
+#ifdef XP_UNIX
+#ifndef XP_MACOSX
+@BINPATH@/components/@DLL_PREFIX@unixproxy@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@osxproxy@DLL_SUFFIX@
+#endif
+#else
+@BINPATH@/components/@DLL_PREFIX@windowsproxy@DLL_SUFFIX@
+#endif
+#endif
+@BINPATH@/components/@DLL_PREFIX@webbrwsr@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@windowds@DLL_SUFFIX@
+#ifdef XP_WIN32
+@BINPATH@/components/@DLL_PREFIX@xpc3250@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@xppref32@DLL_SUFFIX@
+#elifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@xpconect@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@pref@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@xpconnect@DLL_SUFFIX@
+@BINPATH@/components/@DLL_PREFIX@pref@DLL_SUFFIX@
+#endif
+#ifdef XP_OS2
+@BINPATH@/components/@DLL_PREFIX@zipwrite@DLL_SUFFIX@
+#else
+@BINPATH@/components/@DLL_PREFIX@zipwriter@DLL_SUFFIX@
+#endif
+@BINPATH@/@DLL_PREFIX@gkgfx@DLL_SUFFIX@
+#ifdef UNIX_BUT_NOT_MAC
+@BINPATH@/@DLL_PREFIX@gfxpsshar@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@gtkxtbin@DLL_SUFFIX@
+#endif
+@BINPATH@/@DLL_PREFIX@mozz@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@thebes@DLL_SUFFIX@
+#ifdef XP_MACOSX
+@BINPATH@/XUL
+#else
+@BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@
+#endif
+#endif
--- /dev/null
+<!--LOCALIZATION NOTE msgCompSecurityInfo.dtd UI for viewing security status when composing a message -->
+
+<!ENTITY title.label "Message Security">
+<!ENTITY subject.plaintextWarning "Please note: Subject lines of email messages are never encrypted.">
+<!ENTITY status.heading "The contents of your message will be sent as follows:">
+<!ENTITY status.signed "Digitally signed:">
+<!ENTITY status.encrypted "Encrypted:">
+<!ENTITY status.certificates "Certificates:">
+<!ENTITY view.label "View">
+<!ENTITY view.accesskey "V">
+<!ENTITY tree.recipient "Recipient">
+<!ENTITY tree.status "Status">
+<!ENTITY tree.issuedDate "Issued">
+<!ENTITY tree.expiresDate "Expires">
--- /dev/null
+<!--LOCALIZATION NOTE msgReadSMIMEOverlay.dtd UI for s/mime hooks in message reading -->
+
+<!ENTITY menu_securityStatus.label "Message Security Info">
+<!ENTITY menu_securityStatus.accesskey "I">
--- /dev/null
+<!--LOCALIZATION NOTE msgReadSecurityInfo.dtd UI for viewing security status when reading a received message -->
+
+<!ENTITY status.label "Message Security">
+<!ENTITY signatureCert.label "View Signature Certificate">
+<!ENTITY encryptionCert.label "View Encryption Certificate">
+
+<!ENTITY signer.name "Signed by:">
+<!ENTITY recipient.name "Encrypted for:">
+<!ENTITY email.address "Email address:">
+<!ENTITY issuer.name "Certificate issued by:">
--- /dev/null
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2002
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/* ===== msgReadSecurityInfo.css ========================================
+ == Styles for the security info window when displaying received mail.
+ ======================================================================= */
+
+@import url("chrome://messenger/skin/");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#signatureLabel {
+ font-weight: bold;
+}
+
+#signatureCert {
+ margin: 5px;
+}
+
+#encryptionLabel {
+ font-weight: bold;
+}
+
+#encryptionCert {
+ margin: 5px;
+}
--- /dev/null
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2002
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/* ===== msgReadSecurityInfo.css ========================================
+ == Styles for the security info window when displaying received mail.
+ ======================================================================= */
+
+@import url("chrome://messenger/skin/");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#signatureLabel {
+ font-weight: bold;
+}
+
+#signatureCert {
+ margin: 5px;
+}
+
+#encryptionLabel {
+ font-weight: bold;
+}
+
+#encryptionCert {
+ margin: 5px;
+}
--- /dev/null
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2002
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/* ===== msgReadSecurityInfo.css ========================================
+ == Styles for the security info window when displaying received mail.
+ ======================================================================= */
+
+@import url("chrome://messenger/skin/");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#signatureLabel {
+ font-weight: bold;
+}
+
+#signatureCert {
+ margin: 5px;
+}
+
+#encryptionLabel {
+ font-weight: bold;
+}
+
+#encryptionCert {
+ margin: 5px;
+}
--- /dev/null
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2002
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gListBox;
+var gViewButton;
+var gBundle;
+
+var gEmailAddresses;
+var gCertStatusSummaries;
+var gCertIssuedInfos;
+var gCertExpiresInfos;
+var gCerts;
+var gCount;
+
+var gSMimeContractID = "@mozilla.org/messenger-smime/smimejshelper;1";
+var gISMimeJSHelper = Components.interfaces.nsISMimeJSHelper;
+var gIX509Cert = Components.interfaces.nsIX509Cert;
+const nsICertificateDialogs = Components.interfaces.nsICertificateDialogs;
+const nsCertificateDialogs = "@mozilla.org/nsCertificateDialogs;1"
+
+function getStatusExplanation(value)
+{
+ switch (value)
+ {
+ case gIX509Cert.VERIFIED_OK:
+ return gBundle.getString("StatusValid");
+
+ case gIX509Cert.NOT_VERIFIED_UNKNOWN:
+ case gIX509Cert.INVALID_CA:
+ case gIX509Cert.USAGE_NOT_ALLOWED:
+ return gBundle.getString("StatusInvalid");
+
+ case gIX509Cert.CERT_REVOKED:
+ return gBundle.getString("StatusRevoked");
+
+ case gIX509Cert.CERT_EXPIRED:
+ return gBundle.getString("StatusExpired");
+
+ case gIX509Cert.CERT_NOT_TRUSTED:
+ case gIX509Cert.ISSUER_NOT_TRUSTED:
+ case gIX509Cert.ISSUER_UNKNOWN:
+ return gBundle.getString("StatusUntrusted");
+ }
+
+ return "";
+}
+
+function onLoad()
+{
+ var params = window.arguments[0];
+ if (!params)
+ return;
+
+ var helper = Components.classes[gSMimeContractID].createInstance(gISMimeJSHelper);
+
+ if (!helper)
+ return;
+
+ gListBox = document.getElementById("infolist");
+ gViewButton = document.getElementById("viewCertButton");
+ gBundle = document.getElementById("bundle_smime_comp_info");
+
+ gEmailAddresses = new Object();
+ gCertStatusSummaries = new Object();
+ gCertIssuedInfos = new Object();
+ gCertExpiresInfos = new Object();
+ gCerts = new Object();
+ gCount = new Object();
+ var canEncrypt = new Object();
+
+ var allow_ldap_cert_fetching = false;
+
+ try {
+ if (params.compFields.securityInfo.requireEncryptMessage) {
+ allow_ldap_cert_fetching = true;
+ }
+ }
+ catch (e)
+ {
+ }
+
+ while (true)
+ {
+ try
+ {
+ helper.getRecipientCertsInfo(
+ params.compFields,
+ gCount,
+ gEmailAddresses,
+ gCertStatusSummaries,
+ gCertIssuedInfos,
+ gCertExpiresInfos,
+ gCerts,
+ canEncrypt);
+ }
+ catch (e)
+ {
+ dump(e);
+ return;
+ }
+
+ if (!allow_ldap_cert_fetching)
+ break;
+
+ allow_ldap_cert_fetching = false;
+
+ var missing = new Array();
+
+ for (var j = gCount.value - 1; j >= 0; --j)
+ {
+ if (!gCerts.value[j])
+ {
+ missing[missing.length] = gEmailAddresses.value[j];
+ }
+ }
+
+ if (missing.length > 0)
+ {
+ var prefService =
+ Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefService);
+ var sPrefs = prefService.getBranch(null);
+
+ var autocompleteLdap = false;
+ autocompleteLdap = sPrefs.getBoolPref("ldap_2.autoComplete.useDirectory");
+
+ if (autocompleteLdap)
+ {
+ var autocompleteDirectory = null;
+ autocompleteDirectory = sPrefs.getCharPref(
+ "ldap_2.autoComplete.directoryServer");
+
+ if(params.currentIdentity.overrideGlobalPref) {
+ autocompleteDirectory = params.currentIdentity.directoryServer;
+ }
+
+ if (autocompleteDirectory)
+ {
+ window.openDialog('chrome://messenger-smime/content/certFetchingStatus.xul',
+ '',
+ 'chrome,resizable=1,modal=1,dialog=1',
+ autocompleteDirectory,
+ missing
+ );
+ }
+ }
+ }
+ }
+
+ if (gBundle)
+ {
+ var yes_string = gBundle.getString("StatusYes");
+ var no_string = gBundle.getString("StatusNo");
+ var not_possible_string = gBundle.getString("StatusNotPossible");
+
+ var signed_element = document.getElementById("signed");
+ var encrypted_element = document.getElementById("encrypted");
+
+ if (params.smFields.requireEncryptMessage)
+ {
+ if (params.isEncryptionCertAvailable && canEncrypt.value)
+ {
+ encrypted_element.value = yes_string;
+ }
+ else
+ {
+ encrypted_element.value = not_possible_string;
+ }
+ }
+ else
+ {
+ encrypted_element.value = no_string;
+ }
+
+ if (params.smFields.signMessage)
+ {
+ if (params.isSigningCertAvailable)
+ {
+ signed_element.value = yes_string;
+ }
+ else
+ {
+ signed_element.value = not_possible_string;
+ }
+ }
+ else
+ {
+ signed_element.value = no_string;
+ }
+ }
+
+ var imax = gCount.value;
+
+ for (var i = 0; i < imax; ++i)
+ {
+ var listitem = document.createElement("listitem");
+
+ listitem.appendChild(createCell(gEmailAddresses.value[i]));
+
+ if (!gCerts.value[i])
+ {
+ listitem.appendChild(createCell(gBundle.getString("StatusNotFound")));
+ }
+ else
+ {
+ listitem.appendChild(createCell(getStatusExplanation(gCertStatusSummaries.value[i])));
+ listitem.appendChild(createCell(gCertIssuedInfos.value[i]));
+ listitem.appendChild(createCell(gCertExpiresInfos.value[i]));
+ }
+
+ gListBox.appendChild(listitem);
+ }
+}
+
+function onSelectionChange(event)
+{
+ if (gListBox.selectedItems.length <= 0)
+ {
+ gViewButton.setAttribute("disabled", "true");
+ }
+ else
+ {
+ gViewButton.removeAttribute("disabled");
+ }
+}
+
+function viewCertHelper(parent, cert) {
+ var cd = Components.classes[nsCertificateDialogs].getService(nsICertificateDialogs);
+ cd.viewCert(parent, cert);
+}
+
+function viewSelectedCert()
+{
+ if (gListBox.selectedItems.length > 0)
+ {
+ var selected = gListBox.selectedIndex;
+ var cert = gCerts.value[selected];
+ if (cert)
+ {
+ viewCertHelper(window, cert);
+ }
+ }
+}
+
+function doHelpButton()
+{
+ openHelp('compose_security', 'chrome://communicator/locale/help/suitehelp.rdf');
+}
+
+function createCell(label)
+{
+ var cell = document.createElement("listcell");
+ cell.setAttribute("label", label)
+ return cell;
+}
+
--- /dev/null
+/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Netscape Communicator.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2002
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gEncryptionStatus = -1;
+var gSignatureStatus = -1;
+var gSignerCert = null;
+var gEncryptionCert = null;
+
+addEventListener("load", smimeReadOnLoad, false);
+
+function smimeReadOnLoad()
+{
+ removeEventListener("load", smimeReadOnLoad, false);
+
+ top.controllers.appendController(SecurityController);
+
+ addEventListener("unload", smimeReadOnUnload, false);
+}
+
+function smimeReadOnUnload()
+{
+ removeEventListener("unload", smimeReadOnUnload, false);
+
+ top.controllers.removeController(SecurityController);
+}
+
+function showImapSignatureUnknown()
+{
+ let readSmimeBundle = document.getElementById("bundle_read_smime");
+ let brandBundle = document.getElementById("bundle_brand");
+ if (!readSmimeBundle || !brandBundle)
+ return;
+
+ let promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
+ .getService(Components.interfaces.nsIPromptService);
+ if (promptService &&
+ promptService.confirm(window, brandBundle.getString("brandShortName"),
+ readSmimeBundle.getString("ImapOnDemand")))
+ gDBView.reloadMessageWithAllParts();
+}
+
+function showMessageReadSecurityInfo()
+{
+ let gSignedUINode = document.getElementById("signedHdrIcon");
+ if (gSignedUINode && gSignedUINode.getAttribute("signed") == "unknown")
+ {
+ showImapSignatureUnknown();
+ return;
+ }
+
+ let pkiParams = Components.classes["@mozilla.org/security/pkiparamblock;1"]
+ .createInstance(Components.interfaces.nsIPKIParamBlock);
+
+ // isupport array starts with index 1
+ pkiParams.setISupportAtIndex(1, gSignerCert);
+ pkiParams.setISupportAtIndex(2, gEncryptionCert);
+
+ var params = pkiParams.QueryInterface(Components.interfaces.nsIDialogParamBlock);
+ // int array starts with index 0, but that is used for window exit status
+ params.SetInt(1, gSignatureStatus);
+ params.SetInt(2, gEncryptionStatus);
+
+ window.openDialog("chrome://messenger-smime/content/msgReadSecurityInfo.xul",
+ "", "chrome,resizable=1,modal=1,dialog=1", pkiParams);
+}
+
+var SecurityController =
+{
+ supportsCommand: function(command)
+ {
+ switch (command)
+ {
+ case "cmd_viewSecurityStatus":
+ return true;
+
+ default:
+ return false;
+ }
+ },
+
+ isCommandEnabled: function(command)
+ {
+ switch (command)
+ {
+ case "cmd_viewSecurityStatus":
+ if (document.documentElement.getAttribute('windowtype') == "mail:messageWindow")
+ return GetNumSelectedMessages() > 0;
+
+ if (GetNumSelectedMessages() > 0 && gDBView)
+ {
+ let enabled = {value: false};
+ let checkStatus = {};
+ gDBView.getCommandStatus(nsMsgViewCommandType.cmdRequiringMsgBody,
+ enabled, checkStatus);
+ return enabled.value;
+ }
+ // else: fall through.
+
+ default:
+ return false;
+ }
+ }
+};
--- /dev/null
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corp..
+ * Portions created by the Initial Developer are Copyright (C) 2002
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Kai Engert <kaie@netscape.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
+const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
+const nsIX509Cert = Components.interfaces.nsIX509Cert;
+const nsICMSMessageErrors = Components.interfaces.nsICMSMessageErrors;
+const nsICertificateDialogs = Components.interfaces.nsICertificateDialogs;
+const nsCertificateDialogs = "@mozilla.org/nsCertificateDialogs;1"
+
+var gSignerCert = null;
+var gEncryptionCert = null;
+
+var gSignatureStatus = -1;
+var gEncryptionStatus = -1;
+
+var params = null;
+
+function setText(id, value) {
+ var element = document.getElementById(id);
+ if (!element)
+ return;
+ if (element.hasChildNodes())
+ element.removeChild(element.firstChild);
+ var textNode = document.createTextNode(value);
+ element.appendChild(textNode);
+}
+
+function onLoad()
+{
+ var pkiParams = window.arguments[0].QueryInterface(nsIPKIParamBlock);
+ var isupport = pkiParams.getISupportAtIndex(1);
+ if (isupport) {
+ gSignerCert = isupport.QueryInterface(nsIX509Cert);
+ }
+ isupport = pkiParams.getISupportAtIndex(2);
+ if (isupport) {
+ gEncryptionCert = isupport.QueryInterface(nsIX509Cert);
+ }
+
+ params = pkiParams.QueryInterface(nsIDialogParamBlock);
+
+ gSignatureStatus = params.GetInt(1);
+ gEncryptionStatus = params.GetInt(2);
+
+ var bundle = document.getElementById("bundle_smime_read_info");
+
+ if (bundle) {
+ var sigInfoLabel = null;
+ var sigInfoHeader = null;
+ var sigInfo = null;
+ var sigInfo_clueless = false;
+
+ switch (gSignatureStatus) {
+ case -1:
+ case nsICMSMessageErrors.VERIFY_NOT_SIGNED:
+ sigInfoLabel = "SINoneLabel";
+ sigInfo = "SINone";
+ break;
+
+ case nsICMSMessageErrors.SUCCESS:
+ sigInfoLabel = "SIValidLabel";
+ sigInfo = "SIValid";
+ break;
+
+
+ case nsICMSMessageErrors.VERIFY_BAD_SIGNATURE:
+ case nsICMSMessageErrors.VERIFY_DIGEST_MISMATCH:
+ sigInfoLabel = "SIInvalidLabel";
+ sigInfoHeader = "SIInvalidHeader";
+ sigInfo = "SIContentAltered";
+ break;
+
+ case nsICMSMessageErrors.VERIFY_UNKNOWN_ALGO:
+ case nsICMSMessageErrors.VERIFY_UNSUPPORTED_ALGO:
+ sigInfoLabel = "SIInvalidLabel";
+ sigInfoHeader = "SIInvalidHeader";
+ sigInfo = "SIInvalidCipher";
+ break;
+
+ case nsICMSMessageErrors.VERIFY_HEADER_MISMATCH:
+ sigInfoLabel = "SIPartiallyValidLabel";
+ sigInfoHeader = "SIPartiallyValidHeader";
+ sigInfo = "SIHeaderMismatch";
+ break;
+
+ case nsICMSMessageErrors.VERIFY_CERT_WITHOUT_ADDRESS:
+ sigInfoLabel = "SIPartiallyValidLabel";
+ sigInfoHeader = "SIPartiallyValidHeader";
+ sigInfo = "SICertWithoutAddress";
+ break;
+
+ case nsICMSMessageErrors.VERIFY_UNTRUSTED:
+ sigInfoLabel = "SIInvalidLabel";
+ sigInfoHeader = "SIInvalidHeader";
+ sigInfo = "SIUntrustedCA";
+ // XXX Need to extend to communicate better errors
+ // might also be:
+ // SIExpired SIRevoked SINotYetValid SIUnknownCA SIExpiredCA SIRevokedCA SINotYetValidCA
+ break;
+
+ case nsICMSMessageErrors.VERIFY_NOT_YET_ATTEMPTED:
+ case nsICMSMessageErrors.GENERAL_ERROR:
+ case nsICMSMessageErrors.VERIFY_NO_CONTENT_INFO:
+ case nsICMSMessageErrors.VERIFY_BAD_DIGEST:
+ case nsICMSMessageErrors.VERIFY_NOCERT:
+ case nsICMSMessageErrors.VERIFY_ERROR_UNVERIFIED:
+ case nsICMSMessageErrors.VERIFY_ERROR_PROCESSING:
+ case nsICMSMessageErrors.VERIFY_MALFORMED_SIGNATURE:
+ sigInfoLabel = "SIInvalidLabel";
+ sigInfoHeader = "SIInvalidHeader";
+ sigInfo_clueless = true;
+ break;
+ }
+
+
+ document.getElementById("signatureLabel").value =
+ bundle.getString(sigInfoLabel);
+
+ var label;
+ if (sigInfoHeader) {
+ label = document.getElementById("signatureHeader");
+ label.collapsed = false;
+ label.value = bundle.getString(sigInfoHeader);
+ }
+
+ var str;
+ if (sigInfo) {
+ str = bundle.getString(sigInfo);
+ }
+ else if (sigInfo_clueless) {
+ str = bundle.getString("SIClueless") + " (" + gSignatureStatus + ")";
+ }
+ setText("signatureExplanation", str);
+
+
+ var encInfoLabel = null;
+ var encInfoHeader = null;
+ var encInfo = null;
+ var encInfo_clueless = false;
+
+ switch (gEncryptionStatus) {
+ case -1:
+ encInfoLabel = "EINoneLabel";
+ encInfo = "EINone";
+ break;
+
+ case nsICMSMessageErrors.SUCCESS:
+ encInfoLabel = "EIValidLabel";
+ encInfo = "EIValid";
+ break;
+
+ case nsICMSMessageErrors.ENCRYPT_INCOMPLETE:
+ encInfoLabel = "EIInvalidLabel";
+ encInfo = "EIContentAltered";
+ break;
+
+ case nsICMSMessageErrors.GENERAL_ERROR:
+ encInfoLabel = "EIInvalidLabel";
+ encInfoHeader = "EIInvalidHeader";
+ encInfo_clueless = 1;
+ break;
+ }
+
+
+ document.getElementById("encryptionLabel").value =
+ bundle.getString(encInfoLabel);
+
+ if (encInfoHeader) {
+ label = document.getElementById("encryptionHeader");
+ label.collapsed = false;
+ label.value = bundle.getString(encInfoHeader);
+ }
+
+ if (encInfo) {
+ str = bundle.getString(encInfo);
+ }
+ else if (encInfo_clueless) {
+ str = bundle.getString("EIClueless");
+ }
+ setText("encryptionExplanation", str);
+ }
+
+ if (gSignerCert) {
+ document.getElementById("signatureCert").collapsed = false;
+ if (gSignerCert.subjectName) {
+ document.getElementById("signedBy").value = gSignerCert.commonName;
+ }
+ if (gSignerCert.emailAddress) {
+ document.getElementById("signerEmail").value = gSignerCert.emailAddress;
+ }
+ if (gSignerCert.issuerName) {
+ document.getElementById("sigCertIssuedBy").value = gSignerCert.issuerCommonName;
+ }
+ }
+
+ if (gEncryptionCert) {
+ document.getElementById("encryptionCert").collapsed = false;
+ if (gEncryptionCert.subjectName) {
+ document.getElementById("encryptedFor").value = gEncryptionCert.commonName;
+ }
+ if (gEncryptionCert.emailAddress) {
+ document.getElementById("recipientEmail").value = gEncryptionCert.emailAddress;
+ }
+ if (gEncryptionCert.issuerName) {
+ document.getElementById("encCertIssuedBy").value = gEncryptionCert.issuerCommonName;
+ }
+ }
+}
+
+function viewCertHelper(parent, cert) {
+ var cd = Components.classes[nsCertificateDialogs].getService(nsICertificateDialogs);
+ cd.viewCert(parent, cert);
+}
+
+function viewSignatureCert()
+{
+ if (gSignerCert) {
+ viewCertHelper(window, gSignerCert);
+ }
+}
+
+function viewEncryptionCert()
+{
+ if (gEncryptionCert) {
+ viewCertHelper(window, gEncryptionCert);
+ }
+}
+
+function doHelpButton()
+{
+ openHelp('received_security');
+}
--- /dev/null
+<?xml version="1.0"?>
+<!-- ***** BEGIN LICENSE BLOCK *****
+ - Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ -
+ - The contents of this file are subject to the Mozilla Public License Version
+ - 1.1 (the "License"); you may not use this file except in compliance with
+ - the License. You may obtain a copy of the License at
+ - http://www.mozilla.org/MPL/
+ -
+ - Software distributed under the License is distributed on an "AS IS" basis,
+ - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ - for the specific language governing rights and limitations under the
+ - License.
+ -
+ - The Original Code is Mozilla Communicator
+ -
+ - The Initial Developer of the Original Code is
+ - Netscape Communications Corp..
+ - Portions created by the Initial Developer are Copyright (C) 2002
+ - the Initial Developer. All Rights Reserved.
+ -
+ - Contributor(s): Kai Engert <kaie@netscape.com>
+ -
+ - Alternatively, the contents of this file may be used under the terms of
+ - either the GNU General Public License Version 2 or later (the "GPL"), or
+ - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ - in which case the provisions of the GPL or the LGPL are applicable instead
+ - of those above. If you wish to allow use of your version of this file only
+ - under the terms of either the GPL or the LGPL, and not to allow others to
+ - use your version of this file under the terms of the MPL, indicate your
+ - decision by deleting the provisions above and replace them with the notice
+ - and other provisions required by the LGPL or the GPL. If you do not delete
+ - the provisions above, a recipient may use your version of this file under
+ - the terms of any one of the MPL, the GPL or the LGPL.
+ -
+ - ***** END LICENSE BLOCK ***** -->
+
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://messenger/skin/smime/msgReadSecurityInfo.css" type="text/css"?>
+
+<!DOCTYPE dialog SYSTEM "chrome://messenger-smime/locale/msgReadSecurityInfo.dtd">
+
+<dialog id="msgReadSecurityInfo" title="&status.label;"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ style="width: 40em;"
+ buttons="accept"
+ onload="onLoad();">
+
+ <script type="application/javascript" src="chrome://messenger-smime/content/msgReadSecurityInfo.js"/>
+
+ <stringbundle id="bundle_smime_read_info" src="chrome://messenger-smime/locale/msgSecurityInfo.properties"/>
+
+ <vbox flex="1">
+ <label id="signatureLabel"/>
+ <label id="signatureHeader" collapsed="true"/>
+ <description id="signatureExplanation"/>
+ <vbox id="signatureCert" collapsed="true">
+ <hbox>
+ <label id="signedByLabel">&signer.name;</label>
+ <description id="signedBy"/>
+ </hbox>
+ <hbox>
+ <label id="signerEmailLabel">&email.address;</label>
+ <description id="signerEmail"/>
+ </hbox>
+ <hbox>
+ <label id="sigCertIssuedByLabel">&issuer.name;</label>
+ <description id="sigCertIssuedBy"/>
+ </hbox>
+ <hbox>
+ <button id="signatureCertView" label="&signatureCert.label;"
+ oncommand="viewSignatureCert()"/>
+ </hbox>
+ </vbox>
+
+ <separator/>
+
+ <label id="encryptionLabel"/>
+ <label id="encryptionHeader" collapsed="true"/>
+ <description id="encryptionExplanation"/>
+ <vbox id="encryptionCert" collapsed="true">
+ <hbox>
+ <label id="encryptedForLabel">&recipient.name;</label>
+ <description id="encryptedFor"/>
+ </hbox>
+ <hbox>
+ <label id="recipientEmailLabel">&email.address;</label>
+ <description id="recipientEmail"/>
+ </hbox>
+ <hbox>
+ <label id="encCertIssuedByLabel">&issuer.name;</label>
+ <description id="encCertIssuedBy"/>
+ </hbox>
+ <hbox>
+ <button id="encryptionCertView" label="&encryptionCert.label;"
+ oncommand="viewEncryptionCert()"/>
+ </hbox>
+ </vbox>
+ </vbox>
+</dialog>
--- /dev/null
+#ifdef MOZ_SUITE
+messenger.jar:
+% content messenger-smime %content/messenger-smime/
+% overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://messenger-smime/content/msgCompSMIMEOverlay.xul
+% overlay chrome://messenger/content/msgHdrViewOverlay.xul chrome://messenger-smime/content/msgHdrViewSMIMEOverlay.xul
+% overlay chrome://messenger/content/mailWindowOverlay.xul chrome://messenger-smime/content/msgReadSMIMEOverlay.xul
+% overlay chrome://messenger/content/am-identity-edit.xul chrome://messenger/content/am-smimeIdentityEditOverlay.xul
+ content/messenger/am-smime.xul (content/am-smime.xul)
+ content/messenger/am-smime.js (content/am-smime.js)
+ content/messenger/am-smimeIdentityEditOverlay.xul (content/am-smimeIdentityEditOverlay.xul)
+ content/messenger/am-smimeOverlay.xul (content/am-smimeOverlay.xul)
+ content/messenger-smime/msgCompSMIMEOverlay.js (content/msgCompSMIMEOverlay.js)
+ content/messenger-smime/msgCompSMIMEOverlay.xul (content/msgCompSMIMEOverlay.xul)
+ content/messenger-smime/msgReadSMIMEOverlay.js (content/msgReadSMIMEOverlay.js)
+ content/messenger-smime/msgReadSMIMEOverlay.xul (content/msgReadSMIMEOverlay.xul)
+ content/messenger-smime/msgHdrViewSMIMEOverlay.xul (content/msgHdrViewSMIMEOverlay.xul)
+ content/messenger-smime/msgHdrViewSMIMEOverlay.js (content/msgHdrViewSMIMEOverlay.js)
+ content/messenger-smime/msgCompSecurityInfo.xul (content/msgCompSecurityInfo.xul)
+ content/messenger-smime/msgCompSecurityInfo.js (content/msgCompSecurityInfo.js)
+ content/messenger-smime/msgReadSecurityInfo.xul (content/msgReadSecurityInfo.xul)
+ content/messenger-smime/msgReadSecurityInfo.js (content/msgReadSecurityInfo.js)
+ content/messenger-smime/certFetchingStatus.xul (content/certFetchingStatus.xul)
+ content/messenger-smime/certFetchingStatus.js (content/certFetchingStatus.js)
+#endif