Index: branches/2020Q4/security/nss/Makefile =================================================================== --- branches/2020Q4/security/nss/Makefile (revision 559326) +++ branches/2020Q4/security/nss/Makefile (revision 559327) @@ -1,118 +1,119 @@ # Created by: Maxim Sobolev # $FreeBSD$ PORTNAME= nss -PORTVERSION= 3.60 +PORTVERSION= 3.60.1 CATEGORIES= security MASTER_SITES= MOZILLA/security/${PORTNAME}/releases/${DISTNAME:tu:C/[-.]/_/g}_RTM/src +DISTNAME= ${PORTNAME}-3.60 # XXX Drop after 3.60.1 distfile appears MAINTAINER= gecko@FreeBSD.org COMMENT= Libraries to support development of security-enabled applications LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libnspr4.so:devel/nspr \ libsqlite3.so:databases/sqlite3 TEST_DEPENDS= bash:shells/bash USES= cpe gmake perl5 WRKSRC_SUBDIR= nss USE_LDCONFIG= yes CPE_VENDOR= mozilla CPE_PRODUCT= network_security_services USE_PERL5= build MAKE_ENV= NSPR_LIB_DIR="${LOCALBASE}/lib" \ SQLITE_INCLUDE_DIR="${LOCALBASE}/include" \ FREEBL_LOWHASH=1 \ NSS_ENABLE_WERROR=0 \ NSS_DISABLE_GTESTS=1 \ NSS_USE_SYSTEM_SQLITE=1 CFLAGS+= -I${LOCALBASE}/include/nspr -Wno-error=unused-function SUB_FILES= nss-config nss.pc SUB_LIST= PORTVERSION=${PORTVERSION} DIST= ${WRKSRC:H}/dist EXTRACT_AFTER_ARGS=--exclude */lib/zlib --exclude */lib/dbm --exclude */lib/sqlite INSTALL_BINS= certutil cmsutil crlutil derdump makepqg \ mangle modutil ocspclnt oidcalc p7content p7env p7sign \ p7verify pk12util rsaperf shlibsign signtool signver \ ssltap strsclnt symkeyutil vfychain vfyserv OPTIONS_DEFINE= DEBUG OPTIONS_DEFINE_powerpc= VSX OPTIONS_DEFINE_powerpc64= VSX OPTIONS_DEFINE_powerpc64le= VSX VSX_CFLAGS= -DUSE_PPC_CRYPTO VSX_DESC= Use VSX optimized routines (POWER8 or newer) .include .if ! ${PORT_OPTIONS:MDEBUG} MAKE_ENV+= BUILD_OPT=1 BINS= ${DIST}/${OPSYS}${OSREL}_OPT.OBJ .else BINS= ${DIST}/${OPSYS}${OSREL}_DBG.OBJ .endif .if ${ARCH:Mpowerpc64*} || ${ARCH} == powerpc EXTRA_PATCHES= ${FILESDIR}/${ARCH}${PPC_ABI:tl}-lib_freebl_scripts_gen.sh USES+= compiler:c++11-lang # -mcrypto -mvsx .if ! ${PORT_OPTIONS:MVSX} MAKE_ENV+= NSS_DISABLE_ALTIVEC=1 .endif .endif .if ${OPSYS} == FreeBSD && ${ARCH} == amd64 USE_BINUTILS= # intel-gcm.s CC+= -B${LOCALBASE}/bin .endif do-test: cd ${WRKSRC}/tests; \ ${SETENV} PATH="${BINS}/bin:${PATH}" \ LD_LIBRARY_PATH="${BINS}/lib" \ ${MAKE_ENV} \ bash ./all.sh @if ${GREP} -Fh '>Failed<' \ ${WRKSRC:H}/tests_results/security/*/results.html; then \ echo "Some tests have failed. Let ${MAINTAINER} know."; \ exit 1; \ else \ echo "All tests succeeded. Good news."; \ fi post-patch: @${REINPLACE_CMD} '/NSS_DEFAULT_SYSTEM/s,/etc,${PREFIX}&,' \ ${WRKSRC}/lib/sysinit/nsssysinit.c @cd ${WRKSRC} && \ ${FIND} . -name "*.c" -o -name "*.h" | \ ${XARGS} ${REINPLACE_CMD} -e 's|"nspr.h"||' .if ${ARCH:Mpowerpc*} pre-build: @cd ${WRKSRC}/lib/freebl/scripts && ./gen.sh .endif do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/include/nss ${STAGEDIR}${PREFIX}/lib ${FIND} ${DIST}/public/nss -type l \ -exec ${INSTALL_DATA} {} ${STAGEDIR}${PREFIX}/include/nss \; ${INSTALL_LIB} ${BINS}/lib/*.so \ ${STAGEDIR}${PREFIX}/lib/ ${INSTALL_DATA} ${BINS}/lib/libcrmf.a \ ${STAGEDIR}${PREFIX}/lib/ .for bin in ${INSTALL_BINS} ${INSTALL_PROGRAM} ${BINS}/bin/${bin} \ ${STAGEDIR}${PREFIX}/bin .endfor ${INSTALL_SCRIPT} ${WRKDIR}/nss-config ${STAGEDIR}${PREFIX}/bin ${INSTALL_DATA} ${WRKDIR}/nss.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig .include Index: branches/2020Q4/security/nss/files/patch-3.60.1 =================================================================== --- branches/2020Q4/security/nss/files/patch-3.60.1 (nonexistent) +++ branches/2020Q4/security/nss/files/patch-3.60.1 (revision 559327) @@ -0,0 +1,152 @@ +Generated by git diff --no-prefix NSS_3_60_RTM..NSS_3_60_1_RTM +https://hg.mozilla.org/projects/nss/rev/b47465be3b6f +https://hg.mozilla.org/projects/nss/rev/83173cdd72f6 + +diff --git lib/dev/devslot.c lib/dev/devslot.c +index 3f4e54e061..5021408bf0 100644 +--- lib/dev/devslot.c ++++ lib/dev/devslot.c +@@ -171,12 +171,11 @@ nssSlot_IsTokenPresent( + + nssSlot_EnterMonitor(slot); + ckrv = CKAPI(epv)->C_GetSlotInfo(slot->slotID, &slotInfo); ++ nssSlot_ExitMonitor(slot); + if (ckrv != CKR_OK) { +- if (slot->token) { +- slot->token->base.name[0] = 0; /* XXX */ +- } ++ slot->token->base.name[0] = 0; /* XXX */ + isPresent = PR_FALSE; +- goto done; /* slot lock held */ ++ goto done; + } + slot->ckFlags = slotInfo.flags; + /* check for the presence of the token */ +@@ -184,11 +183,10 @@ nssSlot_IsTokenPresent( + if (!slot->token) { + /* token was never present */ + isPresent = PR_FALSE; +- goto done; /* slot lock held */ ++ goto done; + } + session = nssToken_GetDefaultSession(slot->token); + if (session) { +- nssSlot_ExitMonitor(slot); + nssSession_EnterMonitor(session); + /* token is not present */ + if (session->handle != CK_INVALID_HANDLE) { +@@ -198,12 +196,6 @@ nssSlot_IsTokenPresent( + session->handle = CK_INVALID_HANDLE; + } + nssSession_ExitMonitor(session); +- nssSlot_EnterMonitor(slot); +- if (!slot->token) { +- /* Check token presence after re-acquiring lock */ +- isPresent = PR_FALSE; +- goto done; /* slot lock held */ +- } + } + if (slot->token->base.name[0] != 0) { + /* notify the high-level cache that the token is removed */ +@@ -214,23 +206,14 @@ nssSlot_IsTokenPresent( + /* clear the token cache */ + nssToken_Remove(slot->token); + isPresent = PR_FALSE; +- goto done; /* slot lock held */ +- } +- if (!slot->token) { +- /* This should not occur, based on the fact that the +- * below calls will dereference NULL otherwise. */ +- PORT_Assert(0); +- isPresent = PR_FALSE; +- goto done; /* slot lock held */ ++ goto done; + } +- + /* token is present, use the session info to determine if the card + * has been removed and reinserted. + */ + session = nssToken_GetDefaultSession(slot->token); + if (session) { + PRBool tokenRemoved; +- nssSlot_ExitMonitor(slot); + nssSession_EnterMonitor(session); + if (session->handle != CK_INVALID_HANDLE) { + CK_SESSION_INFO sessionInfo; +@@ -244,16 +227,10 @@ nssSlot_IsTokenPresent( + } + tokenRemoved = (session->handle == CK_INVALID_HANDLE); + nssSession_ExitMonitor(session); +- nssSlot_EnterMonitor(slot); + /* token not removed, finished */ + if (!tokenRemoved) { + isPresent = PR_TRUE; +- goto done; /* slot lock held */ +- } +- if (!slot->token) { +- /* Check token presence after re-acquiring lock */ +- isPresent = PR_FALSE; +- goto done; /* slot lock held */ ++ goto done; + } + } + /* the token has been removed, and reinserted, or the slot contains +@@ -271,7 +248,6 @@ nssSlot_IsTokenPresent( + isPresent = PR_FALSE; + } + done: +- nssSlot_ExitMonitor(slot); + /* Once we've set up the condition variable, + * Before returning, it's necessary to: + * 1) Set the lastTokenPingTime so that any other threads waiting on this +diff --git lib/nss/nss.h lib/nss/nss.h +index 4a87939bdd..0fd14629e3 100644 +--- lib/nss/nss.h ++++ lib/nss/nss.h +@@ -22,10 +22,10 @@ + * The format of the version string should be + * ".[.[.]][ ][ ]" + */ +-#define NSS_VERSION "3.60" _NSS_CUSTOMIZED ++#define NSS_VERSION "3.60.1" _NSS_CUSTOMIZED + #define NSS_VMAJOR 3 + #define NSS_VMINOR 60 +-#define NSS_VPATCH 0 ++#define NSS_VPATCH 1 + #define NSS_VBUILD 0 + #define NSS_BETA PR_FALSE + +diff --git lib/softoken/softkver.h lib/softoken/softkver.h +index 16e0e6b523..4b5b66d8f2 100644 +--- lib/softoken/softkver.h ++++ lib/softoken/softkver.h +@@ -17,10 +17,10 @@ + * The format of the version string should be + * ".[.[.]][ ][ ]" + */ +-#define SOFTOKEN_VERSION "3.60" SOFTOKEN_ECC_STRING ++#define SOFTOKEN_VERSION "3.60.1" SOFTOKEN_ECC_STRING + #define SOFTOKEN_VMAJOR 3 + #define SOFTOKEN_VMINOR 60 +-#define SOFTOKEN_VPATCH 0 ++#define SOFTOKEN_VPATCH 1 + #define SOFTOKEN_VBUILD 0 + #define SOFTOKEN_BETA PR_FALSE + +diff --git lib/util/nssutil.h lib/util/nssutil.h +index 6db5095718..98f3aaf493 100644 +--- lib/util/nssutil.h ++++ lib/util/nssutil.h +@@ -19,10 +19,10 @@ + * The format of the version string should be + * ".[.[.]][ ]" + */ +-#define NSSUTIL_VERSION "3.60" ++#define NSSUTIL_VERSION "3.60.1" + #define NSSUTIL_VMAJOR 3 + #define NSSUTIL_VMINOR 60 +-#define NSSUTIL_VPATCH 0 ++#define NSSUTIL_VPATCH 1 + #define NSSUTIL_VBUILD 0 + #define NSSUTIL_BETA PR_FALSE + Property changes on: branches/2020Q4/security/nss/files/patch-3.60.1 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2020Q4 =================================================================== --- branches/2020Q4 (revision 559326) +++ branches/2020Q4 (revision 559327) Property changes on: branches/2020Q4 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r559326