public key's algorithm, to VFY_VerifyData and VFY_VerifyDigest. Only
fixed this in cmssiginfo.c. In p7decode.c I just added comments saying
they should be fixed. r=relyea.
Modified files: lib/smime/cmssiginfo.c lib/pkcs7/p7decode.c
Introduced NSPR_INCLUDE_DIR and NSPR_LIB_DIR make variables. Portions of
the patch were contributed by Chris Seawood <cls@seawood.org>. r=relyea.
Modified Files:
coreconf/OS2.mk coreconf/OpenVMS.mk coreconf/location.mk
nss/cmd/platlibs.mk nss/cmd/shlibsign/Makefile
nss/cmd/shlibsign/sign.cmd nss/cmd/shlibsign/sign.sh
nss/lib/ckfw/builtins/Makefile
nss/lib/fortcrypt/swfort/pkcs11/Makefile nss/lib/nss/config.mk
nss/lib/smime/config.mk nss/lib/softoken/config.mk
nss/lib/ssl/config.mk
NSS_CMSContentInfo_GetContent that occur when a detached signature is not
accompanied by the data on which the signature was computed. Bug 229242.
Make NSS_CMSContentInfo_GetInnerContent and NSS_CMSMessage_GetContent
more easily debugged, by storing the results returned by function calls
in automatic variables before using them in subsequent calls/switches.
address of a stack variable to the attr->values array. Added a new
function SECITEM_ArenaDupItem. r=nelsonb.
Modified Files:
nss/nss.def util/secitem.c util/secitem.h smime/cmsarray.c
smime/cmsattr.c
- The patch destroys the digest context member of the CMSContentInfo.
It calls the previously unused function NSS_CMSDigestContext_Cancel
to destroy the digest context. Eliminates an object reference leak.
Bugscape bug 54208, r=relyea
NSS_CMSSignedData_Decode_AfterData
- These functions call NSS_CMSDigestContext_FinishMultiple, which
always destroys the digest context, regardless of whether it returns
SECSUccess or SECFailure. So, change these functions to always NULL
out the context pointer regardless of the returned value.
NSS_CMSSignedData_VerifySignerInfo()
- Always call NSS_CMSSignerInfo_Verify() to set the verification status
in the signerinfo object, even if some of the other arguments are NULL,
or other failures have occurred, but avoid NULL pointer dereferences
along the way. Notice that this change is dependent on changes to
NSS_CMSSignerInfo_Verify() (see below.)
NSS_CMSSignedData_SetDigests() - skip over missing digests. Don't fail
the function, and don't crash, if digest pointers are NULL.
Bugscape bug 54208, r=relyea
NSS_CMSDigestedData_Decode_AfterData
- Since NSS_CMSDigestContext_FinishSingle always destroys the context,
regardless of whether it returns SECSuccess or SECFailure, these
functions have been changed to always NULL out the context pointer
after calling NSS_CMSDigestContext_FinishSingle, regardless of the
outcome.
Bugscape bug 54208, r=relyea
The relevant fixes for this bug include:
NSS_CMSDigestContext_StartMultiple()
- make sure that cmsdigcx->digcxs and cmsdigcx->digobjs are initialized.
- at the "loser" label, be sure to free the digest context itself.
NSS_CMSDigestContext_Cancel()
- after destroying all the objects, free the arrays of pointers to the
objects, and the digest context itself. Previously these items were
leaked by this function.
NSS_CMSDigestContext_FinishMultiple()
- ensure that this function ALWAYS destroys all the NSS digest objects,
and doesn't stop destroying them if it encounters an error. Note that
this is a newer revision of an older patch for that problem.
- always Free the arrays of pointers used in this object.
NSS_CMSDigestContext_FinishSingle()
- simplify this code.
Bugscape bug 54208, r=relyea
- This function is changed to explicitly allow some of its input arguments
to be NULL. It will set the verification status in the CMSSignerInfo
object accordingly. Since this is the ONLY function that ever sets the
verification status, it must be able to do so even when problems have
occurred.
- lots of cleanup of this source code.
Bugscape bug 54208, r=relyea
fails we should return SECFailure. Document that the return values of
CERT_GetCommonName and NSS_CMSSignerInfo_GetSignerCommonName must be freed
with PORT_Free. r=nelsonb.
Modified Files:
certdb/alg1485.c certdb/cert.h certdb/certv3.c smime/cms.h
smime/cmssiginfo.c
When we fail to decode based on a bad password, don't continue.
So once we've tried failed to decode a ANS.1 stream, don't continue collecting
more data.
On microsoft.pfx files, we would wind up decoding to the end of the encrypted
stream, then fail in the padding in PKCS #7. This code bypasses this problem by
making sure we don't continue to try to decode data once we've hit a bad
password failure.
unix_rand.c, and win_rand.c. 2. Make secrng.h and pqgutil.h private.
3. Public header pk11pqg.h can't include private header pqgutil.h.
4. Many files don't need to include secrng.h. A few don't need to include
pqgutil.h. 5. Remove duplicate declarations of PQG_DestroyParams and
PQG_DestroyVerify from blapi.h.