mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-25 09:57:32 +09:00
re-introduce old nss im too tired for this
This commit is contained in:
parent
3c46be320d
commit
3a838106b9
2871 changed files with 1374431 additions and 1762417 deletions
|
|
@ -4,12 +4,9 @@
|
|||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
include manifest.mn
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
include config.mk
|
||||
include $(CORE_DEPTH)/coreconf/rules.mk
|
||||
|
||||
ifdef NOTDEF # was ifdef MOZILLA_CLIENT
|
||||
NSS_BUILD_CAPI = 1
|
||||
|
|
@ -28,6 +25,7 @@ endif
|
|||
# nssck.api: ck.api ckapi.perl
|
||||
# $(PERL) ckapi.perl ck.api
|
||||
|
||||
export:: private_export
|
||||
|
||||
# can't do this in manifest.mn because OS_TARGET isn't defined there.
|
||||
ifeq (,$(filter-out WINNT WIN95,$(OS_TARGET)))
|
||||
|
|
@ -35,5 +33,3 @@ ifdef NSS_BUILD_CAPI
|
|||
DIRS += capi
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/rules.mk
|
||||
|
|
|
|||
|
|
@ -5,24 +5,7 @@
|
|||
|
||||
include manifest.mn
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
||||
# Needed for compilation of $(OBJDIR)/certdata.c
|
||||
INCLUDES += -I.
|
||||
|
||||
#
|
||||
# To create a loadable module on Darwin, we must use -bundle.
|
||||
#
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
DSO_LDOPTS = -bundle
|
||||
endif
|
||||
|
||||
ifdef USE_GCOV
|
||||
DSO_LDOPTS += --coverage
|
||||
endif
|
||||
include config.mk
|
||||
|
||||
EXTRA_LIBS = \
|
||||
$(DIST)/lib/$(LIB_PREFIX)nssckfw.$(LIB_SUFFIX) \
|
||||
|
|
@ -66,5 +49,6 @@ ifndef NSS_CERTDATA_TXT
|
|||
NSS_CERTDATA_TXT = certdata.txt
|
||||
endif
|
||||
|
||||
$(OBJDIR)/certdata.c: $(NSS_CERTDATA_TXT) certdata.perl | $$(@D)/d
|
||||
$(OBJDIR)/certdata.c: $(NSS_CERTDATA_TXT) certdata.perl
|
||||
@$(MAKE_OBJDIR)
|
||||
$(PERL) certdata.perl $(NSS_CERTDATA_TXT) $@
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
{
|
||||
'msvs_cygwin_shell': 0,
|
||||
'action': [
|
||||
'<(python)',
|
||||
'python',
|
||||
'certdata.py',
|
||||
'certdata.txt',
|
||||
'<@(_outputs)',
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
38
security/nss/lib/ckfw/builtins/config.mk
Normal file
38
security/nss/lib/ckfw/builtins/config.mk
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
#
|
||||
# Override TARGETS variable so that only shared libraries
|
||||
# are specifed as dependencies within rules.mk.
|
||||
#
|
||||
|
||||
TARGETS = $(SHARED_LIBRARY)
|
||||
LIBRARY =
|
||||
IMPORT_LIBRARY =
|
||||
PROGRAM =
|
||||
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
|
||||
RES = $(OBJDIR)/$(LIBRARY_NAME).res
|
||||
RESNAME = $(LIBRARY_NAME).rc
|
||||
endif
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
||||
# Needed for compilation of $(OBJDIR)/certdata.c
|
||||
INCLUDES += -I.
|
||||
|
||||
#
|
||||
# To create a loadable module on Darwin, we must use -bundle.
|
||||
#
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
DSO_LDOPTS = -bundle
|
||||
endif
|
||||
|
||||
ifdef USE_GCOV
|
||||
DSO_LDOPTS += --coverage
|
||||
endif
|
||||
|
|
@ -5,11 +5,10 @@
|
|||
|
||||
CORE_DEPTH = ../../..
|
||||
|
||||
DIRS = . testlib
|
||||
|
||||
testlib: .
|
||||
DIRS = testlib
|
||||
|
||||
MODULE = nss
|
||||
MAPFILE = $(OBJDIR)/nssckbi.def
|
||||
|
||||
EXPORTS = \
|
||||
nssckbi.h \
|
||||
|
|
@ -31,6 +30,3 @@ CSRCS = \
|
|||
REQUIRES = nspr
|
||||
|
||||
LIBRARY_NAME = nssckbi
|
||||
MAPFILE = $(OBJDIR)/$(LIBRARY_NAME).def
|
||||
LIBRARY = $(NULL)
|
||||
IMPORT_LIBRARY = $(NULL)
|
||||
|
|
|
|||
|
|
@ -46,8 +46,8 @@
|
|||
* It's recommend to switch back to 0 after having reached version 98/99.
|
||||
*/
|
||||
#define NSS_BUILTINS_LIBRARY_VERSION_MAJOR 2
|
||||
#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 76
|
||||
#define NSS_BUILTINS_LIBRARY_VERSION "2.76"
|
||||
#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 80
|
||||
#define NSS_BUILTINS_LIBRARY_VERSION "2.80"
|
||||
|
||||
/* These version numbers detail the semantic changes to the ckfw engine. */
|
||||
#define NSS_BUILTINS_HARDWARE_VERSION_MAJOR 1
|
||||
|
|
|
|||
|
|
@ -4,26 +4,8 @@
|
|||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
include manifest.mn
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
||||
# Needed for compilation of $(OBJDIR)/certdata.c
|
||||
INCLUDES += -I.
|
||||
|
||||
#
|
||||
# To create a loadable module on Darwin, we must use -bundle.
|
||||
#
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
DSO_LDOPTS = -bundle
|
||||
endif
|
||||
|
||||
ifdef USE_GCOV
|
||||
DSO_LDOPTS += --coverage
|
||||
endif
|
||||
include config.mk
|
||||
|
||||
EXTRA_LIBS = \
|
||||
$(DIST)/lib/$(LIB_PREFIX)nssckfw.$(LIB_SUFFIX) \
|
||||
|
|
@ -56,11 +38,6 @@ EXTRA_SHARED_LIBS += \
|
|||
$(NULL)
|
||||
endif # OS_TARGET
|
||||
|
||||
SIMPLE_OBJS = $(notdir $(CSRCS:.c=$(OBJ_SUFFIX)))
|
||||
OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
|
||||
vpath %c $(dir $(CSRCS)) # $(OBJDIR)
|
||||
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/rules.mk
|
||||
|
||||
CFLAGS += -I$(CORE_DEPTH)/lib/ckfw/builtins
|
||||
|
|
@ -70,6 +47,6 @@ ifndef NSS_CERTDATA-TESTLIB_TXT
|
|||
NSS_CERTDATA-TESTLIB_TXT = certdata-testlib.txt
|
||||
endif
|
||||
|
||||
$(OBJDIR)/certdata-testlib.c: $(NSS_CERTDATA-TESTLIB_TXT) | $$(@D)/d
|
||||
$(OBJDIR)/certdata-testlib.c: $(NSS_CERTDATA-TESTLIB_TXT)
|
||||
@$(MAKE_OBJDIR)
|
||||
$(PERL) ../certdata.perl $(NSS_CERTDATA-TESTLIB_TXT) $@
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
{
|
||||
'msvs_cygwin_shell': 0,
|
||||
'action': [
|
||||
'<(python)',
|
||||
'python',
|
||||
'../certdata.py',
|
||||
'certdata-testlib.txt',
|
||||
'<@(_outputs)',
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
}
|
||||
],
|
||||
'variables': {
|
||||
'mapfile': 'nssckbi-testlib.def',
|
||||
'mapfile': '../nssckbi.def',
|
||||
'certdata-testlib_c': '<(INTERMEDIATE_DIR)/certdata-testlib.c',
|
||||
}
|
||||
}
|
||||
|
|
|
|||
38
security/nss/lib/ckfw/builtins/testlib/config.mk
Normal file
38
security/nss/lib/ckfw/builtins/testlib/config.mk
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
#
|
||||
# Override TARGETS variable so that only shared libraries
|
||||
# are specifed as dependencies within rules.mk.
|
||||
#
|
||||
|
||||
TARGETS = $(SHARED_LIBRARY)
|
||||
LIBRARY =
|
||||
IMPORT_LIBRARY =
|
||||
PROGRAM =
|
||||
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
|
||||
RES = $(OBJDIR)/$(LIBRARY_NAME).res
|
||||
RESNAME = $(LIBRARY_NAME).rc
|
||||
endif
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
||||
# Needed for compilation of $(OBJDIR)/certdata.c
|
||||
INCLUDES += -I.
|
||||
|
||||
#
|
||||
# To create a loadable module on Darwin, we must use -bundle.
|
||||
#
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
DSO_LDOPTS = -bundle
|
||||
endif
|
||||
|
||||
ifdef USE_GCOV
|
||||
DSO_LDOPTS += --coverage
|
||||
endif
|
||||
|
|
@ -23,4 +23,3 @@ CSRCS = \
|
|||
REQUIRES = nspr
|
||||
|
||||
LIBRARY_NAME = nssckbi-testlib
|
||||
LIBRARY = $(NULL)
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
;+#
|
||||
;+# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
;+# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
;+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
;+#
|
||||
;+# OK, this file is meant to support SUN, LINUX, AIX and WINDOWS
|
||||
;+# 1. For all unix platforms, the string ";-" means "remove this line"
|
||||
;+# 2. For all unix platforms, the string " DATA " will be removed from any
|
||||
;+# line on which it occurs.
|
||||
;+# 3. Lines containing ";+" will have ";+" removed on SUN and LINUX.
|
||||
;+# On AIX, lines containing ";+" will be removed.
|
||||
;+# 4. For all unix platforms, the string ";;" will thave the ";;" removed.
|
||||
;+# 5. For all unix platforms, after the above processing has taken place,
|
||||
;+# all characters after the first ";" on the line will be removed.
|
||||
;+# And for AIX, the first ";" will also be removed.
|
||||
;+# This file is passed directly to windows. Since ';' is a comment, all UNIX
|
||||
;+# directives are hidden behind ";", ";+", and ";-"
|
||||
;+
|
||||
;+NSS_3.1 { # NSS 3.1 release
|
||||
;+ global:
|
||||
LIBRARY nssckbi-testlib ;-
|
||||
EXPORTS ;-
|
||||
C_GetFunctionList;
|
||||
;+ local:
|
||||
;+*;
|
||||
;+};
|
||||
|
|
@ -5,17 +5,7 @@
|
|||
|
||||
include manifest.mn
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
||||
#
|
||||
# To create a loadable module on Darwin, we must use -bundle.
|
||||
#
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
DSO_LDOPTS = -bundle
|
||||
endif
|
||||
include config.mk
|
||||
|
||||
EXTRA_LIBS = \
|
||||
$(DIST)/lib/$(LIB_PREFIX)nssckfw.$(LIB_SUFFIX) \
|
||||
|
|
@ -70,7 +60,8 @@ DSO_LDOPTS = -bM:SRE -bh:4 -bnoentry
|
|||
EXTRA_DSO_LDOPTS = -lc
|
||||
MKSHLIB = xlC $(DSO_LDOPTS)
|
||||
|
||||
$(SHARED_LIBRARY): $(OBJS) | $$(@D)/d
|
||||
$(SHARED_LIBRARY): $(OBJS)
|
||||
@$(MAKE_OBJDIR)
|
||||
rm -f $@
|
||||
$(MKSHLIB) -o $@ $(OBJS) $(EXTRA_LIBS) $(EXTRA_DSO_LDOPTS)
|
||||
chmod +x $@
|
||||
|
|
@ -80,3 +71,5 @@ endif
|
|||
ifeq ($(OS_TARGET)$(OS_RELEASE), AIX4.2)
|
||||
LD += -G
|
||||
endif
|
||||
|
||||
|
||||
|
|
|
|||
31
security/nss/lib/ckfw/capi/config.mk
Normal file
31
security/nss/lib/ckfw/capi/config.mk
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
#
|
||||
# Override TARGETS variable so that only shared libraries
|
||||
# are specifed as dependencies within rules.mk.
|
||||
#
|
||||
|
||||
TARGETS = $(SHARED_LIBRARY)
|
||||
LIBRARY =
|
||||
IMPORT_LIBRARY =
|
||||
PROGRAM =
|
||||
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
|
||||
RES = $(OBJDIR)/$(LIBRARY_NAME).res
|
||||
RESNAME = $(LIBRARY_NAME).rc
|
||||
endif
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
||||
#
|
||||
# To create a loadable module on Darwin, we must use -bundle.
|
||||
#
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
DSO_LDOPTS = -bundle
|
||||
endif
|
||||
|
|
@ -6,6 +6,7 @@
|
|||
CORE_DEPTH = ../../../..
|
||||
|
||||
MODULE = nss
|
||||
MAPFILE = $(OBJDIR)/nsscapi.def
|
||||
|
||||
EXPORTS = \
|
||||
nsscapi.h \
|
||||
|
|
@ -28,8 +29,5 @@ CSRCS = \
|
|||
REQUIRES = nspr
|
||||
|
||||
LIBRARY_NAME = nsscapi
|
||||
MAPFILE = $(OBJDIR)/$(LIBRARY_NAME).def
|
||||
LIBRARY = $(NULL)
|
||||
IMPORT_LIBRARY = $(NULL)
|
||||
|
||||
#EXTRA_SHARED_LIBS = -L$(DIST)/lib -lnssckfw -lnssb -lplc4 -lplds4
|
||||
|
|
|
|||
25
security/nss/lib/ckfw/config.mk
Normal file
25
security/nss/lib/ckfw/config.mk
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
||||
#
|
||||
# Hack to see if everything still builds
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# Override TARGETS variable so that only static libraries
|
||||
# are specifed as dependencies within rules.mk.
|
||||
#
|
||||
|
||||
TARGETS = $(LIBRARY)
|
||||
SHARED_LIBRARY =
|
||||
IMPORT_LIBRARY =
|
||||
PROGRAM =
|
||||
|
||||
|
||||
|
|
@ -245,7 +245,7 @@ NSS_EXTERN CK_RV
|
|||
nssCKFWCryptoOperation_DigestKey(
|
||||
NSSCKFWCryptoOperation *fwOperation,
|
||||
NSSCKFWObject *fwObject /* Key */
|
||||
)
|
||||
)
|
||||
{
|
||||
NSSCKMDObject *mdObject;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,6 @@
|
|||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
include manifest.mn
|
||||
include config.mk
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/rules.mk
|
||||
|
|
|
|||
8
security/nss/lib/ckfw/dbm/config.mk
Normal file
8
security/nss/lib/ckfw/dbm/config.mk
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
ifdef BUILD_IDG
|
||||
DEFINES += -DNSSDEBUG
|
||||
endif
|
||||
|
|
@ -392,19 +392,19 @@ nss_dbm_db_swap_type(
|
|||
return type_byte;
|
||||
case CKA_MODIFIABLE:
|
||||
return type_byte;
|
||||
case CKA_NSS_URL:
|
||||
case CKA_NETSCAPE_URL:
|
||||
return type_opaque;
|
||||
case CKA_NSS_EMAIL:
|
||||
case CKA_NETSCAPE_EMAIL:
|
||||
return type_opaque;
|
||||
case CKA_NSS_SMIME_INFO:
|
||||
case CKA_NETSCAPE_SMIME_INFO:
|
||||
return type_opaque;
|
||||
case CKA_NSS_SMIME_TIMESTAMP:
|
||||
case CKA_NETSCAPE_SMIME_TIMESTAMP:
|
||||
return type_opaque;
|
||||
case CKA_NSS_PKCS8_SALT:
|
||||
case CKA_NETSCAPE_PKCS8_SALT:
|
||||
return type_opaque;
|
||||
case CKA_NSS_PASSWORD_CHECK:
|
||||
case CKA_NETSCAPE_PASSWORD_CHECK:
|
||||
return type_opaque;
|
||||
case CKA_NSS_EXPIRES:
|
||||
case CKA_NETSCAPE_EXPIRES:
|
||||
return type_opaque;
|
||||
case CKA_TRUST_DIGITAL_SIGNATURE:
|
||||
return type_long;
|
||||
|
|
@ -436,9 +436,9 @@ nss_dbm_db_swap_type(
|
|||
return type_long;
|
||||
case CKA_TRUST_TIME_STAMPING:
|
||||
return type_long;
|
||||
case CKA_NSS_DB:
|
||||
case CKA_NETSCAPE_DB:
|
||||
return type_opaque;
|
||||
case CKA_NSS_TRUST:
|
||||
case CKA_NETSCAPE_TRUST:
|
||||
return type_opaque;
|
||||
default:
|
||||
return type_opaque;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,5 @@ CSRCS = \
|
|||
REQUIRES = dbm nspr
|
||||
|
||||
LIBRARY_NAME = nssckdbm
|
||||
LIBRARY = $(NULL)
|
||||
|
||||
EXTRA_SHARED_LIBS = -L$(DIST)/lib -lnssckfw -lnssb -ldbm -lnspr4 -lplc4 -lplds4
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@
|
|||
#include "ck.h"
|
||||
#endif /* CK_T */
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/*
|
||||
* NSSCKFWInstance
|
||||
*
|
||||
|
|
@ -549,7 +547,7 @@ nssCKFWInstance_CreateSessionHandle(
|
|||
}
|
||||
|
||||
*pError = nssCKFWHash_Add(fwInstance->sessionHandleHash,
|
||||
(const void *)(uintptr_t)hSession, (const void *)fwSession);
|
||||
(const void *)hSession, (const void *)fwSession);
|
||||
if (CKR_OK != *pError) {
|
||||
hSession = (CK_SESSION_HANDLE)0;
|
||||
goto done;
|
||||
|
|
@ -582,7 +580,7 @@ nssCKFWInstance_ResolveSessionHandle(
|
|||
}
|
||||
|
||||
fwSession = (NSSCKFWSession *)nssCKFWHash_Lookup(
|
||||
fwInstance->sessionHandleHash, (const void *)(uintptr_t)hSession);
|
||||
fwInstance->sessionHandleHash, (const void *)hSession);
|
||||
|
||||
/* Assert(hSession == nssCKFWSession_GetHandle(fwSession)) */
|
||||
|
||||
|
|
@ -613,9 +611,9 @@ nssCKFWInstance_DestroySessionHandle(
|
|||
}
|
||||
|
||||
fwSession = (NSSCKFWSession *)nssCKFWHash_Lookup(
|
||||
fwInstance->sessionHandleHash, (const void *)(uintptr_t)hSession);
|
||||
fwInstance->sessionHandleHash, (const void *)hSession);
|
||||
if (fwSession) {
|
||||
nssCKFWHash_Remove(fwInstance->sessionHandleHash, (const void *)(uintptr_t)hSession);
|
||||
nssCKFWHash_Remove(fwInstance->sessionHandleHash, (const void *)hSession);
|
||||
nssCKFWSession_SetHandle(fwSession, (CK_SESSION_HANDLE)0);
|
||||
}
|
||||
|
||||
|
|
@ -684,7 +682,7 @@ nssCKFWInstance_CreateObjectHandle(
|
|||
}
|
||||
|
||||
*pError = nssCKFWHash_Add(fwInstance->objectHandleHash,
|
||||
(const void *)(uintptr_t)hObject, (const void *)fwObject);
|
||||
(const void *)hObject, (const void *)fwObject);
|
||||
if (CKR_OK != *pError) {
|
||||
hObject = (CK_OBJECT_HANDLE)0;
|
||||
goto done;
|
||||
|
|
@ -717,7 +715,7 @@ nssCKFWInstance_ResolveObjectHandle(
|
|||
}
|
||||
|
||||
fwObject = (NSSCKFWObject *)nssCKFWHash_Lookup(
|
||||
fwInstance->objectHandleHash, (const void *)(uintptr_t)hObject);
|
||||
fwInstance->objectHandleHash, (const void *)hObject);
|
||||
|
||||
/* Assert(hObject == nssCKFWObject_GetHandle(fwObject)) */
|
||||
|
||||
|
|
@ -751,11 +749,11 @@ nssCKFWInstance_ReassignObjectHandle(
|
|||
}
|
||||
|
||||
oldObject = (NSSCKFWObject *)nssCKFWHash_Lookup(
|
||||
fwInstance->objectHandleHash, (const void *)(uintptr_t)hObject);
|
||||
fwInstance->objectHandleHash, (const void *)hObject);
|
||||
if (oldObject) {
|
||||
/* Assert(hObject == nssCKFWObject_GetHandle(oldObject) */
|
||||
(void)nssCKFWObject_SetHandle(oldObject, (CK_SESSION_HANDLE)0);
|
||||
nssCKFWHash_Remove(fwInstance->objectHandleHash, (const void *)(uintptr_t)hObject);
|
||||
nssCKFWHash_Remove(fwInstance->objectHandleHash, (const void *)hObject);
|
||||
}
|
||||
|
||||
error = nssCKFWObject_SetHandle(fwObject, hObject);
|
||||
|
|
@ -763,7 +761,7 @@ nssCKFWInstance_ReassignObjectHandle(
|
|||
goto done;
|
||||
}
|
||||
error = nssCKFWHash_Add(fwInstance->objectHandleHash,
|
||||
(const void *)(uintptr_t)hObject, (const void *)fwObject);
|
||||
(const void *)hObject, (const void *)fwObject);
|
||||
|
||||
done:
|
||||
(void)nssCKFWMutex_Unlock(fwInstance->mutex);
|
||||
|
|
@ -792,10 +790,10 @@ nssCKFWInstance_DestroyObjectHandle(
|
|||
}
|
||||
|
||||
fwObject = (NSSCKFWObject *)nssCKFWHash_Lookup(
|
||||
fwInstance->objectHandleHash, (const void *)(uintptr_t)hObject);
|
||||
fwInstance->objectHandleHash, (const void *)hObject);
|
||||
if (fwObject) {
|
||||
/* Assert(hObject = nssCKFWObject_GetHandle(fwObject)) */
|
||||
nssCKFWHash_Remove(fwInstance->objectHandleHash, (const void *)(uintptr_t)hObject);
|
||||
nssCKFWHash_Remove(fwInstance->objectHandleHash, (const void *)hObject);
|
||||
(void)nssCKFWObject_SetHandle(fwObject, (CK_SESSION_HANDLE)0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@
|
|||
|
||||
CORE_DEPTH = ../..
|
||||
|
||||
DIRS = . builtins
|
||||
|
||||
builtins: .
|
||||
DIRS = builtins
|
||||
|
||||
PRIVATE_EXPORTS = \
|
||||
ck.h \
|
||||
|
|
@ -50,7 +48,6 @@ CSRCS = \
|
|||
REQUIRES = nspr
|
||||
|
||||
LIBRARY_NAME = nssckfw
|
||||
SHARED_LIBRARY = $(NULL)
|
||||
|
||||
# This part of the code, including all sub-dirs, can be optimized for size
|
||||
export ALLOW_OPT_CODE_SIZE = 1
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@
|
|||
struct NSSCKFWObjectStr {
|
||||
NSSCKFWMutex *mutex; /* merely to serialise the MDObject calls */
|
||||
NSSArena *arena;
|
||||
NSSArena *localArena;
|
||||
NSSCKMDObject *mdObject;
|
||||
NSSCKMDSession *mdSession;
|
||||
NSSCKFWSession *fwSession;
|
||||
|
|
@ -111,8 +110,6 @@ nssCKFWObject_Create(
|
|||
NSSCKFWInstance *fwInstance,
|
||||
CK_RV *pError)
|
||||
{
|
||||
NSSArena *objArena = arena;
|
||||
NSSArena *localArena = NULL;
|
||||
NSSCKFWObject *fwObject;
|
||||
nssCKFWHash *mdObjectHash;
|
||||
|
||||
|
|
@ -142,23 +139,13 @@ nssCKFWObject_Create(
|
|||
return fwObject;
|
||||
}
|
||||
|
||||
/* session objects should have their own arena so they can be destroyed in the end. */
|
||||
if (arena == NULL) {
|
||||
localArena = objArena = NSSArena_Create();
|
||||
if (objArena == NULL) {
|
||||
*pError = CKR_HOST_MEMORY;
|
||||
return (NSSCKFWObject *)NULL;
|
||||
}
|
||||
}
|
||||
|
||||
fwObject = nss_ZNEW(objArena, NSSCKFWObject);
|
||||
fwObject = nss_ZNEW(arena, NSSCKFWObject);
|
||||
if (!fwObject) {
|
||||
*pError = CKR_HOST_MEMORY;
|
||||
return (NSSCKFWObject *)NULL;
|
||||
}
|
||||
|
||||
fwObject->arena = objArena;
|
||||
fwObject->localArena = localArena;
|
||||
fwObject->arena = arena;
|
||||
fwObject->mdObject = mdObject;
|
||||
fwObject->fwSession = fwSession;
|
||||
|
||||
|
|
@ -170,24 +157,18 @@ nssCKFWObject_Create(
|
|||
fwObject->mdToken = nssCKFWToken_GetMDToken(fwToken);
|
||||
fwObject->fwInstance = fwInstance;
|
||||
fwObject->mdInstance = nssCKFWInstance_GetMDInstance(fwInstance);
|
||||
fwObject->mutex = nssCKFWInstance_CreateMutex(fwInstance, objArena, pError);
|
||||
fwObject->mutex = nssCKFWInstance_CreateMutex(fwInstance, arena, pError);
|
||||
if (!fwObject->mutex) {
|
||||
if (CKR_OK == *pError) {
|
||||
*pError = CKR_GENERAL_ERROR;
|
||||
}
|
||||
nss_ZFreeIf(fwObject);
|
||||
if (localArena) {
|
||||
NSSArena_Destroy(localArena);
|
||||
}
|
||||
return (NSSCKFWObject *)NULL;
|
||||
}
|
||||
|
||||
*pError = nssCKFWHash_Add(mdObjectHash, mdObject, fwObject);
|
||||
if (CKR_OK != *pError) {
|
||||
nss_ZFreeIf(fwObject);
|
||||
if (localArena) {
|
||||
NSSArena_Destroy(localArena);
|
||||
}
|
||||
return (NSSCKFWObject *)NULL;
|
||||
}
|
||||
|
||||
|
|
@ -196,9 +177,6 @@ nssCKFWObject_Create(
|
|||
if (CKR_OK != *pError) {
|
||||
nssCKFWHash_Remove(mdObjectHash, mdObject);
|
||||
nss_ZFreeIf(fwObject);
|
||||
if (localArena) {
|
||||
NSSArena_Destroy(localArena);
|
||||
}
|
||||
return (NSSCKFWObject *)NULL;
|
||||
}
|
||||
#endif /* DEBUG */
|
||||
|
|
@ -217,7 +195,6 @@ nssCKFWObject_Finalize(
|
|||
PRBool removeFromHash)
|
||||
{
|
||||
nssCKFWHash *mdObjectHash;
|
||||
NSSArena *arena = NULL;
|
||||
|
||||
#ifdef NSSDEBUG
|
||||
if (CKR_OK != nssCKFWObject_verifyPointer(fwObject)) {
|
||||
|
|
@ -243,11 +220,7 @@ nssCKFWObject_Finalize(
|
|||
if (fwObject->fwSession) {
|
||||
nssCKFWSession_DeregisterSessionObject(fwObject->fwSession, fwObject);
|
||||
}
|
||||
arena = fwObject->localArena;
|
||||
nss_ZFreeIf(fwObject);
|
||||
if (arena) {
|
||||
NSSArena_Destroy(arena);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
(void)object_remove_pointer(fwObject);
|
||||
|
|
@ -265,7 +238,6 @@ nssCKFWObject_Destroy(
|
|||
NSSCKFWObject *fwObject)
|
||||
{
|
||||
nssCKFWHash *mdObjectHash;
|
||||
NSSArena *arena = NULL;
|
||||
|
||||
#ifdef NSSDEBUG
|
||||
if (CKR_OK != nssCKFWObject_verifyPointer(fwObject)) {
|
||||
|
|
@ -289,11 +261,7 @@ nssCKFWObject_Destroy(
|
|||
if (fwObject->fwSession) {
|
||||
nssCKFWSession_DeregisterSessionObject(fwObject->fwSession, fwObject);
|
||||
}
|
||||
arena = fwObject->localArena;
|
||||
nss_ZFreeIf(fwObject);
|
||||
if (arena) {
|
||||
NSSArena_Destroy(arena);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
(void)object_remove_pointer(fwObject);
|
||||
|
|
|
|||
|
|
@ -1271,7 +1271,7 @@ gotmdobject:
|
|||
return (NSSCKFWObject *)NULL;
|
||||
}
|
||||
|
||||
fwObject = nssCKFWObject_Create(isTokenObject ? arena : NULL, mdObject,
|
||||
fwObject = nssCKFWObject_Create(arena, mdObject,
|
||||
isTokenObject ? NULL
|
||||
: fwSession,
|
||||
fwSession->fwToken, fwSession->fwInstance, pError);
|
||||
|
|
@ -1399,7 +1399,7 @@ nssCKFWSession_CopyObject(
|
|||
return (NSSCKFWObject *)NULL;
|
||||
}
|
||||
|
||||
rv = nssCKFWObject_Create(newIsToken ? arena : NULL, mdObject,
|
||||
rv = nssCKFWObject_Create(arena, mdObject,
|
||||
newIsToken ? NULL
|
||||
: fwSession,
|
||||
fwSession->fwToken, fwSession->fwInstance, pError);
|
||||
|
|
|
|||
|
|
@ -1211,7 +1211,8 @@ nssCKFWToken_GetUTCTime(
|
|||
|
||||
if (D > dims[M - 1])
|
||||
goto badtime; /* per-month check */
|
||||
if ((2 == M) && (((Y % 4) || !(Y % 100)) && (Y % 400)) &&
|
||||
if ((2 == M) && (((Y % 4) || !(Y % 100)) &&
|
||||
(Y % 400)) &&
|
||||
(D > 28))
|
||||
goto badtime; /* leap years */
|
||||
|
||||
|
|
|
|||
|
|
@ -222,14 +222,13 @@ NSSCKFWC_Finalize(
|
|||
|
||||
loser:
|
||||
switch (error) {
|
||||
case CKR_OK: {
|
||||
PRInt32 remainingInstances;
|
||||
PRInt32 remainingInstances;
|
||||
case CKR_OK:
|
||||
remainingInstances = PR_ATOMIC_DECREMENT(&liveInstances);
|
||||
if (!remainingInstances) {
|
||||
nssArena_Shutdown();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CKR_CRYPTOKI_NOT_INITIALIZED:
|
||||
case CKR_FUNCTION_FAILED:
|
||||
case CKR_GENERAL_ERROR:
|
||||
|
|
@ -2571,17 +2570,11 @@ NSSCKFWC_FindObjects(
|
|||
phObject[i] = nssCKFWInstance_FindObjectHandle(fwInstance, fwObject);
|
||||
if ((CK_OBJECT_HANDLE)0 == phObject[i]) {
|
||||
phObject[i] = nssCKFWInstance_CreateObjectHandle(fwInstance, fwObject, &error);
|
||||
/* CreateObjectHandle returns CKR_GENERAL_ERROR if fwObject already
|
||||
* has a handle. This happens when another thread creates a handle
|
||||
* between our FindObjectHandle and CreateObjectHandle calls.
|
||||
*/
|
||||
if (error == CKR_GENERAL_ERROR) {
|
||||
error = CKR_OK;
|
||||
phObject[i] = nssCKFWInstance_FindObjectHandle(fwInstance, fwObject);
|
||||
}
|
||||
if (error != CKR_OK || (CK_OBJECT_HANDLE)0 == phObject[i]) {
|
||||
goto loser;
|
||||
}
|
||||
}
|
||||
if ((CK_OBJECT_HANDLE)0 == phObject[i]) {
|
||||
/* This isn't right either, is it? */
|
||||
nssCKFWObject_Destroy(fwObject);
|
||||
goto loser;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue