Compare commits
26 Commits
NSS_BOB
...
NSS_371_20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
437a86212c | ||
|
|
a8526d9f5f | ||
|
|
2d6596ef0d | ||
|
|
c1f6e5ec91 | ||
|
|
b7dfd6d2c8 | ||
|
|
9bc2775eb6 | ||
|
|
e649f0e7b2 | ||
|
|
54532c4405 | ||
|
|
58602eb11b | ||
|
|
9e43dbe9a6 | ||
|
|
1ff0200dbd | ||
|
|
7f9598f1b3 | ||
|
|
1b94187f0c | ||
|
|
81306e554d | ||
|
|
2beece5506 | ||
|
|
3115db18c5 | ||
|
|
0db5a564f1 | ||
|
|
c114d57ce2 | ||
|
|
823768d0ed | ||
|
|
65dfbdc18b | ||
|
|
8a606afebf | ||
|
|
a8fedb9ac9 | ||
|
|
a2a9ad8732 | ||
|
|
129cf40921 | ||
|
|
66d0a418f5 | ||
|
|
e0baf75248 |
@@ -65,12 +65,13 @@ CPU_ARCH = rs6000
|
||||
RANLIB = ranlib
|
||||
|
||||
OS_CFLAGS = -DAIX -DSYSV
|
||||
ifndef NS_USE_GCC
|
||||
ifeq ($(CC),xlC_r)
|
||||
OS_CFLAGS += -qarch=com
|
||||
endif
|
||||
|
||||
AIX_WRAP = $(DIST)/lib/aixwrap.o
|
||||
AIX_TMP = $(OBJDIR)/_aix_tmp.o
|
||||
OS_LIBS += -lsvld
|
||||
ifdef MAPFILE
|
||||
EXPORT_RULES = -bexport:$(MAPFILE)
|
||||
endif
|
||||
|
||||
@@ -38,7 +38,7 @@ include $(CORE_DEPTH)/coreconf/AIX.mk
|
||||
|
||||
OS_CFLAGS += -DAIX4_2
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -L/usr/lpp/xlC/lib -lc -lm
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
|
||||
|
||||
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
|
||||
ifdef MAPFILE
|
||||
|
||||
@@ -45,9 +45,9 @@ ifeq ($(USE_64), 1)
|
||||
endif
|
||||
OS_CFLAGS += -DAIX4_3
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
|
||||
|
||||
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
|
||||
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
|
||||
ifdef MAPFILE
|
||||
DSO_LDOPTS += -bexport:$(MAPFILE)
|
||||
else
|
||||
|
||||
@@ -44,9 +44,9 @@ ifeq ($(USE_64), 1)
|
||||
export OBJECT_MODE
|
||||
endif
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
|
||||
|
||||
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
|
||||
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
|
||||
ifdef MAPFILE
|
||||
DSO_LDOPTS += -bexport:$(MAPFILE)
|
||||
else
|
||||
|
||||
@@ -1,54 +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 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 AIX5.2
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/AIX.mk
|
||||
|
||||
|
||||
ifeq ($(USE_64), 1)
|
||||
# Next line replaced by generic name handling in arch.mk
|
||||
# COMPILER_TAG = _64
|
||||
OS_CFLAGS += -DAIX_64BIT
|
||||
OBJECT_MODE=64
|
||||
export OBJECT_MODE
|
||||
endif
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
|
||||
|
||||
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
|
||||
ifdef MAPFILE
|
||||
DSO_LDOPTS += -bexport:$(MAPFILE)
|
||||
else
|
||||
DSO_LDOPTS += -bexpall
|
||||
endif
|
||||
@@ -35,8 +35,6 @@
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/UNIX.mk
|
||||
|
||||
DEFAULT_COMPILER = cc
|
||||
|
||||
CC = cc
|
||||
CCC = c++
|
||||
RANLIB = ranlib
|
||||
@@ -59,7 +57,7 @@ endif
|
||||
# definitions so that the linker can catch multiply-defined symbols.
|
||||
# Also, common symbols are not allowed with Darwin dynamic libraries.
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fpascal-strings -no-cpp-precomp -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fpascal-strings -traditional-cpp -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK
|
||||
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
@@ -68,7 +66,7 @@ endif
|
||||
ARCH = darwin
|
||||
|
||||
# May override this with -bundle to create a loadable module.
|
||||
DSO_LDOPTS = -dynamiclib -compatibility_version 1 -current_version 1 -install_name @executable_path/$(notdir $@) -headerpad_max_install_names
|
||||
DSO_LDOPTS = -dynamiclib -compatibility_version 1 -current_version 1 -install_name @executable_path/$(notdir $@)
|
||||
|
||||
MKSHLIB = $(CC) -arch $(CPU_ARCH) $(DSO_LDOPTS)
|
||||
DLL_SUFFIX = dylib
|
||||
|
||||
@@ -57,7 +57,6 @@ DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
|
||||
ifndef CLASSIC_NSPR
|
||||
USE_PTHREADS = 1
|
||||
DEFINES += -D_THREAD_SAFE -D_REENTRANT
|
||||
OS_LIBS += -pthread
|
||||
DSO_LDOPTS += -pthread
|
||||
endif
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ CPU_ARCH = hppa
|
||||
DLL_SUFFIX = sl
|
||||
CC = cc
|
||||
CCC = CC
|
||||
OS_CFLAGS += -Ae $(DSO_CFLAGS) -DHPUX -D$(CPU_ARCH) -D_HPUX_SOURCE -D_USE_BIG_FDS
|
||||
OS_CFLAGS += -Ae $(DSO_CFLAGS) -DHPUX -D$(CPU_ARCH) -D_HPUX_SOURCE
|
||||
|
||||
ifeq ($(DEFAULT_IMPL_STRATEGY),_PTH)
|
||||
USE_PTHREADS = 1
|
||||
|
||||
@@ -1,55 +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 the Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2002 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.
|
||||
#
|
||||
# On HP-UX 10.30 and 11.x, the default implementation strategy is
|
||||
# pthreads. Classic nspr and pthreads-user are also available.
|
||||
#
|
||||
|
||||
ifeq ($(OS_RELEASE),B.11.22)
|
||||
OS_CFLAGS += -DHPUX10
|
||||
DEFAULT_IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
#
|
||||
# To use the true pthread (kernel thread) library on 10.30 and
|
||||
# 11.x, we should define _POSIX_C_SOURCE to be 199506L.
|
||||
# The _REENTRANT macro is deprecated.
|
||||
#
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
|
||||
endif
|
||||
|
||||
#
|
||||
# Config stuff for HP-UXB.11.x.
|
||||
#
|
||||
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk
|
||||
@@ -44,21 +44,7 @@ ifndef NS_USE_GCC
|
||||
ifeq ($(OS_TEST), ia64)
|
||||
OS_CFLAGS += -Aa +e +p +DD64
|
||||
else
|
||||
# Our HP-UX build machine has a strange problem. If
|
||||
# a 64-bit PA-RISC executable calls getcwd() in a
|
||||
# network-mounted directory, it fails with ENOENT.
|
||||
# We don't know why. Since nsinstall calls getcwd(),
|
||||
# this breaks our 64-bit HP-UX nightly builds. None
|
||||
# of our other HP-UX machines have this problem.
|
||||
#
|
||||
# We worked around this problem by building nsinstall
|
||||
# as a 32-bit PA-RISC executable for 64-bit PA-RISC
|
||||
# builds. -- wtc 2003-06-03
|
||||
ifdef INTERNAL_TOOLS
|
||||
OS_CFLAGS += +DAportable +DS2.0
|
||||
else
|
||||
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
|
||||
endif
|
||||
endif
|
||||
# Next line replaced by generic name handling in arch.mk
|
||||
# COMPILER_TAG = _64
|
||||
|
||||
@@ -77,22 +77,6 @@ else
|
||||
ifeq (,$(filter-out arm% sa110,$(OS_TEST)))
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = arm
|
||||
else
|
||||
ifeq ($(OS_TEST),parisc64)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = hppa
|
||||
else
|
||||
ifeq ($(OS_TEST),s390)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = s390
|
||||
else
|
||||
ifeq ($(OS_TEST),s390x)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = s390x
|
||||
else
|
||||
ifeq ($(OS_TEST),mips)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = mips
|
||||
else
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = x86
|
||||
@@ -103,10 +87,6 @@ endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
LIBC_TAG = _glibc
|
||||
|
||||
@@ -1,49 +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 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 Linux 2.6 (ELF)
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/Linux.mk
|
||||
|
||||
OS_REL_CFLAGS += -DLINUX2_1
|
||||
MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
|
||||
@@ -55,6 +55,8 @@ LIB_PREFIX = $(NULL)
|
||||
# Override suffix in suffix.mk
|
||||
LIB_SUFFIX = lib
|
||||
DLL_SUFFIX = dll
|
||||
OBJ_SUFFIX = .obj
|
||||
ASM_SUFFIX = .asm
|
||||
PROG_SUFFIX = .exe
|
||||
|
||||
|
||||
@@ -62,18 +64,13 @@ ifdef XP_OS2_EMX
|
||||
|
||||
CCC = gcc
|
||||
LINK = gcc
|
||||
AR = emxomfar r $@
|
||||
AR = emxomfar -p256 r $@
|
||||
# Keep AR_FLAGS blank so that we do not have to change rules.mk
|
||||
AR_FLAGS =
|
||||
RANLIB = @echo OS2 RANLIB
|
||||
BSDECHO = @echo OS2 BSDECHO
|
||||
IMPLIB = emximp -o
|
||||
FILTER = emxexp -o
|
||||
|
||||
# GCC for OS/2 currently predefines these, but we don't want them
|
||||
DEFINES += -Uunix -U__unix -U__unix__
|
||||
|
||||
DEFINES += -DTCPV40HDRS
|
||||
IMPLIB = emximp -o
|
||||
FILTER = emxexp
|
||||
|
||||
ifndef NO_SHARED_LIB
|
||||
WRAP_MALLOC_LIB =
|
||||
@@ -84,25 +81,19 @@ MKSHLIB = $(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@
|
||||
MKCSHLIB = $(CC) $(CFLAGS) $(DSO_LDOPTS) -o $@
|
||||
MKSHLIB_FORCE_ALL =
|
||||
MKSHLIB_UNFORCE_ALL =
|
||||
DSO_LDOPTS = -Zomf -Zdll
|
||||
DSO_LDOPTS = -Zomf -Zdll -Zmt -Zcrtdll -Zlinker /NOO
|
||||
# DLL_SUFFIX = .dll
|
||||
SHLIB_LDSTARTFILE =
|
||||
SHLIB_LDENDFILE =
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += $(MAPFILE)
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
PROCESS_MAP_FILE = \
|
||||
echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \
|
||||
echo PROTMODE >> $@; \
|
||||
echo CODE LOADONCALL MOVEABLE DISCARDABLE >> $@; \
|
||||
echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \
|
||||
echo EXPORTS >> $@; \
|
||||
grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,\([\t ]*\),\1_,' | \
|
||||
awk 'BEGIN {ord=1;} { print($$0 " @" ord " RESIDENTNAME"); ord++;}' >> $@
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = copy $(LIBRARY_NAME).def $@
|
||||
|
||||
endif #NO_SHARED_LIB
|
||||
|
||||
OS_CFLAGS = -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Zomf -DDEBUG -DTRACING -g
|
||||
OS_CFLAGS = -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Zmtd -Zomf -Zmt -DDEBUG -DDEBUG_wintrinh -DTRACING -g
|
||||
|
||||
# Where the libraries are
|
||||
MOZ_COMPONENT_NSPR_LIBS=-L$(DIST)/lib $(NSPR_LIBS)
|
||||
@@ -111,7 +102,7 @@ NSPR_INCLUDE_DIR =
|
||||
|
||||
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2 -s
|
||||
OPTIMIZER = -O6
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
DLLFLAGS = -DLL -OUT:$@ -MAP:$(@:.dll=.map)
|
||||
EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
|
||||
@@ -127,10 +118,6 @@ endif # BUILD_OPT
|
||||
|
||||
else # XP_OS2_VACPP
|
||||
|
||||
# Override suffix in suffix.mk
|
||||
OBJ_SUFFIX = .obj
|
||||
ASM_SUFFIX = .asm
|
||||
|
||||
AS = alp.exe
|
||||
ifdef BUILD_OPT
|
||||
ASFLAGS = -Od
|
||||
@@ -160,17 +147,6 @@ DSO_LDOPTS =
|
||||
# DLL_SUFFIX = .dll
|
||||
SHLIB_LDSTARTFILE =
|
||||
SHLIB_LDENDFILE =
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += $(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = \
|
||||
echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \
|
||||
echo PROTMODE >> $@; \
|
||||
echo CODE LOADONCALL MOVEABLE DISCARDABLE >> $@; \
|
||||
echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \
|
||||
echo EXPORTS >> $@; \
|
||||
grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' >> $@
|
||||
endif #NO_SHARED_LIB
|
||||
|
||||
OS_CFLAGS = /Q /qlibansi /Gd /Gm /Su4 /Mp /Tl-
|
||||
@@ -183,22 +159,20 @@ MOZ_COMPONENT_NSPR_LIBS=-L$(DIST)/lib $(NSPR_LIBS)
|
||||
NSPR_INCLUDE_DIR =
|
||||
|
||||
|
||||
DLLFLAGS = /DLL /O:$@ /INC:_dllentry /MAP:$(@:.dll=.map)
|
||||
EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
|
||||
LDFLAGS = /FREE /NOE /LINENUMBERS /nologo
|
||||
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = /O+ /Gl+ /G5 /qarch=pentium
|
||||
OPTIMIZER = -Oi -G5
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
DLLFLAGS = /DLL /O:$@ /INC:_dllentry /MAP:$(@:.dll=.map)
|
||||
EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
|
||||
OBJDIR_TAG = _OPT
|
||||
LDFLAGS += /NODEBUG /OPTFUNC /EXEPACK:2 /PACKCODE /PACKDATA
|
||||
LDFLAGS = /FREE /NODEBUG /NOE /LINENUMBERS /nologo
|
||||
else
|
||||
OS_CFLAGS += /Ti+
|
||||
DEFINES += -DDEBUG -D_DEBUG -DDEBUGPRINTS #HCT Need += to avoid overidding manifest.mn
|
||||
DLLFLAGS += /DE
|
||||
EXEFLAGS += /DE
|
||||
DLLFLAGS = /DEBUG /DLL /O:$@ /INC:_dllentry /MAP:$(@:.dll=.map)
|
||||
EXEFLAGS = -DEBUG -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
|
||||
OBJDIR_TAG = _DBG
|
||||
LDFLAGS += /DE
|
||||
LDFLAGS = /FREE /DE /NOE /LINENUMBERS /nologo
|
||||
endif # BUILD_OPT
|
||||
|
||||
endif # XP_OS2_VACPP
|
||||
|
||||
@@ -46,13 +46,6 @@ OS_REL_CFLAGS = -Di386
|
||||
CPU_ARCH = x86
|
||||
endif
|
||||
|
||||
ifndef CLASSIC_NSPR
|
||||
USE_PTHREADS = 1
|
||||
DEFINES += -D_THREAD_SAFE -pthread
|
||||
OS_LIBS += -pthread
|
||||
DSO_LDOPTS += -pthread
|
||||
endif
|
||||
|
||||
DLL_SUFFIX = so.1.0
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DOPENBSD
|
||||
|
||||
@@ -41,13 +41,13 @@ ifeq ($(USE_PTHREADS),1)
|
||||
IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
CC = qcc
|
||||
CCC = qcc
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
RANLIB = ranlib
|
||||
|
||||
DEFAULT_COMPILER = qcc
|
||||
ifeq ($(OS_TEST),mips)
|
||||
CPU_ARCH = mips
|
||||
DEFAULT_COMPILER = gcc
|
||||
ifeq ($(OS_TEST),ppc)
|
||||
CPU_ARCH = ppc
|
||||
else
|
||||
CPU_ARCH = x86
|
||||
endif
|
||||
@@ -57,14 +57,12 @@ ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Vgcc_ntox86 -Wall -pipe -DNTO -DHAVE_STRERROR -D_QNX_SOURCE -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE=500
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wall -pipe -DNTO -DHAVE_STRERROR -D_QNX_SOURCE -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE=500
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
DEFINES += -D_REENTRANT
|
||||
endif
|
||||
|
||||
ARCH = QNX
|
||||
|
||||
DSO_CFLAGS = -Wc,-fPIC
|
||||
DSO_CFLAGS = -fPIC
|
||||
DSO_LDOPTS = -shared
|
||||
DSO_LDFLAGS =
|
||||
|
||||
@@ -73,6 +73,8 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
LD=/usr/ccs/bin/ld
|
||||
|
||||
#
|
||||
# The default implementation strategy for Solaris is classic nspr.
|
||||
#
|
||||
@@ -111,8 +113,8 @@ else
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
|
||||
ifndef BUILD_OPT
|
||||
OS_CFLAGS += -xs
|
||||
else
|
||||
OPTIMIZER = -xO4
|
||||
# else
|
||||
# OPTIMIZER += -fast
|
||||
endif
|
||||
|
||||
endif
|
||||
@@ -130,23 +132,10 @@ endif
|
||||
# Purify doesn't like -MDupdate
|
||||
NOMD_OS_CFLAGS += $(DSO_CFLAGS) $(OS_DEFINES) $(SOL_CFLAGS)
|
||||
|
||||
MKSHLIB = $(CC) $(DSO_LDOPTS)
|
||||
ifdef NS_USE_GCC
|
||||
ifeq (GNU,$(findstring GNU,$(shell `$(CC) -print-prog-name=ld` -v 2>&1)))
|
||||
GCC_USE_GNU_LD = 1
|
||||
endif
|
||||
endif
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS)
|
||||
ifdef MAPFILE
|
||||
ifdef NS_USE_GCC
|
||||
ifdef GCC_USE_GNU_LD
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
else
|
||||
MKSHLIB += -Wl,-M,$(MAPFILE)
|
||||
endif
|
||||
else
|
||||
MKSHLIB += -M $(MAPFILE)
|
||||
endif
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
|
||||
@@ -156,14 +145,7 @@ PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
# ld options:
|
||||
# -G: produce a shared object
|
||||
# -z defs: no unresolved symbols allowed
|
||||
ifdef NS_USE_GCC
|
||||
DSO_LDOPTS += -shared -h $(notdir $@)
|
||||
else
|
||||
ifeq ($(USE_64), 1)
|
||||
DSO_LDOPTS += -xarch=v9
|
||||
endif
|
||||
DSO_LDOPTS += -G -h $(notdir $@)
|
||||
endif
|
||||
DSO_LDOPTS += -G -h $(notdir $@)
|
||||
|
||||
# -KPIC generates position independent code for use in shared libraries.
|
||||
# (Similarly for -fPIC in case of gcc.)
|
||||
|
||||
@@ -38,26 +38,13 @@
|
||||
|
||||
DEFAULT_COMPILER = cl
|
||||
|
||||
ifdef NS_USE_GCC
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
LINK = ld
|
||||
AR = ar
|
||||
AR += cr $@
|
||||
RANLIB = ranlib
|
||||
BSDECHO = echo
|
||||
RC = windres.exe -O coff --use-temp-file
|
||||
LINK_DLL = $(CC) $(OS_DLLFLAGS) $(DLLFLAGS)
|
||||
else
|
||||
CC = cl
|
||||
CCC = cl
|
||||
LINK = link
|
||||
AR = lib
|
||||
AR += -NOLOGO -OUT:"$@"
|
||||
RANLIB = echo
|
||||
BSDECHO = echo
|
||||
RC = rc.exe
|
||||
endif
|
||||
CC = cl
|
||||
CCC = cl
|
||||
LINK = link
|
||||
AR = lib
|
||||
AR += -NOLOGO -OUT:"$@"
|
||||
RANLIB = echo
|
||||
BSDECHO = echo
|
||||
|
||||
ifdef BUILD_TREE
|
||||
NSINSTALL_DIR = $(BUILD_TREE)/nss
|
||||
@@ -75,38 +62,13 @@ 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
|
||||
ifdef NS_USE_GCC
|
||||
LIB_SUFFIX = a
|
||||
else
|
||||
LIB_SUFFIX = lib
|
||||
endif
|
||||
DLL_SUFFIX = dll
|
||||
|
||||
ifdef NS_USE_GCC
|
||||
OS_CFLAGS += -mno-cygwin -mms-bitfields
|
||||
_GEN_IMPORT_LIB=-Wl,--out-implib,$(IMPORT_LIBRARY)
|
||||
DLLFLAGS += -mno-cygwin -o $@ -shared -Wl,--export-all-symbols $(if $(IMPORT_LIBRARY),$(_GEN_IMPORT_LIB))
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER += -O2
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
#
|
||||
# Add symbolic information for a profiler
|
||||
#
|
||||
ifdef MOZ_PROFILE
|
||||
OPTIMIZER += -g
|
||||
endif
|
||||
else
|
||||
OPTIMIZER += -g
|
||||
NULLSTRING :=
|
||||
SPACE := $(NULLSTRING) # end of the line
|
||||
USERNAME := $(subst $(SPACE),_,$(USERNAME))
|
||||
USERNAME := $(subst -,_,$(USERNAME))
|
||||
DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
|
||||
endif
|
||||
else # !NS_USE_GCC
|
||||
ifdef BUILD_OPT
|
||||
ifdef BUILD_OPT
|
||||
OS_CFLAGS += -MD
|
||||
OPTIMIZER += -O2
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
@@ -118,7 +80,7 @@ else # !NS_USE_GCC
|
||||
OPTIMIZER += -Z7
|
||||
DLLFLAGS += -DEBUG -DEBUGTYPE:CV
|
||||
endif
|
||||
else
|
||||
else
|
||||
#
|
||||
# Define USE_DEBUG_RTL if you want to use the debug runtime library
|
||||
# (RTL) in the debug build
|
||||
@@ -130,22 +92,15 @@ else # !NS_USE_GCC
|
||||
endif
|
||||
OPTIMIZER += -Od -Z7
|
||||
#OPTIMIZER += -Zi -Fd$(OBJDIR)/ -Od
|
||||
NULLSTRING :=
|
||||
SPACE := $(NULLSTRING) # end of the line
|
||||
USERNAME := $(subst $(SPACE),_,$(USERNAME))
|
||||
USERNAME := $(subst -,_,$(USERNAME))
|
||||
DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
|
||||
DLLFLAGS += -DEBUG -DEBUGTYPE:CV -OUT:"$@"
|
||||
LDFLAGS += -DEBUG -DEBUGTYPE:CV -PDB:NONE
|
||||
endif
|
||||
endif # NS_USE_GCC
|
||||
LDFLAGS += -DEBUG -DEBUGTYPE:CV
|
||||
endif
|
||||
|
||||
DEFINES += -DWIN32
|
||||
ifdef MAPFILE
|
||||
ifndef NS_USE_GCC
|
||||
DLLFLAGS += -DEF:$(MAPFILE)
|
||||
endif
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
@@ -157,13 +112,8 @@ PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
DEFINES += -D_WINDOWS
|
||||
|
||||
# override default, which is ASFLAGS = CFLAGS
|
||||
ifdef NS_USE_GCC
|
||||
AS = $(CC)
|
||||
ASFLAGS = $(INCLUDES)
|
||||
else
|
||||
AS = ml.exe
|
||||
ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)
|
||||
endif
|
||||
AS = ml.exe
|
||||
ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)
|
||||
|
||||
#
|
||||
# override the definitions of RELEASE_TREE found in tree.mk
|
||||
@@ -181,24 +131,11 @@ ifndef RELEASE_TREE
|
||||
endif
|
||||
|
||||
#
|
||||
# override the definitions of IMPORT_LIB_PREFIX, LIB_PREFIX, and
|
||||
# DLL_PREFIX in prefix.mk
|
||||
# override the definitions of LIB_PREFIX and DLL_PREFIX in prefix.mk
|
||||
#
|
||||
|
||||
ifndef IMPORT_LIB_PREFIX
|
||||
ifdef NS_USE_GCC
|
||||
IMPORT_LIB_PREFIX = lib
|
||||
else
|
||||
IMPORT_LIB_PREFIX = $(NULL)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef LIB_PREFIX
|
||||
ifdef NS_USE_GCC
|
||||
LIB_PREFIX = lib
|
||||
else
|
||||
LIB_PREFIX = $(NULL)
|
||||
endif
|
||||
LIB_PREFIX = $(NULL)
|
||||
endif
|
||||
|
||||
ifndef DLL_PREFIX
|
||||
@@ -213,22 +150,14 @@ endif
|
||||
# Object suffixes
|
||||
#
|
||||
ifndef OBJ_SUFFIX
|
||||
ifdef NS_USE_GCC
|
||||
OBJ_SUFFIX = .o
|
||||
else
|
||||
OBJ_SUFFIX = .obj
|
||||
endif
|
||||
OBJ_SUFFIX = .obj
|
||||
endif
|
||||
|
||||
#
|
||||
# Assembler source suffixes
|
||||
#
|
||||
ifndef ASM_SUFFIX
|
||||
ifdef NS_USE_GCC
|
||||
ASM_SUFFIX = .s
|
||||
else
|
||||
ASM_SUFFIX = .asm
|
||||
endif
|
||||
ASM_SUFFIX = .asm
|
||||
endif
|
||||
|
||||
#
|
||||
|
||||
@@ -40,9 +40,7 @@
|
||||
include $(CORE_DEPTH)/coreconf/WIN32.mk
|
||||
|
||||
ifeq ($(CPU_ARCH), x386)
|
||||
ifndef NS_USE_GCC
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
endif
|
||||
DEFINES += -D_X86_
|
||||
else
|
||||
ifeq ($(CPU_ARCH), MIPS)
|
||||
@@ -57,7 +55,5 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef NS_USE_GCC
|
||||
OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS -PDB:NONE
|
||||
endif
|
||||
DEFINES += -DWIN95
|
||||
|
||||
@@ -137,19 +137,15 @@ ifeq ($(OS_ARCH),SINIX-N)
|
||||
endif
|
||||
|
||||
#
|
||||
# Handle FreeBSD 2.2-STABLE, Linux 2.0.30-osfmach3, and
|
||||
# IRIX 6.5-ALPHA-1289139620.
|
||||
# Handle FreeBSD 2.2-STABLE and Linux 2.0.30-osfmach3
|
||||
#
|
||||
|
||||
ifeq (,$(filter-out Linux FreeBSD IRIX,$(OS_ARCH)))
|
||||
ifeq (,$(filter-out Linux FreeBSD,$(OS_ARCH)))
|
||||
OS_RELEASE := $(shell echo $(OS_RELEASE) | sed 's/-.*//')
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
OS_RELEASE := $(subst ., ,$(OS_RELEASE))
|
||||
ifneq ($(words $(OS_RELEASE)),1)
|
||||
OS_RELEASE := $(word 1,$(OS_RELEASE)).$(word 2,$(OS_RELEASE))
|
||||
endif
|
||||
OS_RELEASE := $(basename $(OS_RELEASE))
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -229,8 +225,9 @@ endif
|
||||
ifeq ($(OS_ARCH), Windows_NT)
|
||||
OS_ARCH = WINNT
|
||||
OS_MINOR_RELEASE := $(shell uname -v)
|
||||
# strip leading 0
|
||||
OS_MINOR_RELEASE := $(patsubst 0%,%,$(OS_MINOR_RELEASE))
|
||||
ifeq ($(OS_MINOR_RELEASE),00)
|
||||
OS_MINOR_RELEASE = 0
|
||||
endif
|
||||
OS_RELEASE := $(OS_RELEASE).$(OS_MINOR_RELEASE)
|
||||
ifndef CPU_ARCH
|
||||
CPU_ARCH := $(shell uname -m)
|
||||
|
||||
@@ -42,9 +42,6 @@ PLSRCS = nfspwd.pl
|
||||
|
||||
PROGRAM = nsinstall
|
||||
|
||||
# Indicate that this directory builds build tools.
|
||||
INTERNAL_TOOLS = 1
|
||||
|
||||
|
||||
include $(DEPTH)/coreconf/config.mk
|
||||
|
||||
|
||||
@@ -31,22 +31,8 @@
|
||||
# GPL.
|
||||
#
|
||||
|
||||
CORE_DEPTH = ../../../..
|
||||
|
||||
# MODULE public and private header directories are implicitly REQUIRED.
|
||||
MODULE = nss
|
||||
|
||||
DEFINES += -DSHLIB_SUFFIX=\"$(DLL_SUFFIX)\" -DSHLIB_PREFIX=\"$(DLL_PREFIX)\"
|
||||
|
||||
CSRCS = \
|
||||
mangle.c \
|
||||
$(NULL)
|
||||
|
||||
|
||||
# headers for the MODULE (defined above) are implicitly required.
|
||||
REQUIRES =
|
||||
|
||||
PROGRAM = mangle
|
||||
|
||||
USE_STATIC_LIBS = 1
|
||||
#######################################################################
|
||||
# Master "Core Components" <platform> tag #
|
||||
#######################################################################
|
||||
|
||||
PLATFORM = $(OBJDIR_NAME)
|
||||
@@ -52,7 +52,7 @@ endif
|
||||
platform::
|
||||
@echo $(OBJDIR_NAME)
|
||||
|
||||
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
USE_NT_C_SYNTAX=1
|
||||
endif
|
||||
|
||||
@@ -285,7 +285,7 @@ endif
|
||||
|
||||
$(PROGRAM): $(OBJS) $(EXTRA_LIBS)
|
||||
@$(MAKE_OBJDIR)
|
||||
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
$(MKPROG) $(subst /,\\,$(OBJS)) -Fe$@ -link $(LDFLAGS) $(subst /,\\,$(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS))
|
||||
else
|
||||
ifdef XP_OS2_VACPP
|
||||
@@ -310,9 +310,9 @@ endif
|
||||
|
||||
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
$(IMPORT_LIBRARY): $(MAPFILE)
|
||||
$(IMPORT_LIBRARY): $(SHARED_LIBRARY)
|
||||
rm -f $@
|
||||
$(IMPLIB) $@ $(MAPFILE)
|
||||
$(IMPLIB) $@ $(patsubst %.lib,%.dll.def,$@)
|
||||
$(RANLIB) $@
|
||||
endif
|
||||
|
||||
@@ -337,14 +337,27 @@ ifeq ($(OS_TARGET)$(OS_RELEASE), AIX4.1)
|
||||
-bM:SRE -bnoentry $(OS_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
|
||||
else
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
ifdef NS_USE_GCC
|
||||
$(LINK_DLL) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES)
|
||||
else
|
||||
$(LINK_DLL) -MAP $(DLLBASE) $(subst /,\\,$(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES))
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
@cmd /C "echo LIBRARY $(notdir $(basename $(SHARED_LIBRARY))) INITINSTANCE TERMINSTANCE >$@.def"
|
||||
@cmd /C "echo PROTMODE >>$@.def"
|
||||
@cmd /C "echo CODE LOADONCALL MOVEABLE DISCARDABLE >>$@.def"
|
||||
@cmd /C "echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >>$@.def"
|
||||
@cmd /C "echo EXPORTS >>$@.def"
|
||||
$(FILTER) $(OBJS) >>$@.def
|
||||
ifdef SUB_SHLOBJS
|
||||
@echo Number of words in OBJ list = $(words $(SUB_SHLOBJS))
|
||||
@echo If above number is over 100, need to reedit coreconf/rules.mk
|
||||
-$(FILTER) $(wordlist 1,20,$(SUB_SHLOBJS)) >>$@.def
|
||||
-$(FILTER) $(wordlist 21,40,$(SUB_SHLOBJS)) >>$@.def
|
||||
-$(FILTER) $(wordlist 41,60,$(SUB_SHLOBJS)) >>$@.def
|
||||
-$(FILTER) $(wordlist 61,80,$(SUB_SHLOBJS)) >>$@.def
|
||||
-$(FILTER) $(wordlist 81,100,$(SUB_SHLOBJS)) >>$@.def
|
||||
endif
|
||||
endif #OS2
|
||||
ifdef XP_OS2_VACPP
|
||||
$(MKSHLIB) $(DLLFLAGS) $(LDFLAGS) $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
|
||||
$(MKSHLIB) $(DLLFLAGS) $(LDFLAGS) $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $@.def
|
||||
else
|
||||
$(MKSHLIB) -o $@ $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
|
||||
endif
|
||||
@@ -361,11 +374,7 @@ ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
$(RES): $(RESNAME)
|
||||
@$(MAKE_OBJDIR)
|
||||
# The resource compiler does not understand the -U option.
|
||||
ifdef NS_USE_GCC
|
||||
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
|
||||
else
|
||||
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $<
|
||||
endif
|
||||
@echo $(RES) finished
|
||||
endif
|
||||
|
||||
@@ -376,7 +385,7 @@ $(MAPFILE): $(LIBRARY_NAME).def
|
||||
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(PROG_SUFFIX): $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
$(MKPROG) $(OBJDIR)/$(PROG_PREFIX)$*$(OBJ_SUFFIX) -Fe$@ -link \
|
||||
$(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
|
||||
else
|
||||
@@ -388,54 +397,23 @@ WCCFLAGS1 := $(subst /,\\,$(CFLAGS))
|
||||
WCCFLAGS2 := $(subst -I,-i=,$(WCCFLAGS1))
|
||||
WCCFLAGS3 := $(subst -D,-d,$(WCCFLAGS2))
|
||||
|
||||
# Translate source filenames to absolute paths. This is required for
|
||||
# debuggers under Windows & OS/2 to find source files automatically
|
||||
|
||||
ifeq (,$(filter-out OS2%,$(OS_TARGET)))
|
||||
NEED_ABSOLUTE_PATH := 1
|
||||
PWD := $(shell pwd)
|
||||
endif
|
||||
|
||||
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
NEED_ABSOLUTE_PATH := 1
|
||||
ifeq (,$(findstring ;,$(PATH)))
|
||||
PWD := $(subst \,/,$(shell cygpath -w `pwd`))
|
||||
else
|
||||
PWD := $(shell pwd)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(PWD)/$(1)))
|
||||
else
|
||||
abspath = $(1)
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
|
||||
@$(MAKE_OBJDIR)
|
||||
ifdef USE_NT_C_SYNTAX
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
|
||||
else
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
$(CC) -o $@ -c $(CFLAGS) $(call abspath,$<)
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $<
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
endif
|
||||
|
||||
$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
|
||||
ifdef USE_NT_C_SYNTAX
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
|
||||
else
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
$(CC) -o $@ -c $(CFLAGS) $(call abspath,$<)
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $<
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef XP_OS2_VACPP
|
||||
ifneq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
ifneq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.s
|
||||
@$(MAKE_OBJDIR)
|
||||
$(AS) -o $@ $(ASFLAGS) -c $<
|
||||
@@ -457,14 +435,10 @@ $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.S
|
||||
$(OBJDIR)/$(PROG_PREFIX)%: %.cpp
|
||||
@$(MAKE_OBJDIR)
|
||||
ifdef USE_NT_C_SYNTAX
|
||||
$(CCC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
|
||||
else
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
$(CCC) -o $@ -c $(CFLAGS) $(call abspath,$<)
|
||||
$(CCC) -Fo$@ -c $(CFLAGS) $<
|
||||
else
|
||||
$(CCC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Please keep the next two rules in sync.
|
||||
@@ -481,14 +455,10 @@ ifdef STRICT_CPLUSPLUS_SUFFIX
|
||||
rm -f $(OBJDIR)/t_$*.cc
|
||||
else
|
||||
ifdef USE_NT_C_SYNTAX
|
||||
$(CCC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
|
||||
else
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
$(CCC) -o $@ -c $(CFLAGS) $(call abspath,$<)
|
||||
$(CCC) -Fo$@ -c $(CFLAGS) $<
|
||||
else
|
||||
$(CCC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
endif
|
||||
endif #STRICT_CPLUSPLUS_SUFFIX
|
||||
|
||||
%.i: %.cpp
|
||||
|
||||
@@ -81,14 +81,14 @@
|
||||
#
|
||||
|
||||
ifndef COMPILER_TAG
|
||||
ifneq ($(DEFAULT_COMPILER), $(notdir $(CC)))
|
||||
ifneq ($(DEFAULT_COMPILER), $(CC))
|
||||
#
|
||||
# Temporary define for the Client; to be removed when binary release is used
|
||||
#
|
||||
ifdef MOZILLA_CLIENT
|
||||
COMPILER_TAG =
|
||||
else
|
||||
COMPILER_TAG = _$(notdir $(CC))
|
||||
COMPILER_TAG = _$(CC)
|
||||
endif
|
||||
else
|
||||
COMPILER_TAG =
|
||||
|
||||
@@ -151,10 +151,8 @@ XPCLASS_DBG_JAR = xpclass_dbg.jar
|
||||
XPHEADER_JAR = xpheader.jar
|
||||
|
||||
ifdef BUILD_OPT
|
||||
SOURCE_RELEASE_XP_CLASSES_DIR = $(SOURCE_RELEASE_CLASSES_DIR)
|
||||
IMPORT_XPCLASS_JAR = $(XPCLASS_JAR)
|
||||
else
|
||||
SOURCE_RELEASE_XP_CLASSES_DIR = $(SOURCE_RELEASE_CLASSES_DBG_DIR)
|
||||
IMPORT_XPCLASS_JAR = $(XPCLASS_DBG_JAR)
|
||||
endif
|
||||
|
||||
|
||||
@@ -164,5 +164,10 @@ endif
|
||||
|
||||
nss_RelEng_bld: build_coreconf import all
|
||||
|
||||
package:
|
||||
$(MAKE) -C pkg publish
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
solarispkg:
|
||||
@echo Making Solaris packages.
|
||||
rm -rf pkg/$(OBJDIR)
|
||||
cp -r pkg/solaris pkg/$(OBJDIR)
|
||||
$(MAKE) -C pkg/$(OBJDIR) publish
|
||||
endif
|
||||
|
||||
@@ -444,9 +444,7 @@ main(int argc, char **argv)
|
||||
|
||||
client_main(port, connections, hostName);
|
||||
|
||||
if (NSS_Shutdown() != SECSuccess) {
|
||||
exit(1);
|
||||
}
|
||||
NSS_Shutdown();
|
||||
PR_Cleanup();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "ssl.h"
|
||||
#include "certt.h"
|
||||
#include "nss.h"
|
||||
#include "secrng.h"
|
||||
#include "secder.h"
|
||||
#include "key.h"
|
||||
#include "sslproto.h"
|
||||
@@ -813,9 +814,7 @@ main(int argc, char **argv)
|
||||
server_main(port, requestCert, privKey, cert, disableSSL3);
|
||||
|
||||
/* Shutdown NSS and exit NSPR gracefully. */
|
||||
if (NSS_Shutdown() != SECSuccess) {
|
||||
exit(1);
|
||||
}
|
||||
NSS_Shutdown();
|
||||
PR_Cleanup();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -272,8 +272,8 @@ myGetClientAuthData(void *arg,
|
||||
secStatus = SECFailure;
|
||||
break;
|
||||
}
|
||||
CERT_FreeNicknames(names);
|
||||
} /* for loop */
|
||||
CERT_FreeNicknames(names);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -363,8 +363,7 @@ exitErr(char *function)
|
||||
{
|
||||
errWarn(function);
|
||||
/* Exit gracefully. */
|
||||
/* ignoring return value of NSS_Shutdown as code exits with 1*/
|
||||
(void) NSS_Shutdown();
|
||||
NSS_Shutdown();
|
||||
PR_Cleanup();
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
#include "ssl.h"
|
||||
#include "certt.h"
|
||||
#include "nss.h"
|
||||
#include "secrng.h"
|
||||
#include "secder.h"
|
||||
#include "key.h"
|
||||
#include "sslproto.h"
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
/*
|
||||
* Tool for converting builtin CA certs.
|
||||
*
|
||||
* $Id: addbuiltin.c,v 1.6 2003-01-07 22:22:10 bishakhabanerjee%netscape.com Exp $
|
||||
* $Id: addbuiltin.c,v 1.5 2002-10-30 17:22:06 relyea%netscape.com Exp $
|
||||
*/
|
||||
|
||||
#include "nss.h"
|
||||
@@ -194,7 +194,7 @@ printheader() {
|
||||
"# may use your version of this file under either the MPL or the\n"
|
||||
"# GPL.\n"
|
||||
"#\n"
|
||||
"CVS_ID \"@(#) $RCSfile: addbuiltin.c,v $ $Revision: 1.6 $ $Date: 2003-01-07 22:22:10 $ $Name: not supported by cvs2svn $\"\n"
|
||||
"CVS_ID \"@(#) $RCSfile: addbuiltin.c,v $ $Revision: 1.5 $ $Date: 2002-10-30 17:22:06 $ $Name: not supported by cvs2svn $\"\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# certdata.txt\n"
|
||||
@@ -349,9 +349,7 @@ main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (NSS_Shutdown() != SECSuccess) {
|
||||
exit(1);
|
||||
}
|
||||
NSS_Shutdown();
|
||||
|
||||
return(SECSuccess);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Douglas Stebila <douglas@stebila.ca>, Sun Microsystems Laboratories
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the
|
||||
* terms of the GNU General Public License Version 2 or later (the
|
||||
@@ -48,15 +47,6 @@
|
||||
#include "softoken.h"
|
||||
#include "nss.h"
|
||||
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
#include "ecl-curve.h"
|
||||
SECStatus EC_DecodeParams(const SECItem *encodedParams,
|
||||
ECParams **ecparams);
|
||||
SECStatus EC_CopyParams(PRArenaPool *arena, ECParams *dstParams,
|
||||
const ECParams *srcParams);
|
||||
SECStatus secoid_Init(void);
|
||||
#endif
|
||||
|
||||
/* Temporary - add debugging ouput on windows for RSA to track QA failure */
|
||||
#ifdef _WIN32
|
||||
#define TRACK_BLTEST_BUG
|
||||
@@ -133,34 +123,11 @@ static void Usage()
|
||||
PRINTUSAGE(progName, "-S -m mode", "Sign a buffer");
|
||||
PRINTUSAGE("", "", "[-i plaintext] [-o signature] [-k key]");
|
||||
PRINTUSAGE("", "", "[-b bufsize]");
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
PRINTUSAGE("", "", "[-n curvename]");
|
||||
#endif
|
||||
PRINTUSAGE("", "", "[-p repetitions]");
|
||||
PRINTUSAGE("", "-m", "cipher mode to use");
|
||||
PRINTUSAGE("", "-i", "file which contains input buffer");
|
||||
PRINTUSAGE("", "-o", "file for signature");
|
||||
PRINTUSAGE("", "-k", "file which contains key");
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
PRINTUSAGE("", "-n", "name of curve for EC key generation; one of:");
|
||||
PRINTUSAGE("", "", " sect163k1, nistk163, sect163r1, sect163r2,");
|
||||
PRINTUSAGE("", "", " nistb163, sect193r1, sect193r2, sect233k1, nistk233,");
|
||||
PRINTUSAGE("", "", " sect233r1, nistb233, sect239k1, sect283k1, nistk283,");
|
||||
PRINTUSAGE("", "", " sect283r1, nistb283, sect409k1, nistk409, sect409r1,");
|
||||
PRINTUSAGE("", "", " nistb409, sect571k1, nistk571, sect571r1, nistb571,");
|
||||
PRINTUSAGE("", "", " secp169k1, secp160r1, secp160r2, secp192k1, secp192r1,");
|
||||
PRINTUSAGE("", "", " nistp192, secp224k1, secp224r1, nistp224, secp256k1,");
|
||||
PRINTUSAGE("", "", " secp256r1, nistp256, secp384r1, nistp384, secp521r1,");
|
||||
PRINTUSAGE("", "", " nistp521, prime192v1, prime192v2, prime192v3,");
|
||||
PRINTUSAGE("", "", " prime239v1, prime239v2, prime239v3, c2pnb163v1,");
|
||||
PRINTUSAGE("", "", " c2pnb163v2, c2pnb163v3, c2pnb176v1, c2tnb191v1,");
|
||||
PRINTUSAGE("", "", " c2tnb191v2, c2tnb191v3, c2onb191v4, c2onb191v5,");
|
||||
PRINTUSAGE("", "", " c2pnb208w1, c2tnb239v1, c2tnb239v2, c2tnb239v3,");
|
||||
PRINTUSAGE("", "", " c2onb239v4, c2onb239v5, c2pnb272w1, c2pnb304w1,");
|
||||
PRINTUSAGE("", "", " c2tnb359w1, c2pnb368w1, c2tnb431r1, secp112r1,");
|
||||
PRINTUSAGE("", "", " secp112r2, secp128r1, secp128r2, sect113r1, sect113r2,");
|
||||
PRINTUSAGE("", "", " sect131r1, sect131r2");
|
||||
#endif
|
||||
PRINTUSAGE("", "-p", "do performance test");
|
||||
fprintf(stderr, "\n");
|
||||
PRINTUSAGE(progName, "-V -m mode", "Verify a signed buffer");
|
||||
@@ -324,28 +291,23 @@ serialize_key(SECItem *it, int ni, PRFileDesc *file)
|
||||
}
|
||||
|
||||
void
|
||||
key_from_filedata(PRArenaPool *arena, SECItem *it, int ns, int ni, SECItem *filedata)
|
||||
key_from_filedata(PRArenaPool *arena, SECItem *it, int ni, SECItem *filedata)
|
||||
{
|
||||
int fpos = 0;
|
||||
int i, len;
|
||||
int i;
|
||||
unsigned char *buf = filedata->data;
|
||||
for (i=0; i<ni; i++) {
|
||||
len = (buf[fpos++] & 0xff) << 24;
|
||||
len |= (buf[fpos++] & 0xff) << 16;
|
||||
len |= (buf[fpos++] & 0xff) << 8;
|
||||
len |= (buf[fpos++] & 0xff);
|
||||
if (ns <= i) {
|
||||
if (len > 0) {
|
||||
it->len = len;
|
||||
it->data = PORT_ArenaAlloc(arena, it->len);
|
||||
PORT_Memcpy(it->data, &buf[fpos], it->len);
|
||||
} else {
|
||||
it->len = 0;
|
||||
it->data = NULL;
|
||||
}
|
||||
it++;
|
||||
for (i=0; i<ni; i++, it++) {
|
||||
it->len = (buf[fpos++] & 0xff) << 24;
|
||||
it->len |= (buf[fpos++] & 0xff) << 16;
|
||||
it->len |= (buf[fpos++] & 0xff) << 8;
|
||||
it->len |= (buf[fpos++] & 0xff);
|
||||
if (it->len > 0) {
|
||||
it->data = PORT_ArenaAlloc(arena, it->len);
|
||||
PORT_Memcpy(it->data, &buf[fpos], it->len);
|
||||
} else {
|
||||
it->data = NULL;
|
||||
}
|
||||
fpos += len;
|
||||
fpos += it->len;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -357,7 +319,7 @@ rsakey_from_filedata(SECItem *filedata)
|
||||
arena = PORT_NewArena(BLTEST_DEFAULT_CHUNKSIZE);
|
||||
key = (RSAPrivateKey *)PORT_ArenaZAlloc(arena, sizeof(RSAPrivateKey));
|
||||
key->arena = arena;
|
||||
key_from_filedata(arena, &key->version, 0, 9, filedata);
|
||||
key_from_filedata(arena, &key->version, 9, filedata);
|
||||
return key;
|
||||
}
|
||||
|
||||
@@ -369,7 +331,7 @@ pqg_from_filedata(SECItem *filedata)
|
||||
arena = PORT_NewArena(BLTEST_DEFAULT_CHUNKSIZE);
|
||||
pqg = (PQGParams *)PORT_ArenaZAlloc(arena, sizeof(PQGParams));
|
||||
pqg->arena = arena;
|
||||
key_from_filedata(arena, &pqg->prime, 0, 3, filedata);
|
||||
key_from_filedata(arena, &pqg->prime, 3, filedata);
|
||||
return pqg;
|
||||
}
|
||||
|
||||
@@ -381,166 +343,10 @@ dsakey_from_filedata(SECItem *filedata)
|
||||
arena = PORT_NewArena(BLTEST_DEFAULT_CHUNKSIZE);
|
||||
key = (DSAPrivateKey *)PORT_ArenaZAlloc(arena, sizeof(DSAPrivateKey));
|
||||
key->params.arena = arena;
|
||||
key_from_filedata(arena, &key->params.prime, 0, 5, filedata);
|
||||
key_from_filedata(arena, &key->params.prime, 5, filedata);
|
||||
return key;
|
||||
}
|
||||
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
static ECPrivateKey *
|
||||
eckey_from_filedata(SECItem *filedata)
|
||||
{
|
||||
ECPrivateKey *key;
|
||||
PRArenaPool *arena;
|
||||
SECStatus rv;
|
||||
ECParams *tmpECParams = NULL;
|
||||
arena = PORT_NewArena(BLTEST_DEFAULT_CHUNKSIZE);
|
||||
key = (ECPrivateKey *)PORT_ArenaZAlloc(arena, sizeof(ECPrivateKey));
|
||||
/* read and convert params */
|
||||
key->ecParams.arena = arena;
|
||||
key_from_filedata(arena, &key->ecParams.DEREncoding, 0, 1, filedata);
|
||||
rv = secoid_Init();
|
||||
CHECKERROR(rv, __LINE__);
|
||||
rv = EC_DecodeParams(&key->ecParams.DEREncoding, &tmpECParams);
|
||||
CHECKERROR(rv, __LINE__);
|
||||
rv = EC_CopyParams(key->ecParams.arena, &key->ecParams, tmpECParams);
|
||||
CHECKERROR(rv, __LINE__);
|
||||
rv = SECOID_Shutdown();
|
||||
CHECKERROR(rv, __LINE__);
|
||||
PORT_FreeArena(tmpECParams->arena, PR_TRUE);
|
||||
/* read key */
|
||||
key_from_filedata(arena, &key->publicValue, 1, 3, filedata);
|
||||
return key;
|
||||
}
|
||||
|
||||
typedef struct curveNameTagPairStr {
|
||||
char *curveName;
|
||||
SECOidTag curveOidTag;
|
||||
} CurveNameTagPair;
|
||||
|
||||
#define DEFAULT_CURVE_OID_TAG SEC_OID_SECG_EC_SECP192R1
|
||||
/* #define DEFAULT_CURVE_OID_TAG SEC_OID_SECG_EC_SECP160R1 */
|
||||
|
||||
static CurveNameTagPair nameTagPair[] =
|
||||
{
|
||||
{ "sect163k1", SEC_OID_SECG_EC_SECT163K1},
|
||||
{ "nistk163", SEC_OID_SECG_EC_SECT163K1},
|
||||
{ "sect163r1", SEC_OID_SECG_EC_SECT163R1},
|
||||
{ "sect163r2", SEC_OID_SECG_EC_SECT163R2},
|
||||
{ "nistb163", SEC_OID_SECG_EC_SECT163R2},
|
||||
{ "sect193r1", SEC_OID_SECG_EC_SECT193R1},
|
||||
{ "sect193r2", SEC_OID_SECG_EC_SECT193R2},
|
||||
{ "sect233k1", SEC_OID_SECG_EC_SECT233K1},
|
||||
{ "nistk233", SEC_OID_SECG_EC_SECT233K1},
|
||||
{ "sect233r1", SEC_OID_SECG_EC_SECT233R1},
|
||||
{ "nistb233", SEC_OID_SECG_EC_SECT233R1},
|
||||
{ "sect239k1", SEC_OID_SECG_EC_SECT239K1},
|
||||
{ "sect283k1", SEC_OID_SECG_EC_SECT283K1},
|
||||
{ "nistk283", SEC_OID_SECG_EC_SECT283K1},
|
||||
{ "sect283r1", SEC_OID_SECG_EC_SECT283R1},
|
||||
{ "nistb283", SEC_OID_SECG_EC_SECT283R1},
|
||||
{ "sect409k1", SEC_OID_SECG_EC_SECT409K1},
|
||||
{ "nistk409", SEC_OID_SECG_EC_SECT409K1},
|
||||
{ "sect409r1", SEC_OID_SECG_EC_SECT409R1},
|
||||
{ "nistb409", SEC_OID_SECG_EC_SECT409R1},
|
||||
{ "sect571k1", SEC_OID_SECG_EC_SECT571K1},
|
||||
{ "nistk571", SEC_OID_SECG_EC_SECT571K1},
|
||||
{ "sect571r1", SEC_OID_SECG_EC_SECT571R1},
|
||||
{ "nistb571", SEC_OID_SECG_EC_SECT571R1},
|
||||
{ "secp160k1", SEC_OID_SECG_EC_SECP160K1},
|
||||
{ "secp160r1", SEC_OID_SECG_EC_SECP160R1},
|
||||
{ "secp160r2", SEC_OID_SECG_EC_SECP160R2},
|
||||
{ "secp192k1", SEC_OID_SECG_EC_SECP192K1},
|
||||
{ "secp192r1", SEC_OID_SECG_EC_SECP192R1},
|
||||
{ "nistp192", SEC_OID_SECG_EC_SECP192R1},
|
||||
{ "secp224k1", SEC_OID_SECG_EC_SECP224K1},
|
||||
{ "secp224r1", SEC_OID_SECG_EC_SECP224R1},
|
||||
{ "nistp224", SEC_OID_SECG_EC_SECP224R1},
|
||||
{ "secp256k1", SEC_OID_SECG_EC_SECP256K1},
|
||||
{ "secp256r1", SEC_OID_SECG_EC_SECP256R1},
|
||||
{ "nistp256", SEC_OID_SECG_EC_SECP256R1},
|
||||
{ "secp384r1", SEC_OID_SECG_EC_SECP384R1},
|
||||
{ "nistp384", SEC_OID_SECG_EC_SECP384R1},
|
||||
{ "secp521r1", SEC_OID_SECG_EC_SECP521R1},
|
||||
{ "nistp521", SEC_OID_SECG_EC_SECP521R1},
|
||||
|
||||
{ "prime192v1", SEC_OID_ANSIX962_EC_PRIME192V1 },
|
||||
{ "prime192v2", SEC_OID_ANSIX962_EC_PRIME192V2 },
|
||||
{ "prime192v3", SEC_OID_ANSIX962_EC_PRIME192V3 },
|
||||
{ "prime239v1", SEC_OID_ANSIX962_EC_PRIME239V1 },
|
||||
{ "prime239v2", SEC_OID_ANSIX962_EC_PRIME239V2 },
|
||||
{ "prime239v3", SEC_OID_ANSIX962_EC_PRIME239V3 },
|
||||
|
||||
{ "c2pnb163v1", SEC_OID_ANSIX962_EC_C2PNB163V1 },
|
||||
{ "c2pnb163v2", SEC_OID_ANSIX962_EC_C2PNB163V2 },
|
||||
{ "c2pnb163v3", SEC_OID_ANSIX962_EC_C2PNB163V3 },
|
||||
{ "c2pnb176v1", SEC_OID_ANSIX962_EC_C2PNB176V1 },
|
||||
{ "c2tnb191v1", SEC_OID_ANSIX962_EC_C2TNB191V1 },
|
||||
{ "c2tnb191v2", SEC_OID_ANSIX962_EC_C2TNB191V2 },
|
||||
{ "c2tnb191v3", SEC_OID_ANSIX962_EC_C2TNB191V3 },
|
||||
{ "c2onb191v4", SEC_OID_ANSIX962_EC_C2ONB191V4 },
|
||||
{ "c2onb191v5", SEC_OID_ANSIX962_EC_C2ONB191V5 },
|
||||
{ "c2pnb208w1", SEC_OID_ANSIX962_EC_C2PNB208W1 },
|
||||
{ "c2tnb239v1", SEC_OID_ANSIX962_EC_C2TNB239V1 },
|
||||
{ "c2tnb239v2", SEC_OID_ANSIX962_EC_C2TNB239V2 },
|
||||
{ "c2tnb239v3", SEC_OID_ANSIX962_EC_C2TNB239V3 },
|
||||
{ "c2onb239v4", SEC_OID_ANSIX962_EC_C2ONB239V4 },
|
||||
{ "c2onb239v5", SEC_OID_ANSIX962_EC_C2ONB239V5 },
|
||||
{ "c2pnb272w1", SEC_OID_ANSIX962_EC_C2PNB272W1 },
|
||||
{ "c2pnb304w1", SEC_OID_ANSIX962_EC_C2PNB304W1 },
|
||||
{ "c2tnb359v1", SEC_OID_ANSIX962_EC_C2TNB359V1 },
|
||||
{ "c2pnb368w1", SEC_OID_ANSIX962_EC_C2PNB368W1 },
|
||||
{ "c2tnb431r1", SEC_OID_ANSIX962_EC_C2TNB431R1 },
|
||||
|
||||
{ "secp112r1", SEC_OID_SECG_EC_SECP112R1},
|
||||
{ "secp112r2", SEC_OID_SECG_EC_SECP112R2},
|
||||
{ "secp128r1", SEC_OID_SECG_EC_SECP128R1},
|
||||
{ "secp128r2", SEC_OID_SECG_EC_SECP128R2},
|
||||
|
||||
{ "sect113r1", SEC_OID_SECG_EC_SECT113R1},
|
||||
{ "sect113r2", SEC_OID_SECG_EC_SECT113R2},
|
||||
{ "sect131r1", SEC_OID_SECG_EC_SECT131R1},
|
||||
{ "sect131r2", SEC_OID_SECG_EC_SECT131R2},
|
||||
};
|
||||
|
||||
static SECKEYECParams *
|
||||
getECParams(char *curve)
|
||||
{
|
||||
SECKEYECParams *ecparams;
|
||||
SECOidData *oidData = NULL;
|
||||
SECOidTag curveOidTag = SEC_OID_UNKNOWN; /* default */
|
||||
int i, numCurves;
|
||||
|
||||
if (curve != NULL) {
|
||||
numCurves = sizeof(nameTagPair)/sizeof(CurveNameTagPair);
|
||||
for (i = 0; ((i < numCurves) && (curveOidTag == SEC_OID_UNKNOWN));
|
||||
i++) {
|
||||
if (PL_strcmp(curve, nameTagPair[i].curveName) == 0)
|
||||
curveOidTag = nameTagPair[i].curveOidTag;
|
||||
}
|
||||
}
|
||||
|
||||
/* Return NULL if curve name is not recognized */
|
||||
if ((curveOidTag == SEC_OID_UNKNOWN) ||
|
||||
(oidData = SECOID_FindOIDByTag(curveOidTag)) == NULL) {
|
||||
fprintf(stderr, "Unrecognized elliptic curve %s\n", curve);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ecparams = SECITEM_AllocItem(NULL, NULL, (2 + oidData->oid.len));
|
||||
|
||||
/*
|
||||
* ecparams->data needs to contain the ASN encoding of an object ID (OID)
|
||||
* representing the named curve. The actual OID is in
|
||||
* oidData->oid.data so we simply prepend 0x06 and OID length
|
||||
*/
|
||||
ecparams->data[0] = SEC_ASN1_OBJECT_ID;
|
||||
ecparams->data[1] = oidData->oid.len;
|
||||
memcpy(ecparams->data + 2, oidData->oid.data, oidData->oid.len);
|
||||
|
||||
return ecparams;
|
||||
}
|
||||
#endif /* NSS_ENABLE_ECC */
|
||||
|
||||
static void
|
||||
dump_pqg(PQGParams *pqg)
|
||||
{
|
||||
@@ -557,23 +363,6 @@ dump_dsakey(DSAPrivateKey *key)
|
||||
SECU_PrintInteger(stdout, &key->privateValue, "PRIVATE VALUE:", 0);
|
||||
}
|
||||
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
static void
|
||||
dump_ecp(ECParams *ecp)
|
||||
{
|
||||
/* TODO other fields */
|
||||
SECU_PrintInteger(stdout, &ecp->base, "BASE POINT:", 0);
|
||||
}
|
||||
|
||||
static void
|
||||
dump_eckey(ECPrivateKey *key)
|
||||
{
|
||||
dump_ecp(&key->ecParams);
|
||||
SECU_PrintInteger(stdout, &key->publicValue, "PUBLIC VALUE:", 0);
|
||||
SECU_PrintInteger(stdout, &key->privateValue, "PRIVATE VALUE:", 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
dump_rsakey(RSAPrivateKey *key)
|
||||
{
|
||||
@@ -632,10 +421,7 @@ typedef enum {
|
||||
bltestAES_ECB, /* . */
|
||||
bltestAES_CBC, /* . */
|
||||
bltestRSA, /* Public Key Ciphers */
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
bltestECDSA, /* . (Public Key Sig.) */
|
||||
#endif
|
||||
bltestDSA, /* . */
|
||||
bltestDSA, /* . (Public Key Sig.) */
|
||||
bltestMD2, /* Hash algorithms */
|
||||
bltestMD5, /* . */
|
||||
bltestSHA1, /* . */
|
||||
@@ -659,9 +445,6 @@ static char *mode_strings[] =
|
||||
"aes_ecb",
|
||||
"aes_cbc",
|
||||
"rsa",
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
"ecdsa",
|
||||
#endif
|
||||
/*"pqg",*/
|
||||
"dsa",
|
||||
"md2",
|
||||
@@ -705,17 +488,6 @@ typedef struct
|
||||
DSAPrivateKey *dsakey;
|
||||
} bltestDSAParams;
|
||||
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
typedef struct
|
||||
{
|
||||
bltestIO key;
|
||||
char *curveName;
|
||||
bltestIO sigseed;
|
||||
bltestIO sig; /* if doing verify, have additional input */
|
||||
ECPrivateKey *eckey;
|
||||
} bltestECDSAParams;
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bltestIO key; /* unused */
|
||||
@@ -729,9 +501,6 @@ typedef union
|
||||
bltestRC5Params rc5;
|
||||
bltestRSAParams rsa;
|
||||
bltestDSAParams dsa;
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
bltestECDSAParams ecdsa;
|
||||
#endif
|
||||
bltestHashParams hash;
|
||||
} bltestParams;
|
||||
|
||||
@@ -791,11 +560,7 @@ PRBool
|
||||
is_sigCipher(bltestCipherMode mode)
|
||||
{
|
||||
/* change as needed! */
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
if (mode >= bltestECDSA && mode <= bltestDSA)
|
||||
#else
|
||||
if (mode >= bltestDSA && mode <= bltestDSA)
|
||||
#endif
|
||||
return PR_TRUE;
|
||||
return PR_FALSE;
|
||||
}
|
||||
@@ -1064,20 +829,6 @@ dsa_verifyDigest(void *key, SECItem *output, const SECItem *input)
|
||||
return DSA_VerifyDigest((DSAPublicKey *)key, output, input);
|
||||
}
|
||||
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
SECStatus
|
||||
ecdsa_signDigest(void *key, SECItem *output, const SECItem *input)
|
||||
{
|
||||
return ECDSA_SignDigest((ECPrivateKey *)key, output, input);
|
||||
}
|
||||
|
||||
SECStatus
|
||||
ecdsa_verifyDigest(void *key, SECItem *output, const SECItem *input)
|
||||
{
|
||||
return ECDSA_VerifyDigest((ECPublicKey *)key, output, input);
|
||||
}
|
||||
#endif
|
||||
|
||||
SECStatus
|
||||
bltest_des_init(bltestCipherInfo *cipherInfo, PRBool encrypt)
|
||||
{
|
||||
@@ -1374,74 +1125,6 @@ bltest_dsa_init(bltestCipherInfo *cipherInfo, PRBool encrypt)
|
||||
return SECSuccess;
|
||||
}
|
||||
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
SECStatus
|
||||
bltest_ecdsa_init(bltestCipherInfo *cipherInfo, PRBool encrypt)
|
||||
{
|
||||
int i;
|
||||
ECPrivateKey **dummyKey;
|
||||
PRIntervalTime time1, time2;
|
||||
bltestECDSAParams *ecdsap = &cipherInfo->params.ecdsa;
|
||||
/* ECDSA key gen was done during parameter setup */
|
||||
cipherInfo->cx = cipherInfo->params.ecdsa.eckey;
|
||||
/* For performance testing */
|
||||
if (cipherInfo->cxreps > 0) {
|
||||
/* Create space for n private key objects */
|
||||
dummyKey = (ECPrivateKey **)PORT_ZAlloc(cipherInfo->cxreps *
|
||||
sizeof(ECPrivateKey *));
|
||||
/* Time n keygens, storing in the array */
|
||||
TIMESTART();
|
||||
for (i=0; i<cipherInfo->cxreps; i++) {
|
||||
EC_NewKey(&ecdsap->eckey->ecParams, &dummyKey[i]);
|
||||
}
|
||||
TIMEFINISH(cipherInfo->cxtime, cipherInfo->cxreps);
|
||||
/* Free the n key objects */
|
||||
for (i=0; i<cipherInfo->cxreps; i++)
|
||||
PORT_FreeArena(dummyKey[i]->ecParams.arena, PR_TRUE);
|
||||
PORT_Free(dummyKey);
|
||||
}
|
||||
if (!cipherInfo->cx && ecdsap->key.buf.len > 0) {
|
||||
cipherInfo->cx = eckey_from_filedata(&ecdsap->key.buf);
|
||||
}
|
||||
if (encrypt) {
|
||||
cipherInfo->cipher.pubkeyCipher = ecdsa_signDigest;
|
||||
} else {
|
||||
/* Have to convert private key to public key. Memory
|
||||
* is freed with private key's arena */
|
||||
ECPublicKey *pubkey;
|
||||
ECPrivateKey *key = (ECPrivateKey *)cipherInfo->cx;
|
||||
pubkey = (ECPublicKey *)PORT_ArenaZAlloc(key->ecParams.arena,
|
||||
sizeof(ECPublicKey));
|
||||
pubkey->ecParams.type = key->ecParams.type;
|
||||
pubkey->ecParams.fieldID.size = key->ecParams.fieldID.size;
|
||||
pubkey->ecParams.fieldID.type = key->ecParams.fieldID.type;
|
||||
pubkey->ecParams.fieldID.u.prime.len = key->ecParams.fieldID.u.prime.len;
|
||||
pubkey->ecParams.fieldID.u.prime.data = key->ecParams.fieldID.u.prime.data;
|
||||
pubkey->ecParams.fieldID.k1 = key->ecParams.fieldID.k1;
|
||||
pubkey->ecParams.fieldID.k2 = key->ecParams.fieldID.k2;
|
||||
pubkey->ecParams.fieldID.k3 = key->ecParams.fieldID.k3;
|
||||
pubkey->ecParams.curve.a.len = key->ecParams.curve.a.len;
|
||||
pubkey->ecParams.curve.a.data = key->ecParams.curve.a.data;
|
||||
pubkey->ecParams.curve.b.len = key->ecParams.curve.b.len;
|
||||
pubkey->ecParams.curve.b.data = key->ecParams.curve.b.data;
|
||||
pubkey->ecParams.curve.seed.len = key->ecParams.curve.seed.len;
|
||||
pubkey->ecParams.curve.seed.data = key->ecParams.curve.seed.data;
|
||||
pubkey->ecParams.base.len = key->ecParams.base.len;
|
||||
pubkey->ecParams.base.data = key->ecParams.base.data;
|
||||
pubkey->ecParams.order.len = key->ecParams.order.len;
|
||||
pubkey->ecParams.order.data = key->ecParams.order.data;
|
||||
pubkey->ecParams.cofactor = key->ecParams.cofactor;
|
||||
pubkey->ecParams.DEREncoding.len = key->ecParams.DEREncoding.len;
|
||||
pubkey->ecParams.DEREncoding.data = key->ecParams.DEREncoding.data;
|
||||
pubkey->ecParams.name= key->ecParams.name;
|
||||
pubkey->publicValue.len = key->publicValue.len;
|
||||
pubkey->publicValue.data = key->publicValue.data;
|
||||
cipherInfo->cipher.pubkeyCipher = ecdsa_verifyDigest;
|
||||
}
|
||||
return SECSuccess;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* XXX unfortunately, this is not defined in blapi.h */
|
||||
SECStatus
|
||||
md2_HashBuf(unsigned char *dest, const unsigned char *src, uint32 src_length)
|
||||
@@ -1572,141 +1255,14 @@ finish:
|
||||
return rv;
|
||||
}
|
||||
|
||||
SECStatus
|
||||
SHA256_restart(unsigned char *dest, const unsigned char *src, uint32 src_length)
|
||||
{
|
||||
SECStatus rv = SECSuccess;
|
||||
SHA256Context *cx, *cx_cpy;
|
||||
unsigned char *cxbytes;
|
||||
unsigned int len;
|
||||
unsigned int i, quarter;
|
||||
cx = SHA256_NewContext();
|
||||
SHA256_Begin(cx);
|
||||
/* divide message by 4, restarting 3 times */
|
||||
quarter = (src_length + 3)/ 4;
|
||||
for (i=0; i < 4 && src_length > 0; i++) {
|
||||
SHA256_Update(cx, src + i*quarter, PR_MIN(quarter, src_length));
|
||||
len = SHA256_FlattenSize(cx);
|
||||
cxbytes = PORT_Alloc(len);
|
||||
SHA256_Flatten(cx, cxbytes);
|
||||
cx_cpy = SHA256_Resurrect(cxbytes, NULL);
|
||||
if (!cx_cpy) {
|
||||
PR_fprintf(PR_STDERR, "%s: SHA256_Resurrect failed!\n", progName);
|
||||
rv = SECFailure;
|
||||
goto finish;
|
||||
}
|
||||
rv = PORT_Memcmp(cx, cx_cpy, len);
|
||||
if (rv) {
|
||||
SHA256_DestroyContext(cx_cpy, PR_TRUE);
|
||||
PR_fprintf(PR_STDERR, "%s: SHA256_restart failed!\n", progName);
|
||||
goto finish;
|
||||
}
|
||||
SHA256_DestroyContext(cx_cpy, PR_TRUE);
|
||||
PORT_Free(cxbytes);
|
||||
src_length -= quarter;
|
||||
}
|
||||
SHA256_End(cx, dest, &len, MD5_LENGTH);
|
||||
finish:
|
||||
SHA256_DestroyContext(cx, PR_TRUE);
|
||||
return rv;
|
||||
}
|
||||
|
||||
SECStatus
|
||||
SHA384_restart(unsigned char *dest, const unsigned char *src, uint32 src_length)
|
||||
{
|
||||
SECStatus rv = SECSuccess;
|
||||
SHA384Context *cx, *cx_cpy;
|
||||
unsigned char *cxbytes;
|
||||
unsigned int len;
|
||||
unsigned int i, quarter;
|
||||
cx = SHA384_NewContext();
|
||||
SHA384_Begin(cx);
|
||||
/* divide message by 4, restarting 3 times */
|
||||
quarter = (src_length + 3)/ 4;
|
||||
for (i=0; i < 4 && src_length > 0; i++) {
|
||||
SHA384_Update(cx, src + i*quarter, PR_MIN(quarter, src_length));
|
||||
len = SHA384_FlattenSize(cx);
|
||||
cxbytes = PORT_Alloc(len);
|
||||
SHA384_Flatten(cx, cxbytes);
|
||||
cx_cpy = SHA384_Resurrect(cxbytes, NULL);
|
||||
if (!cx_cpy) {
|
||||
PR_fprintf(PR_STDERR, "%s: SHA384_Resurrect failed!\n", progName);
|
||||
rv = SECFailure;
|
||||
goto finish;
|
||||
}
|
||||
rv = PORT_Memcmp(cx, cx_cpy, len);
|
||||
if (rv) {
|
||||
SHA384_DestroyContext(cx_cpy, PR_TRUE);
|
||||
PR_fprintf(PR_STDERR, "%s: SHA384_restart failed!\n", progName);
|
||||
goto finish;
|
||||
}
|
||||
SHA384_DestroyContext(cx_cpy, PR_TRUE);
|
||||
PORT_Free(cxbytes);
|
||||
src_length -= quarter;
|
||||
}
|
||||
SHA384_End(cx, dest, &len, MD5_LENGTH);
|
||||
finish:
|
||||
SHA384_DestroyContext(cx, PR_TRUE);
|
||||
return rv;
|
||||
}
|
||||
|
||||
SECStatus
|
||||
SHA512_restart(unsigned char *dest, const unsigned char *src, uint32 src_length)
|
||||
{
|
||||
SECStatus rv = SECSuccess;
|
||||
SHA512Context *cx, *cx_cpy;
|
||||
unsigned char *cxbytes;
|
||||
unsigned int len;
|
||||
unsigned int i, quarter;
|
||||
cx = SHA512_NewContext();
|
||||
SHA512_Begin(cx);
|
||||
/* divide message by 4, restarting 3 times */
|
||||
quarter = (src_length + 3)/ 4;
|
||||
for (i=0; i < 4 && src_length > 0; i++) {
|
||||
SHA512_Update(cx, src + i*quarter, PR_MIN(quarter, src_length));
|
||||
len = SHA512_FlattenSize(cx);
|
||||
cxbytes = PORT_Alloc(len);
|
||||
SHA512_Flatten(cx, cxbytes);
|
||||
cx_cpy = SHA512_Resurrect(cxbytes, NULL);
|
||||
if (!cx_cpy) {
|
||||
PR_fprintf(PR_STDERR, "%s: SHA512_Resurrect failed!\n", progName);
|
||||
rv = SECFailure;
|
||||
goto finish;
|
||||
}
|
||||
rv = PORT_Memcmp(cx, cx_cpy, len);
|
||||
if (rv) {
|
||||
SHA512_DestroyContext(cx_cpy, PR_TRUE);
|
||||
PR_fprintf(PR_STDERR, "%s: SHA512_restart failed!\n", progName);
|
||||
goto finish;
|
||||
}
|
||||
SHA512_DestroyContext(cx_cpy, PR_TRUE);
|
||||
PORT_Free(cxbytes);
|
||||
src_length -= quarter;
|
||||
}
|
||||
SHA512_End(cx, dest, &len, MD5_LENGTH);
|
||||
finish:
|
||||
SHA512_DestroyContext(cx, PR_TRUE);
|
||||
return rv;
|
||||
}
|
||||
|
||||
SECStatus
|
||||
pubkeyInitKey(bltestCipherInfo *cipherInfo, PRFileDesc *file,
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
int keysize, int exponent, char *curveName)
|
||||
#else
|
||||
int keysize, int exponent)
|
||||
#endif
|
||||
{
|
||||
int i;
|
||||
SECStatus rv = SECSuccess;
|
||||
bltestRSAParams *rsap;
|
||||
bltestDSAParams *dsap;
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
bltestECDSAParams *ecdsap;
|
||||
SECItem *tmpECParamsDER;
|
||||
ECParams *tmpECParams = NULL;
|
||||
SECItem ecSerialize[3];
|
||||
#endif
|
||||
switch (cipherInfo->mode) {
|
||||
case bltestRSA:
|
||||
rsap = &cipherInfo->params.rsa;
|
||||
@@ -1739,37 +1295,6 @@ pubkeyInitKey(bltestCipherInfo *cipherInfo, PRFileDesc *file,
|
||||
dsap->j = PQG_PBITS_TO_INDEX(8*dsap->dsakey->params.prime.len);
|
||||
}
|
||||
break;
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
case bltestECDSA:
|
||||
ecdsap = &cipherInfo->params.ecdsa;
|
||||
if (curveName != NULL) {
|
||||
tmpECParamsDER = getECParams(curveName);
|
||||
rv = secoid_Init();
|
||||
CHECKERROR(rv, __LINE__);
|
||||
rv = EC_DecodeParams(tmpECParamsDER, &tmpECParams) == SECFailure;
|
||||
CHECKERROR(rv, __LINE__);
|
||||
rv = EC_NewKey(tmpECParams, &ecdsap->eckey);
|
||||
CHECKERROR(rv, __LINE__);
|
||||
ecSerialize[0].type = tmpECParamsDER->type;
|
||||
ecSerialize[0].data = tmpECParamsDER->data;
|
||||
ecSerialize[0].len = tmpECParamsDER->len;
|
||||
ecSerialize[1].type = ecdsap->eckey->publicValue.type;
|
||||
ecSerialize[1].data = ecdsap->eckey->publicValue.data;
|
||||
ecSerialize[1].len = ecdsap->eckey->publicValue.len;
|
||||
ecSerialize[2].type = ecdsap->eckey->privateValue.type;
|
||||
ecSerialize[2].data = ecdsap->eckey->privateValue.data;
|
||||
ecSerialize[2].len = ecdsap->eckey->privateValue.len;
|
||||
serialize_key(&(ecSerialize[0]), 3, file);
|
||||
free(tmpECParamsDER);
|
||||
PORT_FreeArena(tmpECParams->arena, PR_TRUE);
|
||||
rv = SECOID_Shutdown();
|
||||
CHECKERROR(rv, __LINE__);
|
||||
} else {
|
||||
setupIO(cipherInfo->arena, &cipherInfo->params.key, file, NULL, 0);
|
||||
ecdsap->eckey = eckey_from_filedata(&cipherInfo->params.key.buf);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
return SECFailure;
|
||||
}
|
||||
@@ -1824,13 +1349,6 @@ cipherInit(bltestCipherInfo *cipherInfo, PRBool encrypt)
|
||||
DSA_SIGNATURE_LEN);
|
||||
return bltest_dsa_init(cipherInfo, encrypt);
|
||||
break;
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
case bltestECDSA:
|
||||
SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf,
|
||||
2 * MAX_ECKEY_LEN);
|
||||
return bltest_ecdsa_init(cipherInfo, encrypt);
|
||||
break;
|
||||
#endif
|
||||
case bltestMD2:
|
||||
restart = cipherInfo->params.hash.restart;
|
||||
SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf,
|
||||
@@ -1853,29 +1371,8 @@ cipherInit(bltestCipherInfo *cipherInfo, PRBool encrypt)
|
||||
return SECSuccess;
|
||||
break;
|
||||
case bltestSHA256:
|
||||
restart = cipherInfo->params.hash.restart;
|
||||
SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf,
|
||||
SHA256_LENGTH);
|
||||
cipherInfo->cipher.hashCipher = (restart) ? SHA256_restart
|
||||
: SHA256_HashBuf;
|
||||
return SECSuccess;
|
||||
break;
|
||||
case bltestSHA384:
|
||||
restart = cipherInfo->params.hash.restart;
|
||||
SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf,
|
||||
SHA384_LENGTH);
|
||||
cipherInfo->cipher.hashCipher = (restart) ? SHA384_restart
|
||||
: SHA384_HashBuf;
|
||||
return SECSuccess;
|
||||
break;
|
||||
case bltestSHA512:
|
||||
restart = cipherInfo->params.hash.restart;
|
||||
SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf,
|
||||
SHA512_LENGTH);
|
||||
cipherInfo->cipher.hashCipher = (restart) ? SHA512_restart
|
||||
: SHA512_HashBuf;
|
||||
return SECSuccess;
|
||||
break;
|
||||
default:
|
||||
return SECFailure;
|
||||
}
|
||||
@@ -1938,66 +1435,6 @@ dsaOp(bltestCipherInfo *cipherInfo)
|
||||
return rv;
|
||||
}
|
||||
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
SECStatus
|
||||
ecdsaOp(bltestCipherInfo *cipherInfo)
|
||||
{
|
||||
PRIntervalTime time1, time2;
|
||||
SECStatus rv = SECSuccess;
|
||||
int i;
|
||||
int maxLen = cipherInfo->output.pBuf.len;
|
||||
SECItem dummyOut = { 0, 0, 0 };
|
||||
SECITEM_AllocItem(NULL, &dummyOut, maxLen);
|
||||
if (cipherInfo->cipher.pubkeyCipher == ecdsa_signDigest) {
|
||||
if (cipherInfo->params.ecdsa.sigseed.buf.len > 0) {
|
||||
rv = ECDSA_SignDigestWithSeed((ECPrivateKey *)cipherInfo->cx,
|
||||
&cipherInfo->output.pBuf,
|
||||
&cipherInfo->input.pBuf,
|
||||
cipherInfo->params.ecdsa.sigseed.buf.data,
|
||||
cipherInfo->params.ecdsa.sigseed.buf.len);
|
||||
CHECKERROR(rv, __LINE__);
|
||||
TIMESTART();
|
||||
for (i=0; i<cipherInfo->repetitions; i++) {
|
||||
rv |= ECDSA_SignDigestWithSeed((ECPrivateKey *)cipherInfo->cx,
|
||||
&dummyOut,
|
||||
&cipherInfo->input.pBuf,
|
||||
cipherInfo->params.ecdsa.sigseed.buf.data,
|
||||
cipherInfo->params.ecdsa.sigseed.buf.len);
|
||||
}
|
||||
TIMEFINISH(cipherInfo->optime, 1.0);
|
||||
CHECKERROR(rv, __LINE__);
|
||||
} else {
|
||||
rv = ECDSA_SignDigest((ECPrivateKey *)cipherInfo->cx,
|
||||
&cipherInfo->output.pBuf,
|
||||
&cipherInfo->input.pBuf);
|
||||
CHECKERROR(rv, __LINE__);
|
||||
TIMESTART();
|
||||
for (i=0; i<cipherInfo->repetitions; i++) {
|
||||
ECDSA_SignDigest((ECPrivateKey *)cipherInfo->cx, &dummyOut,
|
||||
&cipherInfo->input.pBuf);
|
||||
}
|
||||
TIMEFINISH(cipherInfo->optime, 1.0);
|
||||
}
|
||||
bltestCopyIO(cipherInfo->arena, &cipherInfo->params.ecdsa.sig,
|
||||
&cipherInfo->output);
|
||||
} else {
|
||||
rv = ECDSA_VerifyDigest((ECPublicKey *)cipherInfo->cx,
|
||||
&cipherInfo->params.ecdsa.sig.buf,
|
||||
&cipherInfo->input.pBuf);
|
||||
CHECKERROR(rv, __LINE__);
|
||||
TIMESTART();
|
||||
for (i=0; i<cipherInfo->repetitions; i++) {
|
||||
ECDSA_VerifyDigest((ECPublicKey *)cipherInfo->cx,
|
||||
&cipherInfo->params.ecdsa.sig.buf,
|
||||
&cipherInfo->input.pBuf);
|
||||
}
|
||||
TIMEFINISH(cipherInfo->optime, 1.0);
|
||||
}
|
||||
SECITEM_FreeItem(&dummyOut, PR_FALSE);
|
||||
return rv;
|
||||
}
|
||||
#endif
|
||||
|
||||
SECStatus
|
||||
cipherDoOp(bltestCipherInfo *cipherInfo)
|
||||
{
|
||||
@@ -2008,10 +1445,6 @@ cipherDoOp(bltestCipherInfo *cipherInfo)
|
||||
unsigned char *dummyOut;
|
||||
if (cipherInfo->mode == bltestDSA)
|
||||
return dsaOp(cipherInfo);
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
else if (cipherInfo->mode == bltestECDSA)
|
||||
return ecdsaOp(cipherInfo);
|
||||
#endif
|
||||
dummyOut = PORT_Alloc(maxLen);
|
||||
if (is_symmkeyCipher(cipherInfo->mode)) {
|
||||
rv = (*cipherInfo->cipher.symmkeyCipher)(cipherInfo->cx,
|
||||
@@ -2086,9 +1519,6 @@ cipherFinish(bltestCipherInfo *cipherInfo)
|
||||
#endif
|
||||
case bltestRSA: /* keys are alloc'ed within cipherInfo's arena, */
|
||||
case bltestDSA: /* will be freed with it. */
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
case bltestECDSA:
|
||||
#endif
|
||||
case bltestMD2: /* hash contexts are ephemeral */
|
||||
case bltestMD5:
|
||||
case bltestSHA1:
|
||||
@@ -2165,14 +1595,6 @@ print_td:
|
||||
else
|
||||
fprintf(stdout, "%8d", PQG_INDEX_TO_PBITS(info->params.dsa.j));
|
||||
break;
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
case bltestECDSA:
|
||||
if (td)
|
||||
fprintf(stdout, "%12s", "ec_curve");
|
||||
else
|
||||
fprintf(stdout, "%12s", ecCurve_map[info->params.ecdsa.eckey->ecParams.name]->text);
|
||||
break;
|
||||
#endif
|
||||
case bltestMD2:
|
||||
case bltestMD5:
|
||||
case bltestSHA1:
|
||||
@@ -2317,18 +1739,6 @@ get_params(PRArenaPool *arena, bltestParams *params,
|
||||
sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "ciphertext",j);
|
||||
load_file_data(arena, ¶ms->dsa.sig, filename, bltestBase64Encoded);
|
||||
break;
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
case bltestECDSA:
|
||||
sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "key", j);
|
||||
load_file_data(arena, ¶ms->ecdsa.key, filename, bltestBase64Encoded);
|
||||
params->ecdsa.eckey = eckey_from_filedata(¶ms->key.buf);
|
||||
sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "sigseed", j);
|
||||
load_file_data(arena, ¶ms->ecdsa.sigseed, filename,
|
||||
bltestBase64Encoded);
|
||||
sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "ciphertext",j);
|
||||
load_file_data(arena, ¶ms->ecdsa.sig, filename, bltestBase64Encoded);
|
||||
break;
|
||||
#endif
|
||||
case bltestMD2:
|
||||
case bltestMD5:
|
||||
case bltestSHA1:
|
||||
@@ -2397,7 +1807,7 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
|
||||
bltestIO pt, ct;
|
||||
bltestCipherMode mode;
|
||||
bltestParams *params;
|
||||
int i, j, nummodes, numtests;
|
||||
int i, j, nummodes;
|
||||
char *modestr;
|
||||
char filename[256];
|
||||
PRFileDesc *file;
|
||||
@@ -2445,12 +1855,7 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
|
||||
#endif
|
||||
PR_Close(file);
|
||||
/* loop over the tests in the directory */
|
||||
numtests = (int) (item.data[0] - '0');
|
||||
for (j=1; j<item.len - 1; j++) {
|
||||
numtests *= 10;
|
||||
numtests += (int) (item.data[j] - '0');
|
||||
}
|
||||
for (j=0; j<numtests; j++) {
|
||||
for (j=0; j<(int)(item.data[0] - '0'); j++) { /* XXX bug when > 10 */
|
||||
#ifdef TRACK_BLTEST_BUG
|
||||
if (mode == bltestRSA) {
|
||||
fprintf(stderr, "[%s] Executing self-test #%d\n", __bltDBG, j);
|
||||
@@ -2458,13 +1863,8 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
|
||||
#endif
|
||||
sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr,
|
||||
"plaintext", j);
|
||||
load_file_data(arena, &pt, filename,
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
((mode == bltestDSA) || (mode == bltestECDSA))
|
||||
#else
|
||||
(mode == bltestDSA)
|
||||
#endif
|
||||
? bltestBase64Encoded : bltestBinary);
|
||||
load_file_data(arena, &pt, filename, (mode == bltestDSA) ?
|
||||
bltestBase64Encoded : bltestBinary);
|
||||
sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr,
|
||||
"ciphertext", j);
|
||||
load_file_data(arena, &ct, filename, bltestBase64Encoded);
|
||||
@@ -2528,11 +1928,7 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
|
||||
** Align the input buffer (ciphertext) according to request
|
||||
** then perform operation and compare to plaintext
|
||||
*/
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
if ((mode != bltestDSA) && (mode != bltestECDSA))
|
||||
#else
|
||||
if (mode != bltestDSA)
|
||||
#endif
|
||||
bltestCopyIO(arena, &cipherInfo.input, &ct);
|
||||
else
|
||||
bltestCopyIO(arena, &cipherInfo.input, &pt);
|
||||
@@ -2593,13 +1989,6 @@ dump_file(bltestCipherMode mode, char *filename)
|
||||
load_file_data(arena, &keydata, filename, bltestBase64Encoded);
|
||||
key = dsakey_from_filedata(&keydata.buf);
|
||||
dump_dsakey(key);
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
} else if (mode == bltestECDSA) {
|
||||
ECPrivateKey *key;
|
||||
load_file_data(arena, &keydata, filename, bltestBase64Encoded);
|
||||
key = eckey_from_filedata(&keydata.buf);
|
||||
dump_eckey(key);
|
||||
#endif
|
||||
}
|
||||
PORT_FreeArena(arena, PR_FALSE);
|
||||
return SECFailure;
|
||||
@@ -2633,9 +2022,6 @@ enum {
|
||||
opt_Key,
|
||||
opt_HexWSpc,
|
||||
opt_Mode,
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
opt_CurveName,
|
||||
#endif
|
||||
opt_Output,
|
||||
opt_Repetitions,
|
||||
opt_ZeroBuf,
|
||||
@@ -2682,9 +2068,6 @@ static secuCommandFlag bltest_options[] =
|
||||
{ /* opt_Key */ 'k', PR_TRUE, 0, PR_FALSE },
|
||||
{ /* opt_HexWSpc */ 'l', PR_FALSE, 0, PR_FALSE },
|
||||
{ /* opt_Mode */ 'm', PR_TRUE, 0, PR_FALSE },
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
{ /* opt_CurveName */ 'n', PR_TRUE, 0, PR_FALSE },
|
||||
#endif
|
||||
{ /* opt_Output */ 'o', PR_TRUE, 0, PR_FALSE },
|
||||
{ /* opt_Repetitions */ 'p', PR_TRUE, 0, PR_FALSE },
|
||||
{ /* opt_ZeroBuf */ 'q', PR_FALSE, 0, PR_FALSE },
|
||||
@@ -2715,9 +2098,6 @@ int main(int argc, char **argv)
|
||||
PRArenaPool *arena;
|
||||
bltestIOMode ioMode;
|
||||
int keysize, bufsize, exponent;
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
char *curveName = NULL;
|
||||
#endif
|
||||
int i, commandsEntered;
|
||||
int inoff, outoff;
|
||||
|
||||
@@ -2879,13 +2259,6 @@ int main(int argc, char **argv)
|
||||
else
|
||||
exponent = 65537;
|
||||
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
if (bltest.options[opt_CurveName].activated)
|
||||
curveName = PORT_Strdup(bltest.options[opt_CurveName].arg);
|
||||
else
|
||||
curveName = NULL;
|
||||
#endif
|
||||
|
||||
/* Set up an encryption key. */
|
||||
keysize = 0;
|
||||
file = NULL;
|
||||
@@ -2920,11 +2293,7 @@ int main(int argc, char **argv)
|
||||
file = PR_Open("tmp.key", PR_WRONLY|PR_CREATE_FILE, 00660);
|
||||
}
|
||||
params->key.mode = bltestBase64Encoded;
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
pubkeyInitKey(&cipherInfo, file, keysize, exponent, curveName);
|
||||
#else
|
||||
pubkeyInitKey(&cipherInfo, file, keysize, exponent);
|
||||
#endif
|
||||
PR_Close(file);
|
||||
}
|
||||
|
||||
@@ -2961,17 +2330,9 @@ int main(int argc, char **argv)
|
||||
exit(-1);
|
||||
}
|
||||
file = PR_Open(bltest.options[opt_SigFile].arg, PR_RDONLY, 00660);
|
||||
if (cipherInfo.mode == bltestDSA) {
|
||||
memset(&cipherInfo.params.dsa.sig, 0, sizeof(bltestIO));
|
||||
cipherInfo.params.dsa.sig.mode = ioMode;
|
||||
setupIO(cipherInfo.arena, &cipherInfo.params.dsa.sig, file, NULL, 0);
|
||||
#ifdef NSS_ENABLE_ECC
|
||||
} else if (cipherInfo.mode == bltestECDSA) {
|
||||
memset(&cipherInfo.params.ecdsa.sig, 0, sizeof(bltestIO));
|
||||
cipherInfo.params.ecdsa.sig.mode = ioMode;
|
||||
setupIO(cipherInfo.arena, &cipherInfo.params.ecdsa.sig, file, NULL, 0);
|
||||
#endif
|
||||
}
|
||||
memset(&cipherInfo.params.dsa.sig, 0, sizeof(bltestIO));
|
||||
cipherInfo.params.dsa.sig.mode = ioMode;
|
||||
setupIO(cipherInfo.arena, &cipherInfo.params.dsa.sig, file, NULL, 0);
|
||||
}
|
||||
|
||||
if (bltest.options[opt_PQGFile].activated) {
|
||||
|
||||
@@ -34,7 +34,7 @@ CORE_DEPTH = ../../..
|
||||
|
||||
MODULE = nss
|
||||
|
||||
REQUIRES = seccmd dbm softoken
|
||||
REQUIRES = seccmd dbm
|
||||
|
||||
INCLUDES += -I$(CORE_DEPTH)/nss/lib/softoken
|
||||
|
||||
@@ -52,7 +52,3 @@ CSRCS = \
|
||||
blapitest.c \
|
||||
$(NULL)
|
||||
|
||||
ifdef NSS_ENABLE_ECC
|
||||
DEFINES += -DNSS_ENABLE_ECC
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
0 secp160k1
|
||||
1 secp160r1
|
||||
2 secp160r2
|
||||
3 nistk163
|
||||
4 sect163r1
|
||||
5 nistb163
|
||||
6 secp192k1
|
||||
7 nistp192
|
||||
8 secp224k1
|
||||
9 nistp224
|
||||
10 nistk233
|
||||
11 nistb233
|
||||
12 nistp256
|
||||
13 nistk283
|
||||
14 nistb283
|
||||
15 nistp384
|
||||
16 nistk409
|
||||
17 nistb409
|
||||
18 nistk571
|
||||
19 nistb571
|
||||
# the following tests are not yet implemented
|
||||
#20 nistp521
|
||||
@@ -1 +0,0 @@
|
||||
GoWqve3YezF7HOABQjioFL/3oq32oM9pHsGTQTJE7aFE62nItVqAdg==
|
||||
@@ -1 +0,0 @@
|
||||
PM6xHbiwP6Xcb44mg7BHtaJvd8PkxgvHAB1sh2cF0so3naFf0Tj6vQ==
|
||||
@@ -1,2 +0,0 @@
|
||||
AF3bbyED08NTrUgKmag9HiuUbaW0skXA/Bp9RPjRAD6M0rp3nvLDKozI940jxPP1
|
||||
nWpHF7VcyCVzJeV6
|
||||
@@ -1,2 +0,0 @@
|
||||
AOLrxy4FWd29ToUjOwLs6GyQ+dYZN6NkZ8oVO6dsAEXt55ePlCWZbOtmk6v9PrNG
|
||||
JOsY/MHnGhDeAGRl
|
||||
@@ -1,2 +0,0 @@
|
||||
aQHMte9cFByD9Ff3rZOPOtPI75luPoxemmgjXIgh/9jEeoTdDk8xuAYQUkayCfs+
|
||||
DpDaGnOLkfAyZ8GcuaCujg==
|
||||
@@ -1,2 +0,0 @@
|
||||
AaeVCRJQPbpTqa1+zLd/8xAbkz3KKTr0dlS4tuGC8hc9j5esAeEv+7IklbA3v5Jz
|
||||
jC+nJy4p81iNO5E9H8nfGGckfQSiFzHG
|
||||
@@ -1,2 +0,0 @@
|
||||
AgU0N7zJPg/1UxmCWD5Z+DqDqkRKjy4heFgayCyopb/u4XErAZArgsjashAxzMKC
|
||||
PSDJasPT90T5Va8sNtjXtSpHWxc2roV9
|
||||
@@ -1,2 +0,0 @@
|
||||
NXo8is+7lAoOwWGt7+GBbT/UX8LGs8TXEHBI+tX9311pJ4J3pfBYobgN0ZK6ZBtp
|
||||
dS6PkrPaQp0S9nrfTOS5uAH95eD1eymRfCbOnjTUKzLuIn53V17vRjdcDtLzrhzX
|
||||
@@ -1,3 +0,0 @@
|
||||
ADhxjBz/ACTy4GJlL0tYZpyNpC4DsXND9lJuU7x9N7g6gkpJyBPw3vBYU1olw6PH
|
||||
dnegpgAm4Gh6MCsZB4KBcLwl1wjt4B3p2eqEqDYn5fiie5f4XuRomvI92jR5Sb+I
|
||||
nBLCHIppt/Q=
|
||||
@@ -1,3 +0,0 @@
|
||||
AGhHQ6kfdZRgu1svQTXEIewvFVglnUy6ANPumyUbM14AEfRkCUNa1uzvhV1sbWYj
|
||||
qT3egQCA9MTjThDNJeDOvvL6hVVOryUv4+C3RtkpQGCtdml+CSsjVTej8h9JbMds
|
||||
Dme40b2G6fE=
|
||||
@@ -1,3 +0,0 @@
|
||||
AGBuqk48tufy0bKEWpu+xEHsmi+6KCfdwOSRwLDnpVetGe9AWknHDzeTSwe0QxcE
|
||||
RsEkUZGDpxfzUlCLSSSU+ErrYY/uyLV2AJTb3prB6A2YNwdmFGeRbDoxeOu7FuQA
|
||||
3gxBQhR+TGMuskeM+BdHFmFrwvTTdHCGzjTBa5S8mbgEJTfeik/it28T/9i+duZ8
|
||||
@@ -1,3 +0,0 @@
|
||||
AaiotJfCiWU1d2LFe+t0CcWHDSF7EOlApWYJ+RNRSq8TbkXJIzi6abbb7BovtRwf
|
||||
i/COYwjS7OnkFQ6x5Pdrb7OZ0dTAdDRXAKtXWSKR20Y4fhnx/HUxisFwKrsCEQ3O
|
||||
uVtwDG8rh5V8zjBnCEcs5Iy9CsklucibR0PIyglVmW+ZuY42YNebuOC2VUKqHNF7
|
||||
@@ -1 +0,0 @@
|
||||
Vli8Hau3xL8oder6ZdM9Y3fMd92jbguiMq6F+9CUjlUQXy5EwAVGeg==
|
||||
@@ -1,3 +0,0 @@
|
||||
ALAM5hGnex7TvBbSEzDlfv+n5g7aWyRyZsBbl2Y6wW1plSovbq2GcV6w1ZV1Vlot
|
||||
70zbqkKyNApvTi3xoD4Ens6pAeLMYDILwaQhnyJZWQv3etbWqUKJZNgfH1IDj03k
|
||||
n9hbjYLX3y4bc4CnrhOiv5Ab34s7M8wUYcjC+DbHwhLl/S6N
|
||||
@@ -1 +0,0 @@
|
||||
AFohw5TN/dpmqbhp/T4z1Rl1boAUA6r9eEPJbYN0zf+eHZzyvezxqjxU
|
||||
@@ -1 +0,0 @@
|
||||
AtJdCPXn5yQW34jekhsnsNmaMOeeA3KIVl1d2+7pb6QycUAzYccgwSrp
|
||||
@@ -1 +0,0 @@
|
||||
AzEg0sOGHwxd0o3cv+o9dsRPOzXMAdpgtI6O0uUmVN2+a5qI5FYQlItz
|
||||
@@ -1 +0,0 @@
|
||||
5+HDXH/ieN8Bzxd3dfxKZoqbbhsm7jyeqWdemt6Xy0kx+7zwSYsh9Ng5KRdy6wtA
|
||||
@@ -1 +0,0 @@
|
||||
WcS9umnUASP0X6lHvkWJwPY37ZVvAMLBERHLjL3Vzg6QVjwcS8kDVortTFei3aTx
|
||||
@@ -1,2 +0,0 @@
|
||||
ItpmPaGAaoe2feXPbh5+EASLGnEzyYbEnwJ+JFNSOQcoY4a/cMV2rn8FYyBsEDiZ
|
||||
LPDBU0i2uOg=
|
||||
@@ -1,2 +0,0 @@
|
||||
QjzCVGRUjulOLqeBqC5xpY0GWomOrmQUCtImY0czn98a/jHrdgsSRKiMHukBUxM1
|
||||
TIRGjkV2L+A=
|
||||
@@ -1,2 +0,0 @@
|
||||
AAAABwYFK4EEAAkAAAApBPiF0ntSFtn41JULxlA1l/lHE/zUPGJWkCqtdOryS6yD
|
||||
WFCoF/IHwHsAAAAUcw+b2b1AJUlmezgu5EjmAGPC0YQ=
|
||||
@@ -1,2 +0,0 @@
|
||||
AAAABwYFK4EEAAgAAAApBI80VWK9xatmkFRiDTcdeFQ0T9h3h6iVOinMURyWZw0T
|
||||
5vZqd8/gvwwAAAAUYOQMjDdtNSL5zY0nVWPWY+UJoqQ=
|
||||
@@ -1,3 +0,0 @@
|
||||
AAAABwYFK4EEABoAAAA9BACmzalMQJBOWV2FoyV0tXSpT07Xajq4bB1SUwSY7QGn
|
||||
dgGC3GBqjPs9vEpqfMMQ2M9k3+5oubWnexNFhQAAAB4BRha/6sE7VSHl92ZqCj5p
|
||||
LYtBpK23jzfdVWO8SAY=
|
||||
@@ -1,3 +0,0 @@
|
||||
AAAABwYFK4EEABsAAAA9BAD2/x9HSYYVEQ9AU4MivlIKPypJjsm0sTrp8BftlQGv
|
||||
KaYrKpZCg/CEw3C2kqvke7HAu+10hafK9asRxQAAAB4AXyFCurtsXhahkyJpkb5J
|
||||
LUg3xVL00vviR0KyFZY=
|
||||
@@ -1,3 +0,0 @@
|
||||
AAAACgYIKoZIzj0DAQcAAABBBNGB7n4kH15tKA/SMpetaQVqg6WxIuuUuMQT2tDX
|
||||
NN5jKZfaxD47NsTjTr3x3D5t1qRBYuL6VtdgIuxBIHGG9dcAAAAgaGjyZBL+LN3a
|
||||
7NkGiHJBfqh7XKNH0AnPF3vFWpostIQ=
|
||||
@@ -1,3 +0,0 @@
|
||||
AAAABwYFK4EEABAAAABJBAT3klWkt7+1Pr6QGEcvEIZplopwt1alrsJUThDOxvUF
|
||||
7KvBpQLVjB+DQTwYQnEREb/WFyRgUBuIbII0+zd/g0fLHE4PQ8SNlAAAACQFPsMX
|
||||
mqSVRreUVasUOIZQFB2jnpwCUyoq+xa9SRril5LeOCY=
|
||||
@@ -1,3 +0,0 @@
|
||||
AAAABwYFK4EEABEAAABJBAf/ei/XCrFrMZLBp5BFkKZ3Odn+ZJu7QIAK32Ubuxmi
|
||||
xgWTewf2vv+KY5kHwsBYuBXmmnKe9Ak9zGP4Lykvgk5n5J6iUz5ycQAAACQAQHXa
|
||||
d29OqGxoDNCl9xETW3tAL/2hfZzstNuOPLm5kj4j1Dc=
|
||||
@@ -1,4 +0,0 @@
|
||||
AAAABwYFK4EEACIAAABhBLWMJG3t4khPYcsl3H492rAqukJ1RqJm27pqpN54rFGG
|
||||
r2VDwOfqb9tMninq8IyOh42eaaVOEPXXu4Q/ATWBEfrbTRBjTpzAE2SSPuQma0lM
|
||||
q0RSVECCgdBOKIhB0H6VxAAAADA3WPjUaMWCS9E5KbVDrEcf5CV5tCNNWJQkwjsA
|
||||
yALMCiXJqRVXwbq42WMuaELMW+g=
|
||||
@@ -1,4 +0,0 @@
|
||||
AAAABwYFK4EEACQAAABpBADkgknFgTPuirxQxFlqIK+vcARWzlpJR+qmyRyQsBiz
|
||||
Nh6Ws036xUKY9M8LxMIWXFNM6aIA2wxKsBF+HHD6oy27EAJSJOGbke/9F9Kv5AiW
|
||||
2RXA4mllUaxCNsuQ36PqUdqv4FeXxWTpAAAANAHTZloqhR0V4bfyaeo2hojcvY3T
|
||||
NO04ewNryBpsHZ0bhID0EfewYuwQmX00GYNfuV3mJ2w=
|
||||
@@ -1,4 +0,0 @@
|
||||
AAAABwYFK4EEACUAAABpBAAEE/bAmqCjO3FLvN93Q/UjDyDp2sj+F//buuf1hZ0K
|
||||
1rSOGXMLcBrqVa8R6UJ57F9/Yc0BCTylpJMXjfCr4eDczG4WOQk+5x8kpKQs5Q9U
|
||||
V3IolHDiQY/Nhn7o4UFn5/mF71T3qUqwAAAANAH/o7jEl9Bw+Arj9uQ7ZHkoPGgx
|
||||
t92UJg1r/lxa7UUd66iJfRI8n8yQH/sw56D1+CweeII=
|
||||
@@ -1,5 +0,0 @@
|
||||
AAAABwYFK4EEACYAAACRBAffZTrfwIl0dciO2fui3UhZw6r+jnFh7gyER92gXL7+
|
||||
LzPgTHagd1vdQiIX4K8Dv76KN0BldiFuX5odP7qC26MUaiURDdWT0AWcPmumSSBH
|
||||
NXZYLLx5hQjW3BTNwV7v5bmUjezfgtuOCC30dQGs2GMgExAmiWRjTkiPrHg1SFKF
|
||||
3RklauOyMWauaVpEzh3c+wAAAEgAZvLs4/Rx7tS+QGH92fGGIxPWPbVYOpDKwabY
|
||||
poV2i1BD5Fxvw+eHlvxVOLmRPqRCPTfOLwAeNbHyt17U/BVZ8+svTChlzuA=
|
||||
@@ -1,5 +0,0 @@
|
||||
AAAABwYFK4EEACcAAACRBASpPvOfQVqiMD+cBL/nulFit5pk/5beJ6/KpeIltg4s
|
||||
6/s7PPggJA59BP7RJwak6rgY3PsRqXVPjyM/1UkUfRUR2BJgOfNTkQe9WF7Y5zXy
|
||||
TM76cWhOP+sLSoUcscy/HTLCpHqRLLvWZPDzgjrfJqSlydMEDZjWsJRVPk9IfeQ/
|
||||
amGiWOhJIQd/bSrAazZn6AAAAEgFz1qZzjHuhuP1boJ7gzndJhQslx1efbESxHSc
|
||||
wbOpeBpw2MsCAwjtgo3Y8pviFIC8+5MStkFjE8uHQ0ngXc02wm3G0xj8XGQ=
|
||||
@@ -1,2 +0,0 @@
|
||||
AAAABwYFK4EEAB4AAAApBGouC+vgvmItzsLO4hXn+AXi3skEE+M19o/QHLfjibbA
|
||||
p7av8F4tcGgAAAAUmpQDUgnIkiXPBs0moD4jEmJHato=
|
||||
@@ -1,5 +0,0 @@
|
||||
AAAABwYFK4EEACMAAACFBAHLMSpMFVyG6mXE7SZ5O5Bwv4d8/QiAB3BzpXkyrU1W
|
||||
jJ9O9uOYTXM+cFtF5v56+LsI4yGkaAl9+RF6lFPjrhpIswCmBmEqMBgZpjoz38my
|
||||
nLHBI9MaFF8AHkRQwD3LJLo4eSZHOVkdIvDYLwicdlgr0zD3Nf76/HB1+0DkBGqE
|
||||
MyG22gAAAEIAFah7z179UbqqdH68pzdZsP1ChXjtYZ11rBM0+HP7yLirxH3ahKTt
|
||||
DjsY19GEjz4gKsaLfLiQ1/Dp+VKVLcBKpk0=
|
||||
@@ -1,2 +0,0 @@
|
||||
AAAABwYFK4EEAAEAAAArBAe4qW9DTVGRVIYYznwJZbn8mWXLugA2A+Mv112Bu+y7
|
||||
gxI8E4/fEdLTsQAAABUGEQDNcbxi0JhwALA8FCCxvmWYM3E=
|
||||
@@ -1,2 +0,0 @@
|
||||
AAAABwYFK4EEAAIAAAArBAXw45Pc59l1QWmAB1W6M30lyFzQmAH/0FIFKYgEOYIa
|
||||
dnEXMwKNwaRdsQAAABUCErj052f+Rth5OxAm376LOAQyvBY=
|
||||
@@ -1,2 +0,0 @@
|
||||
AAAABwYFK4EEAA8AAAArBAFhm71N2wsUOYCwDNr/6rFvNX1okAbki1SNlHq2TQDO
|
||||
Bktd1M0jlApWVQAAABUCILsraWg3Qi5nBsXQ1pGmZk0YuSA=
|
||||
@@ -1,2 +0,0 @@
|
||||
AAAABwYFK4EEAB8AAAAxBHOYACoc9XsLk5n8NZZKV2U9CDoMj/VRDvqbf+myloR7
|
||||
uBfVNm+uVN33Sa65phAfXQAAABitxs6KZtkqU4tglcdQ1Rmk2U74vjYP0JM=
|
||||
@@ -1,2 +0,0 @@
|
||||
AAAACgYIKoZIzj0DAQEAAAAxBOyOI+rIs3x+jsChxQqSVblnoZGqhIM1WX0FMfw+
|
||||
D8Dz6Y25iPcAQFpIAWh29FxnrgAAABh+uEQYXwMB783sULxE6PEd1t/MNZ9HSHI=
|
||||
@@ -1,3 +0,0 @@
|
||||
AAAABwYFK4EEACAAAAA5BKQnZoj4VtlPqrJ5dekM4haG+7PjfgO4wNNIqD7JnrKI
|
||||
gTUd+oUQ41d517xCObyBaHNzdVPty9DvAAAAHIrG9+FE+OJV5UV2l/op7PCDPI4G
|
||||
qkpgzPIwe7U=
|
||||
@@ -1,3 +0,0 @@
|
||||
AAAABwYFK4EEACEAAAA5BGCNDWldzQCbI83PMR96tqR6JnIUpvfIO8l6hIf/QfMc
|
||||
rx2BbrSLoy6EJmP++Jyw5yNyaoVaNYl6AAAAHDnjgcUSIshTSLuejnSsvtvU363b
|
||||
1NJv4ULUbIs=
|
||||
@@ -1 +0,0 @@
|
||||
21
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
|
||||
@@ -1 +0,0 @@
|
||||
aHpm2QZI+ZOGfhIfTd+d2wEgVYQ=
|
||||
@@ -1 +0,0 @@
|
||||
aHpm2QZI+ZOGfhIfTd+d2wEgVYQ=
|
||||
@@ -1 +0,0 @@
|
||||
fjIzMWJpdHNPZlRleHQwMTAyMDMwNDA1MDYwNzA=
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user