2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmscinfo.c.676036 ./mozilla/security/nss/lib/smime/cmscinfo.c
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmscinfo.c.676036 2011-02-09 14:03:55.133296665 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmscinfo.c 2011-02-09 14:03:55.151294755 -0800
|
2011-02-08 19:48:11 +00:00
|
|
|
@@ -56,27 +56,27 @@
|
|
|
|
SECStatus
|
|
|
|
NSS_CMSContentInfo_Private_Init(NSSCMSContentInfo *cinfo)
|
|
|
|
{
|
|
|
|
- if (cinfo->private) {
|
|
|
|
+ if (cinfo->privateInfo) {
|
|
|
|
return SECSuccess;
|
|
|
|
}
|
|
|
|
- cinfo->private = PORT_ZNew(NSSCMSContentInfoPrivate);
|
|
|
|
- return (cinfo->private) ? SECSuccess: SECFailure;
|
|
|
|
+ cinfo->privateInfo = PORT_ZNew(NSSCMSContentInfoPrivate);
|
2011-02-11 15:56:25 +00:00
|
|
|
+ return (cinfo->privateInfo) ? SECSuccess : SECFailure;
|
2011-02-08 19:48:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
-nss_cmsContentInfo_private_destroy(NSSCMSContentInfoPrivate *private)
|
|
|
|
+nss_cmsContentInfo_private_destroy(NSSCMSContentInfoPrivate *privateInfo)
|
|
|
|
{
|
|
|
|
- if (private->digcx) {
|
|
|
|
+ if (privateInfo->digcx) {
|
|
|
|
/* must destroy digest objects */
|
|
|
|
- NSS_CMSDigestContext_Cancel(private->digcx);
|
|
|
|
- private->digcx = NULL;
|
|
|
|
+ NSS_CMSDigestContext_Cancel(privateInfo->digcx);
|
|
|
|
+ privateInfo->digcx = NULL;
|
|
|
|
}
|
|
|
|
- if (private->ciphcx) {
|
|
|
|
- NSS_CMSCipherContext_Destroy(private->ciphcx);
|
|
|
|
- private->ciphcx = NULL;
|
|
|
|
+ if (privateInfo->ciphcx) {
|
|
|
|
+ NSS_CMSCipherContext_Destroy(privateInfo->ciphcx);
|
|
|
|
+ privateInfo->ciphcx = NULL;
|
|
|
|
}
|
|
|
|
- PORT_Free(private);
|
|
|
|
+ PORT_Free(privateInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
@@ -106,9 +106,9 @@ NSS_CMSContentInfo_Destroy(NSSCMSContent
|
|
|
|
/* XXX Anything else that needs to be "manually" freed/destroyed? */
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
- if (cinfo->private) {
|
|
|
|
- nss_cmsContentInfo_private_destroy(cinfo->private);
|
|
|
|
- cinfo->private = NULL;
|
|
|
|
+ if (cinfo->privateInfo) {
|
|
|
|
+ nss_cmsContentInfo_private_destroy(cinfo->privateInfo);
|
|
|
|
+ cinfo->privateInfo = NULL;
|
|
|
|
}
|
|
|
|
if (cinfo->bulkkey) {
|
|
|
|
PK11_FreeSymKey(cinfo->bulkkey);
|
|
|
|
@@ -153,7 +153,7 @@ NSS_CMSContentInfo_GetChildContentInfo(N
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
- if (ccinfo && !ccinfo->private) {
|
|
|
|
+ if (ccinfo && !ccinfo->privateInfo) {
|
|
|
|
NSS_CMSContentInfo_Private_Init(ccinfo);
|
|
|
|
}
|
|
|
|
return ccinfo;
|
|
|
|
@@ -169,7 +169,7 @@ NSS_CMSContentInfo_SetDontStream(NSSCMSC
|
|
|
|
/* default is streaming, failure to get ccinfo will not effect this */
|
|
|
|
return dontStream ? SECFailure : SECSuccess ;
|
|
|
|
}
|
|
|
|
- cinfo->private->dontStream = dontStream;
|
|
|
|
+ cinfo->privateInfo->dontStream = dontStream;
|
|
|
|
return SECSuccess;
|
|
|
|
}
|
|
|
|
|
2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmsdecode.c.676036 ./mozilla/security/nss/lib/smime/cmsdecode.c
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmsdecode.c.676036 2011-02-09 14:03:55.149294968 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmsdecode.c 2011-02-09 14:03:55.152294649 -0800
|
|
|
|
@@ -458,7 +458,7 @@ nss_cms_decoder_work_data(NSSCMSDecoderC
|
2011-02-08 19:48:11 +00:00
|
|
|
goto loser;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (cinfo->private && cinfo->private->ciphcx != NULL) {
|
|
|
|
+ if (cinfo->privateInfo && cinfo->privateInfo->ciphcx != NULL) {
|
|
|
|
/*
|
|
|
|
* we are decrypting.
|
|
|
|
*
|
2011-02-10 19:58:38 +00:00
|
|
|
@@ -472,7 +472,7 @@ nss_cms_decoder_work_data(NSSCMSDecoderC
|
2011-02-08 19:48:11 +00:00
|
|
|
unsigned int buflen; /* length available for decrypted data */
|
|
|
|
|
|
|
|
/* find out about the length of decrypted data */
|
|
|
|
- buflen = NSS_CMSCipherContext_DecryptLength(cinfo->private->ciphcx, len, final);
|
|
|
|
+ buflen = NSS_CMSCipherContext_DecryptLength(cinfo->privateInfo->ciphcx, len, final);
|
|
|
|
|
|
|
|
/*
|
|
|
|
* it might happen that we did not provide enough data for a full
|
2011-02-10 19:58:38 +00:00
|
|
|
@@ -503,7 +503,7 @@ nss_cms_decoder_work_data(NSSCMSDecoderC
|
2011-02-08 19:48:11 +00:00
|
|
|
* any output (see above), but we still need to call NSS_CMSCipherContext_Decrypt to
|
|
|
|
* keep track of incoming data
|
|
|
|
*/
|
|
|
|
- rv = NSS_CMSCipherContext_Decrypt(cinfo->private->ciphcx, buf, &outlen, buflen,
|
|
|
|
+ rv = NSS_CMSCipherContext_Decrypt(cinfo->privateInfo->ciphcx, buf, &outlen, buflen,
|
|
|
|
data, len, final);
|
|
|
|
if (rv != SECSuccess) {
|
|
|
|
p7dcx->error = PORT_GetError();
|
2011-02-10 19:58:38 +00:00
|
|
|
@@ -523,8 +523,8 @@ nss_cms_decoder_work_data(NSSCMSDecoderC
|
2011-02-08 19:48:11 +00:00
|
|
|
/*
|
|
|
|
* Update the running digests with plaintext bytes (if we need to).
|
|
|
|
*/
|
|
|
|
- if (cinfo->private && cinfo->private->digcx)
|
|
|
|
- NSS_CMSDigestContext_Update(cinfo->private->digcx, data, len);
|
|
|
|
+ if (cinfo->privateInfo && cinfo->privateInfo->digcx)
|
|
|
|
+ NSS_CMSDigestContext_Update(cinfo->privateInfo->digcx, data, len);
|
|
|
|
|
|
|
|
/* at this point, we have the plain decoded & decrypted data
|
|
|
|
** which is either more encoded DER (which we need to hand to the child
|
2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmsdigdata.c.676036 ./mozilla/security/nss/lib/smime/cmsdigdata.c
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmsdigdata.c.676036 2011-02-09 14:03:55.134296559 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmsdigdata.c 2011-02-09 14:03:55.152294649 -0800
|
2011-02-08 19:48:11 +00:00
|
|
|
@@ -143,8 +143,8 @@ NSS_CMSDigestedData_Encode_BeforeData(NS
|
|
|
|
/* set up the digests */
|
|
|
|
if (digd->digestAlg.algorithm.len != 0 && digd->digest.len == 0) {
|
|
|
|
/* if digest is already there, do nothing */
|
|
|
|
- digd->contentInfo.private->digcx = NSS_CMSDigestContext_StartSingle(&(digd->digestAlg));
|
|
|
|
- if (digd->contentInfo.private->digcx == NULL)
|
|
|
|
+ digd->contentInfo.privateInfo->digcx = NSS_CMSDigestContext_StartSingle(&(digd->digestAlg));
|
|
|
|
+ if (digd->contentInfo.privateInfo->digcx == NULL)
|
|
|
|
return SECFailure;
|
|
|
|
}
|
|
|
|
return SECSuccess;
|
|
|
|
@@ -162,12 +162,12 @@ NSS_CMSDigestedData_Encode_AfterData(NSS
|
|
|
|
{
|
|
|
|
SECStatus rv = SECSuccess;
|
|
|
|
/* did we have digest calculation going on? */
|
|
|
|
- if (digd->contentInfo.private && digd->contentInfo.private->digcx) {
|
|
|
|
- rv = NSS_CMSDigestContext_FinishSingle(digd->contentInfo.private->digcx,
|
|
|
|
+ if (digd->contentInfo.privateInfo && digd->contentInfo.privateInfo->digcx) {
|
|
|
|
+ rv = NSS_CMSDigestContext_FinishSingle(digd->contentInfo.privateInfo->digcx,
|
|
|
|
digd->cmsg->poolp,
|
|
|
|
&(digd->digest));
|
|
|
|
/* error has been set by NSS_CMSDigestContext_FinishSingle */
|
|
|
|
- digd->contentInfo.private->digcx = NULL;
|
|
|
|
+ digd->contentInfo.privateInfo->digcx = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
return rv;
|
|
|
|
@@ -194,8 +194,8 @@ NSS_CMSDigestedData_Decode_BeforeData(NS
|
|
|
|
return SECFailure;
|
|
|
|
}
|
|
|
|
|
|
|
|
- digd->contentInfo.private->digcx = NSS_CMSDigestContext_StartSingle(&(digd->digestAlg));
|
|
|
|
- if (digd->contentInfo.private->digcx == NULL)
|
|
|
|
+ digd->contentInfo.privateInfo->digcx = NSS_CMSDigestContext_StartSingle(&(digd->digestAlg));
|
|
|
|
+ if (digd->contentInfo.privateInfo->digcx == NULL)
|
|
|
|
return SECFailure;
|
|
|
|
|
|
|
|
return SECSuccess;
|
|
|
|
@@ -213,12 +213,12 @@ NSS_CMSDigestedData_Decode_AfterData(NSS
|
|
|
|
{
|
|
|
|
SECStatus rv = SECSuccess;
|
|
|
|
/* did we have digest calculation going on? */
|
|
|
|
- if (digd->contentInfo.private && digd->contentInfo.private->digcx) {
|
|
|
|
- rv = NSS_CMSDigestContext_FinishSingle(digd->contentInfo.private->digcx,
|
|
|
|
+ if (digd->contentInfo.privateInfo && digd->contentInfo.privateInfo->digcx) {
|
|
|
|
+ rv = NSS_CMSDigestContext_FinishSingle(digd->contentInfo.privateInfo->digcx,
|
|
|
|
digd->cmsg->poolp,
|
|
|
|
&(digd->cdigest));
|
|
|
|
/* error has been set by NSS_CMSDigestContext_FinishSingle */
|
|
|
|
- digd->contentInfo.private->digcx = NULL;
|
|
|
|
+ digd->contentInfo.privateInfo->digcx = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
return rv;
|
2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmsencdata.c.676036 ./mozilla/security/nss/lib/smime/cmsencdata.c
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmsencdata.c.676036 2011-02-09 14:03:55.135296453 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmsencdata.c 2011-02-09 14:03:55.153294543 -0800
|
2011-02-08 19:48:11 +00:00
|
|
|
@@ -200,9 +200,9 @@ NSS_CMSEncryptedData_Encode_BeforeData(N
|
|
|
|
/* this may modify algid (with IVs generated in a token).
|
|
|
|
* it is therefore essential that algid is a pointer to the "real" contentEncAlg,
|
|
|
|
* not just to a copy */
|
|
|
|
- cinfo->private->ciphcx = NSS_CMSCipherContext_StartEncrypt(encd->cmsg->poolp, bulkkey, algid);
|
|
|
|
+ cinfo->privateInfo->ciphcx = NSS_CMSCipherContext_StartEncrypt(encd->cmsg->poolp, bulkkey, algid);
|
|
|
|
PK11_FreeSymKey(bulkkey);
|
|
|
|
- if (cinfo->private->ciphcx == NULL)
|
|
|
|
+ if (cinfo->privateInfo->ciphcx == NULL)
|
|
|
|
return SECFailure;
|
|
|
|
|
|
|
|
return SECSuccess;
|
|
|
|
@@ -214,9 +214,9 @@ NSS_CMSEncryptedData_Encode_BeforeData(N
|
|
|
|
SECStatus
|
|
|
|
NSS_CMSEncryptedData_Encode_AfterData(NSSCMSEncryptedData *encd)
|
|
|
|
{
|
|
|
|
- if (encd->contentInfo.private && encd->contentInfo.private->ciphcx) {
|
|
|
|
- NSS_CMSCipherContext_Destroy(encd->contentInfo.private->ciphcx);
|
|
|
|
- encd->contentInfo.private->ciphcx = NULL;
|
|
|
|
+ if (encd->contentInfo.privateInfo && encd->contentInfo.privateInfo->ciphcx) {
|
|
|
|
+ NSS_CMSCipherContext_Destroy(encd->contentInfo.privateInfo->ciphcx);
|
|
|
|
+ encd->contentInfo.privateInfo->ciphcx = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* nothing to do after data */
|
|
|
|
@@ -255,8 +255,8 @@ NSS_CMSEncryptedData_Decode_BeforeData(N
|
|
|
|
}
|
|
|
|
rv = SECFailure;
|
|
|
|
|
|
|
|
- cinfo->private->ciphcx = NSS_CMSCipherContext_StartDecrypt(bulkkey, bulkalg);
|
|
|
|
- if (cinfo->private->ciphcx == NULL)
|
|
|
|
+ cinfo->privateInfo->ciphcx = NSS_CMSCipherContext_StartDecrypt(bulkkey, bulkalg);
|
|
|
|
+ if (cinfo->privateInfo->ciphcx == NULL)
|
|
|
|
goto loser; /* error has been set by NSS_CMSCipherContext_StartDecrypt */
|
|
|
|
|
|
|
|
|
|
|
|
@@ -275,9 +275,9 @@ loser:
|
|
|
|
SECStatus
|
|
|
|
NSS_CMSEncryptedData_Decode_AfterData(NSSCMSEncryptedData *encd)
|
|
|
|
{
|
|
|
|
- if (encd->contentInfo.private && encd->contentInfo.private->ciphcx) {
|
|
|
|
- NSS_CMSCipherContext_Destroy(encd->contentInfo.private->ciphcx);
|
|
|
|
- encd->contentInfo.private->ciphcx = NULL;
|
|
|
|
+ if (encd->contentInfo.privateInfo && encd->contentInfo.privateInfo->ciphcx) {
|
|
|
|
+ NSS_CMSCipherContext_Destroy(encd->contentInfo.privateInfo->ciphcx);
|
|
|
|
+ encd->contentInfo.privateInfo->ciphcx = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
return SECSuccess;
|
2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmsencode.c.676036 ./mozilla/security/nss/lib/smime/cmsencode.c
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmsencode.c.676036 2011-02-09 14:03:55.136296347 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmsencode.c 2011-02-09 14:03:55.154294437 -0800
|
2011-02-08 19:48:11 +00:00
|
|
|
@@ -332,7 +332,7 @@ nss_cms_before_data(NSSCMSEncoderContext
|
|
|
|
* Indicate that we are streaming. We will be streaming until we
|
|
|
|
* get past the contents bytes.
|
|
|
|
*/
|
|
|
|
- if (!cinfo->private || !cinfo->private->dontStream)
|
|
|
|
+ if (!cinfo->privateInfo || !cinfo->privateInfo->dontStream)
|
|
|
|
SEC_ASN1EncoderSetStreaming(childp7ecx->ecx);
|
|
|
|
|
|
|
|
/*
|
|
|
|
@@ -430,23 +430,23 @@ nss_cms_encoder_work_data(NSSCMSEncoderC
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Update the running digest. */
|
|
|
|
- if (len && cinfo->private && cinfo->private->digcx != NULL)
|
|
|
|
- NSS_CMSDigestContext_Update(cinfo->private->digcx, data, len);
|
|
|
|
+ if (len && cinfo->privateInfo && cinfo->privateInfo->digcx != NULL)
|
|
|
|
+ NSS_CMSDigestContext_Update(cinfo->privateInfo->digcx, data, len);
|
|
|
|
|
|
|
|
/* Encrypt this chunk. */
|
|
|
|
- if (cinfo->private && cinfo->private->ciphcx != NULL) {
|
|
|
|
+ if (cinfo->privateInfo && cinfo->privateInfo->ciphcx != NULL) {
|
|
|
|
unsigned int inlen; /* length of data being encrypted */
|
|
|
|
unsigned int outlen; /* length of encrypted data */
|
|
|
|
unsigned int buflen; /* length available for encrypted data */
|
|
|
|
|
|
|
|
inlen = len;
|
|
|
|
- buflen = NSS_CMSCipherContext_EncryptLength(cinfo->private->ciphcx, inlen, final);
|
|
|
|
+ buflen = NSS_CMSCipherContext_EncryptLength(cinfo->privateInfo->ciphcx, inlen, final);
|
|
|
|
if (buflen == 0) {
|
|
|
|
/*
|
|
|
|
* No output is expected, but the input data may be buffered
|
|
|
|
* so we still have to call Encrypt.
|
|
|
|
*/
|
|
|
|
- rv = NSS_CMSCipherContext_Encrypt(cinfo->private->ciphcx, NULL, NULL, 0,
|
|
|
|
+ rv = NSS_CMSCipherContext_Encrypt(cinfo->privateInfo->ciphcx, NULL, NULL, 0,
|
|
|
|
data, inlen, final);
|
|
|
|
if (final) {
|
|
|
|
len = 0;
|
|
|
|
@@ -463,7 +463,7 @@ nss_cms_encoder_work_data(NSSCMSEncoderC
|
|
|
|
if (buf == NULL) {
|
|
|
|
rv = SECFailure;
|
|
|
|
} else {
|
|
|
|
- rv = NSS_CMSCipherContext_Encrypt(cinfo->private->ciphcx, buf, &outlen, buflen,
|
|
|
|
+ rv = NSS_CMSCipherContext_Encrypt(cinfo->privateInfo->ciphcx, buf, &outlen, buflen,
|
|
|
|
data, inlen, final);
|
|
|
|
data = buf;
|
|
|
|
len = outlen;
|
|
|
|
@@ -484,7 +484,7 @@ nss_cms_encoder_work_data(NSSCMSEncoderC
|
|
|
|
|
|
|
|
done:
|
|
|
|
|
|
|
|
- if (cinfo->private && cinfo->private->ciphcx != NULL) {
|
|
|
|
+ if (cinfo->privateInfo && cinfo->privateInfo->ciphcx != NULL) {
|
|
|
|
if (dest != NULL) {
|
|
|
|
dest->data = buf;
|
|
|
|
dest->len = len;
|
|
|
|
@@ -592,7 +592,7 @@ NSS_CMSEncoder_Start(NSSCMSMessage *cmsg
|
|
|
|
* Indicate that we are streaming. We will be streaming until we
|
|
|
|
* get past the contents bytes.
|
|
|
|
*/
|
|
|
|
- if (!cinfo->private || !cinfo->private->dontStream)
|
|
|
|
+ if (!cinfo->privateInfo || !cinfo->privateInfo->dontStream)
|
|
|
|
SEC_ASN1EncoderSetStreaming(p7ecx->ecx);
|
|
|
|
|
|
|
|
/*
|
2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmsenvdata.c.676036 ./mozilla/security/nss/lib/smime/cmsenvdata.c
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmsenvdata.c.676036 2011-02-09 14:03:55.137296241 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmsenvdata.c 2011-02-09 14:03:55.155294331 -0800
|
2011-02-08 19:48:11 +00:00
|
|
|
@@ -289,9 +289,9 @@ NSS_CMSEnvelopedData_Encode_BeforeData(N
|
|
|
|
/* this may modify algid (with IVs generated in a token).
|
|
|
|
* it is essential that algid is a pointer to the contentEncAlg data, not a
|
|
|
|
* pointer to a copy! */
|
|
|
|
- cinfo->private->ciphcx = NSS_CMSCipherContext_StartEncrypt(envd->cmsg->poolp, bulkkey, algid);
|
|
|
|
+ cinfo->privateInfo->ciphcx = NSS_CMSCipherContext_StartEncrypt(envd->cmsg->poolp, bulkkey, algid);
|
|
|
|
PK11_FreeSymKey(bulkkey);
|
|
|
|
- if (cinfo->private->ciphcx == NULL)
|
|
|
|
+ if (cinfo->privateInfo->ciphcx == NULL)
|
|
|
|
return SECFailure;
|
|
|
|
|
|
|
|
return SECSuccess;
|
|
|
|
@@ -303,9 +303,9 @@ NSS_CMSEnvelopedData_Encode_BeforeData(N
|
|
|
|
SECStatus
|
|
|
|
NSS_CMSEnvelopedData_Encode_AfterData(NSSCMSEnvelopedData *envd)
|
|
|
|
{
|
|
|
|
- if (envd->contentInfo.private && envd->contentInfo.private->ciphcx) {
|
|
|
|
- NSS_CMSCipherContext_Destroy(envd->contentInfo.private->ciphcx);
|
|
|
|
- envd->contentInfo.private->ciphcx = NULL;
|
|
|
|
+ if (envd->contentInfo.privateInfo && envd->contentInfo.privateInfo->ciphcx) {
|
|
|
|
+ NSS_CMSCipherContext_Destroy(envd->contentInfo.privateInfo->ciphcx);
|
|
|
|
+ envd->contentInfo.privateInfo->ciphcx = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* nothing else to do after data */
|
|
|
|
@@ -338,7 +338,7 @@ NSS_CMSEnvelopedData_Decode_BeforeData(N
|
|
|
|
}
|
|
|
|
|
|
|
|
/* look if one of OUR cert's issuerSN is on the list of recipients, and if so, */
|
|
|
|
- /* get the cert and private key for it right away */
|
2011-02-11 16:24:23 +00:00
|
|
|
+ /* get the cert and private key for it right away */
|
2011-02-08 19:48:11 +00:00
|
|
|
recipient_list = nss_cms_recipient_list_create(envd->recipientInfos);
|
|
|
|
if (recipient_list == NULL)
|
|
|
|
goto loser;
|
|
|
|
@@ -390,8 +390,8 @@ NSS_CMSEnvelopedData_Decode_BeforeData(N
|
|
|
|
goto loser;
|
|
|
|
}
|
|
|
|
rv = SECFailure;
|
|
|
|
- cinfo->private->ciphcx = NSS_CMSCipherContext_StartDecrypt(bulkkey, bulkalg);
|
|
|
|
- if (cinfo->private->ciphcx == NULL)
|
|
|
|
+ cinfo->privateInfo->ciphcx = NSS_CMSCipherContext_StartDecrypt(bulkkey, bulkalg);
|
|
|
|
+ if (cinfo->privateInfo->ciphcx == NULL)
|
|
|
|
goto loser; /* error has been set by NSS_CMSCipherContext_StartDecrypt */
|
|
|
|
|
|
|
|
|
|
|
|
@@ -411,9 +411,9 @@ loser:
|
|
|
|
SECStatus
|
|
|
|
NSS_CMSEnvelopedData_Decode_AfterData(NSSCMSEnvelopedData *envd)
|
|
|
|
{
|
|
|
|
- if (envd && envd->contentInfo.private && envd->contentInfo.private->ciphcx) {
|
|
|
|
- NSS_CMSCipherContext_Destroy(envd->contentInfo.private->ciphcx);
|
|
|
|
- envd->contentInfo.private->ciphcx = NULL;
|
|
|
|
+ if (envd && envd->contentInfo.privateInfo && envd->contentInfo.privateInfo->ciphcx) {
|
|
|
|
+ NSS_CMSCipherContext_Destroy(envd->contentInfo.privateInfo->ciphcx);
|
|
|
|
+ envd->contentInfo.privateInfo->ciphcx = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
return SECSuccess;
|
2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cms.h.676036 ./mozilla/security/nss/lib/smime/cms.h
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cms.h.676036 2011-02-09 14:05:46.178513159 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cms.h 2011-02-09 14:35:29.675010023 -0800
|
|
|
|
@@ -1171,7 +1171,7 @@ NSS_CMSDEREncode(NSSCMSMessage *cmsg, SE
|
|
|
|
* against that data structure.
|
|
|
|
*/
|
|
|
|
SECStatus NSS_CMSType_RegisterContentType(SECOidTag type,
|
|
|
|
- SEC_ASN1Template *template, size_t size,
|
|
|
|
+ SEC_ASN1Template *asn1Template, size_t size,
|
|
|
|
NSSCMSGenericWrapperDataDestroy destroy,
|
|
|
|
NSSCMSGenericWrapperDataCallback decode_before,
|
|
|
|
NSSCMSGenericWrapperDataCallback decode_after,
|
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmssigdata.c.676036 ./mozilla/security/nss/lib/smime/cmssigdata.c
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmssigdata.c.676036 2011-02-09 14:03:55.139296029 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmssigdata.c 2011-02-09 14:03:55.155294331 -0800
|
2011-02-08 19:48:11 +00:00
|
|
|
@@ -228,11 +228,11 @@ NSS_CMSSignedData_Encode_BeforeData(NSSC
|
|
|
|
}
|
|
|
|
/* set up the digests */
|
|
|
|
if (sigd->digests && sigd->digests[0]) {
|
|
|
|
- sigd->contentInfo.private->digcx = NULL; /* don't attempt to make new ones. */
|
|
|
|
+ sigd->contentInfo.privateInfo->digcx = NULL; /* don't attempt to make new ones. */
|
|
|
|
} else if (sigd->digestAlgorithms != NULL) {
|
|
|
|
- sigd->contentInfo.private->digcx =
|
|
|
|
+ sigd->contentInfo.privateInfo->digcx =
|
|
|
|
NSS_CMSDigestContext_StartMultiple(sigd->digestAlgorithms);
|
|
|
|
- if (sigd->contentInfo.private->digcx == NULL)
|
|
|
|
+ if (sigd->contentInfo.privateInfo->digcx == NULL)
|
|
|
|
return SECFailure;
|
|
|
|
}
|
|
|
|
return SECSuccess;
|
|
|
|
@@ -272,11 +272,11 @@ NSS_CMSSignedData_Encode_AfterData(NSSCM
|
|
|
|
cinfo = &(sigd->contentInfo);
|
|
|
|
|
|
|
|
/* did we have digest calculation going on? */
|
|
|
|
- if (cinfo->private && cinfo->private->digcx) {
|
|
|
|
- rv = NSS_CMSDigestContext_FinishMultiple(cinfo->private->digcx, poolp,
|
|
|
|
+ if (cinfo->privateInfo && cinfo->privateInfo->digcx) {
|
|
|
|
+ rv = NSS_CMSDigestContext_FinishMultiple(cinfo->privateInfo->digcx, poolp,
|
|
|
|
&(sigd->digests));
|
|
|
|
/* error has been set by NSS_CMSDigestContext_FinishMultiple */
|
|
|
|
- cinfo->private->digcx = NULL;
|
|
|
|
+ cinfo->privateInfo->digcx = NULL;
|
|
|
|
if (rv != SECSuccess)
|
|
|
|
goto loser;
|
|
|
|
}
|
|
|
|
@@ -409,8 +409,8 @@ NSS_CMSSignedData_Decode_BeforeData(NSSC
|
|
|
|
/* set up the digests */
|
|
|
|
if (sigd->digestAlgorithms != NULL && sigd->digests == NULL) {
|
|
|
|
/* if digests are already there, do nothing */
|
|
|
|
- sigd->contentInfo.private->digcx = NSS_CMSDigestContext_StartMultiple(sigd->digestAlgorithms);
|
|
|
|
- if (sigd->contentInfo.private->digcx == NULL)
|
|
|
|
+ sigd->contentInfo.privateInfo->digcx = NSS_CMSDigestContext_StartMultiple(sigd->digestAlgorithms);
|
|
|
|
+ if (sigd->contentInfo.privateInfo->digcx == NULL)
|
|
|
|
return SECFailure;
|
|
|
|
}
|
|
|
|
return SECSuccess;
|
|
|
|
@@ -431,11 +431,11 @@ NSS_CMSSignedData_Decode_AfterData(NSSCM
|
|
|
|
}
|
|
|
|
|
|
|
|
/* did we have digest calculation going on? */
|
|
|
|
- if (sigd->contentInfo.private && sigd->contentInfo.private->digcx) {
|
|
|
|
- rv = NSS_CMSDigestContext_FinishMultiple(sigd->contentInfo.private->digcx,
|
|
|
|
+ if (sigd->contentInfo.privateInfo && sigd->contentInfo.privateInfo->digcx) {
|
|
|
|
+ rv = NSS_CMSDigestContext_FinishMultiple(sigd->contentInfo.privateInfo->digcx,
|
|
|
|
sigd->cmsg->poolp, &(sigd->digests));
|
|
|
|
/* error set by NSS_CMSDigestContext_FinishMultiple */
|
|
|
|
- sigd->contentInfo.private->digcx = NULL;
|
|
|
|
+ sigd->contentInfo.privateInfo->digcx = NULL;
|
|
|
|
}
|
|
|
|
return rv;
|
|
|
|
}
|
2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmst.h.676036 ./mozilla/security/nss/lib/smime/cmst.h
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmst.h.676036 2011-02-09 14:03:55.141295816 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmst.h 2011-02-09 14:03:55.156294225 -0800
|
2011-02-08 19:48:11 +00:00
|
|
|
@@ -182,7 +182,7 @@ struct NSSCMSContentInfoStr {
|
|
|
|
* (only used by creation code) */
|
|
|
|
SECOidTag contentEncAlgTag; /* oid tag of encryption algorithm
|
|
|
|
* (only used by creation code) */
|
|
|
|
- NSSCMSContentInfoPrivate *private; /* place for NSS private info */
|
|
|
|
+ NSSCMSContentInfoPrivate *privateInfo; /* place for NSS private info */
|
|
|
|
void *reserved; /* keep binary compatibility */
|
|
|
|
};
|
|
|
|
|
2011-02-10 19:58:38 +00:00
|
|
|
diff -up ./mozilla/security/nss/lib/smime/cmsudf.c.676036 ./mozilla/security/nss/lib/smime/cmsudf.c
|
|
|
|
--- ./mozilla/security/nss/lib/smime/cmsudf.c.676036 2011-02-09 14:08:23.907775957 -0800
|
|
|
|
+++ ./mozilla/security/nss/lib/smime/cmsudf.c 2011-02-09 14:36:56.043841454 -0800
|
|
|
|
@@ -435,7 +435,7 @@ NSS_CMSGenericWrapperData_Encode_AfterDa
|
|
|
|
|
|
|
|
SECStatus
|
|
|
|
NSS_CMSType_RegisterContentType(SECOidTag type,
|
|
|
|
- SEC_ASN1Template *template, size_t size,
|
|
|
|
+ SEC_ASN1Template *asn1Template, size_t size,
|
|
|
|
NSSCMSGenericWrapperDataDestroy destroy,
|
|
|
|
NSSCMSGenericWrapperDataCallback decode_before,
|
|
|
|
NSSCMSGenericWrapperDataCallback decode_after,
|
2011-02-11 16:49:38 +00:00
|
|
|
@@ -462,10 +462,10 @@ NSS_CMSType_RegisterContentType(SECOidTa
|
|
|
|
return SECSuccess;
|
|
|
|
}
|
|
|
|
typeInfo = PORT_ArenaNew(nsscmstypeArena, nsscmstypeInfo);
|
|
|
|
- typeInfo->type =type;
|
|
|
|
+ typeInfo->type = type;
|
2011-02-10 19:58:38 +00:00
|
|
|
typeInfo->size = size;
|
|
|
|
typeInfo->isData = isData;
|
|
|
|
- typeInfo->template = template;
|
|
|
|
+ typeInfo->template = asn1Template;
|
|
|
|
typeInfo->destroy = destroy;
|
|
|
|
typeInfo->decode_before = decode_before;
|
|
|
|
typeInfo->decode_after = decode_after;
|