summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaie%netscape.com <devnull@localhost>2002-04-17 17:21:14 +0000
committerkaie%netscape.com <devnull@localhost>2002-04-17 17:21:14 +0000
commitcb5444088c461911125820aafac270bab48809d4 (patch)
tree92a5bb07ae1690e8152b4793b10fa8610b9550a0
parente27ca77c526565fbb72c3bd35641d843e380b54e (diff)
parentdbea19e729dca3ba45a261b5fa0b8528509039f0 (diff)
downloadnss-hg-cb5444088c461911125820aafac270bab48809d4.tar.gz
b=119418 Fix handling of opaque signed S/Mime messages.
Also fixes some other S/Mime issues, as described in the bug. r=ddrinan/ducarroz/darin sr=alecf a=rjesup Fixing bustage, approval for checkin to the closed tree from asasaki
-rw-r--r--security/coreconf/WINCE.mk207
-rw-r--r--security/coreconf/WINCE3.0.mk99
-rw-r--r--security/nss/lib/dev/nssdev.h72
-rw-r--r--security/nss/lib/smime/smime.def6
4 files changed, 384 insertions, 0 deletions
diff --git a/security/coreconf/WINCE.mk b/security/coreconf/WINCE.mk
new file mode 100644
index 000000000..035e3c884
--- /dev/null
+++ b/security/coreconf/WINCE.mk
@@ -0,0 +1,207 @@
+#
+# 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 Netscape security libraries.
+#
+# The Initial Developer of the Original Code is Netscape
+# Communications Corporation. Portions created by Netscape are
+# Copyright (C) 1994-2000 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s):
+#
+# Alternatively, the contents of this file may be used under the
+# terms of the GNU General Public License Version 2 or later (the
+# "GPL"), in which case the provisions of the GPL are applicable
+# instead of those above. If you wish to allow use of your
+# version of this file only under the terms of the GPL and not to
+# allow others to use your version of this file under the MPL,
+# indicate your decision by deleting the provisions above and
+# replace them with the notice and other provisions required by
+# the GPL. If you do not delete the provisions above, a recipient
+# may use your version of this file under either the MPL or the
+# GPL.
+#
+
+#
+# Configuration common to all versions of Windows CE and Pocket PC x.
+#
+
+ifeq ($(CPU_ARCH),x86)
+ DEFAULT_COMPILER = cl
+ CC = cl
+ CCC = cl
+else
+ifeq ($(CPU_ARCH),ARM)
+ DEFAULT_COMPILER = clarm
+ CC = clarm
+ CCC = clarm
+else
+include CPU_ARCH_is_not_recognized
+include _$(CPU_ARCH)
+endif
+endif
+
+LINK = link
+AR = lib
+AR += -NOLOGO -OUT:"$@"
+RANLIB = echo
+BSDECHO = echo
+
+ifdef BUILD_TREE
+NSINSTALL_DIR = $(BUILD_TREE)/nss
+else
+NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
+endif
+NSINSTALL = nsinstall
+
+MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
+MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend.exe
+# Note: MKDEPENDENCIES __MUST__ be a relative pathname, not absolute.
+# If it is absolute, gmake will crash unless the named file exists.
+MKDEPENDENCIES = $(OBJDIR_NAME)/depend.mk
+
+INSTALL = $(NSINSTALL)
+MAKE_OBJDIR = mkdir
+MAKE_OBJDIR += $(OBJDIR)
+RC = rc.exe
+GARBAGE += $(OBJDIR)/vc20.pdb $(OBJDIR)/vc40.pdb
+XP_DEFINE += -DXP_PC
+LIB_SUFFIX = lib
+DLL_SUFFIX = dll
+
+ifdef BUILD_OPT
+# OS_CFLAGS += -MD
+ OPTIMIZER += -O2
+ DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
+ DLLFLAGS += -OUT:"$@"
+else
+ #
+ # Define USE_DEBUG_RTL if you want to use the debug runtime library
+ # (RTL) in the debug build
+ #
+ ifdef USE_DEBUG_RTL
+# OS_CFLAGS += -MDd
+ else
+# OS_CFLAGS += -MD
+ endif
+ OPTIMIZER += -Od -Z7
+ #OPTIMIZER += -Zi -Fd$(OBJDIR)/ -Od
+ DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
+ DLLFLAGS += -DEBUG -DEBUGTYPE:CV -OUT:"$@"
+ LDFLAGS += -DEBUG -DEBUGTYPE:CV
+endif
+
+# DEFINES += -DWIN32
+
+ifdef MAPFILE
+ DLLFLAGS += -DEF:$(MAPFILE)
+endif
+
+# Change PROCESS to put the mapfile in the correct format for this platform
+PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
+
+#
+# The following is NOT needed for the NSPR 2.0 library.
+#
+
+DEFINES += -D_WINDOWS
+
+# override default, which is ASFLAGS = CFLAGS
+AS = ml.exe
+ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)
+
+#
+# override the definitions of RELEASE_TREE found in tree.mk
+#
+ifndef RELEASE_TREE
+ ifdef BUILD_SHIP
+ ifdef USE_SHIPS
+ RELEASE_TREE = $(NTBUILD_SHIP)
+ else
+ RELEASE_TREE = //redbuild/components
+ endif
+ else
+ RELEASE_TREE = //redbuild/components
+ endif
+endif
+
+#
+# override the definitions of LIB_PREFIX and DLL_PREFIX in prefix.mk
+#
+
+ifndef LIB_PREFIX
+ LIB_PREFIX = $(NULL)
+endif
+
+ifndef DLL_PREFIX
+ DLL_PREFIX = $(NULL)
+endif
+
+#
+# override the definitions of various _SUFFIX symbols in suffix.mk
+#
+
+#
+# Object suffixes
+#
+ifndef OBJ_SUFFIX
+ OBJ_SUFFIX = .obj
+endif
+
+#
+# Assembler source suffixes
+#
+ifndef ASM_SUFFIX
+ ASM_SUFFIX = .asm
+endif
+
+#
+# Library suffixes
+#
+
+ifndef IMPORT_LIB_SUFFIX
+ IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
+endif
+
+ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
+ DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
+endif
+
+#
+# Program suffixes
+#
+ifndef PROG_SUFFIX
+ PROG_SUFFIX = .exe
+endif
+
+#
+# override ruleset.mk, removing the "lib" prefix for library names, and
+# adding the "32" after the LIBRARY_VERSION.
+#
+ifdef LIBRARY_NAME
+ SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
+ IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
+endif
+
+#
+# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
+#
+ifndef TARGETS
+ TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
+endif
+
+
+#
+# Always set CPU_TAG on Linux, OpenVMS, WINCE.
+#
+CPU_TAG = _$(CPU_ARCH)
+
diff --git a/security/coreconf/WINCE3.0.mk b/security/coreconf/WINCE3.0.mk
new file mode 100644
index 000000000..ddf7a4c7b
--- /dev/null
+++ b/security/coreconf/WINCE3.0.mk
@@ -0,0 +1,99 @@
+#
+# 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 Netscape security libraries.
+#
+# The Initial Developer of the Original Code is Netscape
+# Communications Corporation. Portions created by Netscape are
+# Copyright (C) 1994-2000 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s):
+#
+# Alternatively, the contents of this file may be used under the
+# terms of the GNU General Public License Version 2 or later (the
+# "GPL"), in which case the provisions of the GPL are applicable
+# instead of those above. If you wish to allow use of your
+# version of this file only under the terms of the GPL and not to
+# allow others to use your version of this file under the MPL,
+# indicate your decision by deleting the provisions above and
+# replace them with the notice and other provisions required by
+# the GPL. If you do not delete the provisions above, a recipient
+# may use your version of this file under either the MPL or the
+# GPL.
+#
+
+#
+# Config stuff for WINCE 3.0 (MS Pocket PC 2002)
+#
+# CPU_ARCH must already be defined to one of:
+# x86, ARM
+#
+# This makefile defines the following variables:
+# OS_CFLAGS, and OS_DLLFLAGS.
+
+include $(CORE_DEPTH)/coreconf/WINCE.mk
+
+CEVersion = 300
+CePlatform = WIN32_PLATFORM_PSPC=310
+
+ifeq ($(CPU_ARCH), x86)
+ DEFINES += -D_X86_ -D_i386_ -Di_386_ -Dx86
+ OS_CFLAGS += -Gs8192 -GF
+ OS_DLLFLAGS += -machine:IX86
+else
+ifeq ($(CPU_ARCH), ARM)
+ DEFINES += -DARM -D_ARM_
+ OS_DLLFLAGS += -machine:ARM
+else
+ include CPU_ARCH_is_undefined
+endif
+endif
+
+DEFINES += -D_WIN32_WCE=300 -DUNDER_CE=300
+DEFINES += -DWIN32_PLATFORM_PSPC=310
+DEFINES += -DUNICODE -D_UNICODE
+OS_CFLAGS += -W3 -nologo
+
+OS_DLLFLAGS += -DLL
+
+LINKFLAGS = -nologo -PDB:NONE -subsystem:windowsce,3.00 \
+ -nodefaultlib:libc.lib \
+ -nodefaultlib:libcd.lib \
+ -nodefaultlib:libcmt.lib \
+ -nodefaultlib:libcmtd.lib \
+ -nodefaultlib:msvcrt.lib \
+ -nodefaultlib:msvcrtd.lib \
+ -nodefaultlib:oldnames.lib \
+ $(NULL)
+
+LINK += $(LINKFLAGS)
+LDFLAGS += $(LINKFLAGS)
+
+OS_LIBS= coredll.lib corelibc.lib
+
+#DLLBASE = -base:"0x00100000" -stack:0x10000,0x1000 -entry:"_DllMainCRTStartup"
+DLLBASE += -align:"4096"
+
+#SUB_SHLOBJS =
+#EXTRA_LIBS =
+#EXTRA_SHARED_LIBS =
+#OS_LIBS=
+#LD_LIBS=
+
+#
+# Win NT needs -GT so that fibers can work
+#
+#OS_CFLAGS += -GT
+#DEFINES += -DWINNT
+
+# WINNT uses the lib prefix, Win95 and WinCE don't
+#NSPR31_LIB_PREFIX = lib
diff --git a/security/nss/lib/dev/nssdev.h b/security/nss/lib/dev/nssdev.h
new file mode 100644
index 000000000..7b219adfe
--- /dev/null
+++ b/security/nss/lib/dev/nssdev.h
@@ -0,0 +1,72 @@
+/*
+ * 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 Netscape security libraries.
+ *
+ * The Initial Developer of the Original Code is Netscape
+ * Communications Corporation. Portions created by Netscape are
+ * Copyright (C) 1994-2000 Netscape Communications Corporation. All
+ * Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License Version 2 or later (the
+ * "GPL"), in which case the provisions of the GPL are applicable
+ * instead of those above. If you wish to allow use of your
+ * version of this file only under the terms of the GPL and not to
+ * allow others to use your version of this file under the MPL,
+ * indicate your decision by deleting the provisions above and
+ * replace them with the notice and other provisions required by
+ * the GPL. If you do not delete the provisions above, a recipient
+ * may use your version of this file under either the MPL or the
+ * GPL.
+ */
+
+#ifndef NSSDEV_H
+#define NSSDEV_H
+
+#ifdef DEBUG
+static const char NSSDEV_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$";
+#endif /* DEBUG */
+/*
+ * nssdev.h
+ *
+ * High-level methods for interaction with cryptoki devices
+ */
+
+#ifndef NSSDEVT_H
+#include "nssdevt.h"
+#endif /* NSSDEVT_H */
+
+PR_BEGIN_EXTERN_C
+
+/* NSSAlgorithmAndParameters
+ *
+ * NSSAlgorithmAndParameters_CreateSHA1Digest
+ * NSSAlgorithmAndParameters_CreateMD5Digest
+ */
+
+NSS_EXTERN NSSAlgorithmAndParameters *
+NSSAlgorithmAndParameters_CreateSHA1Digest
+(
+ NSSArena *arenaOpt
+);
+
+NSS_EXTERN NSSAlgorithmAndParameters *
+NSSAlgorithmAndParameters_CreateMD5Digest
+(
+ NSSArena *arenaOpt
+);
+
+PR_END_EXTERN_C
+
+#endif /* DEV_H */
diff --git a/security/nss/lib/smime/smime.def b/security/nss/lib/smime/smime.def
index 0e9874939..ef383b559 100644
--- a/security/nss/lib/smime/smime.def
+++ b/security/nss/lib/smime/smime.def
@@ -203,3 +203,9 @@ SECMIME_DecryptionAllowed;
;+ local:
;+ *;
;+};
+;+NSS_3.4.1 { # NSS 3.4.1 release
+;+ global:
+NSS_CMSMessage_IsEncrypted;
+;+ local:
+;+ *;
+;+};