Package init
This commit is contained in:
commit
afa263357b
114
Bug-1412829-reject-empty-supported_signature_algorit.patch
Normal file
114
Bug-1412829-reject-empty-supported_signature_algorit.patch
Normal file
@ -0,0 +1,114 @@
|
||||
From 96728bb2bc55246d2bb3d98e4c1ab4b5b58a5c41 Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <dueno@redhat.com>
|
||||
Date: Thu, 22 Nov 2018 10:55:20 +0100
|
||||
Subject: [PATCH 441/489] Bug 1412829, reject empty
|
||||
supported_signature_algorithms in CR in TLS 1.2,
|
||||
r=mt
|
||||
|
||||
Summary: This basically reverts bug 1335069 to align with RFC 5246.
|
||||
|
||||
Reviewers: mt
|
||||
|
||||
Reviewed By: mt
|
||||
|
||||
Bug #: 1412829
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D12563
|
||||
|
||||
--HG--
|
||||
extra : amend_source : a87f98603e14841654948c7664dbde26ebaf04e4
|
||||
---
|
||||
gtests/nss_bogo_shim/config.json | 3 ++-
|
||||
gtests/ssl_gtest/ssl_auth_unittest.cc | 15 +++++----------
|
||||
lib/ssl/ssl3con.c | 17 +++++++++--------
|
||||
3 files changed, 16 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/gtests/nss_bogo_shim/config.json b/gtests/nss_bogo_shim/config.json
|
||||
index 66f55d3..5c7a2e3 100644
|
||||
--- a/gtests/nss_bogo_shim/config.json
|
||||
+++ b/gtests/nss_bogo_shim/config.json
|
||||
@@ -64,7 +64,8 @@
|
||||
"RequireAnyClientCertificate-TLS1*":"Bug 1339387",
|
||||
"SendExtensionOnClientCertificate-TLS13":"Bug 1339392",
|
||||
"ALPNClient-Mismatch-TLS13":"NSS sends alerts in response to errors in protected handshake messages in the clear",
|
||||
- "P224-Server":"NSS doesn't support P-224"
|
||||
+ "P224-Server":"NSS doesn't support P-224",
|
||||
+ "ClientAuth-SHA1-Fallback*":"Boring wants us to fall back to SHA-1 if supported_signature_algorithms in CR is empty."
|
||||
},
|
||||
"ErrorMap" : {
|
||||
":HANDSHAKE_FAILURE_ON_CLIENT_HELLO:":"SSL_ERROR_NO_CYPHER_OVERLAP",
|
||||
diff --git a/gtests/ssl_gtest/ssl_auth_unittest.cc b/gtests/ssl_gtest/ssl_auth_unittest.cc
|
||||
index 93a8c54..3a52ac2 100644
|
||||
--- a/gtests/ssl_gtest/ssl_auth_unittest.cc
|
||||
+++ b/gtests/ssl_gtest/ssl_auth_unittest.cc
|
||||
@@ -386,9 +386,9 @@ class TlsZeroCertificateRequestSigAlgsFilter : public TlsHandshakeFilter {
|
||||
}
|
||||
};
|
||||
|
||||
-// Check that we fall back to SHA-1 when the server doesn't provide any
|
||||
+// Check that we send an alert when the server doesn't provide any
|
||||
// supported_signature_algorithms in the CertificateRequest message.
|
||||
-TEST_P(TlsConnectTls12, ClientAuthNoSigAlgsFallback) {
|
||||
+TEST_P(TlsConnectTls12, ClientAuthNoSigAlgs) {
|
||||
EnsureTlsSetup();
|
||||
MakeTlsFilter<TlsZeroCertificateRequestSigAlgsFilter>(server_);
|
||||
auto capture_cert_verify = MakeTlsFilter<TlsHandshakeRecorder>(
|
||||
@@ -396,15 +396,10 @@ TEST_P(TlsConnectTls12, ClientAuthNoSigAlgsFallback) {
|
||||
client_->SetupClientAuth();
|
||||
server_->RequestClientAuth(true);
|
||||
|
||||
- ConnectExpectAlert(server_, kTlsAlertDecryptError);
|
||||
-
|
||||
- // We're expecting a bad signature here because we tampered with a handshake
|
||||
- // message (CertReq). Previously, without the SHA-1 fallback, we would've
|
||||
- // seen a malformed record alert.
|
||||
- server_->CheckErrorCode(SEC_ERROR_BAD_SIGNATURE);
|
||||
- client_->CheckErrorCode(SSL_ERROR_DECRYPT_ERROR_ALERT);
|
||||
+ ConnectExpectAlert(client_, kTlsAlertHandshakeFailure);
|
||||
|
||||
- CheckSigScheme(capture_cert_verify, 0, server_, ssl_sig_rsa_pkcs1_sha1, 1024);
|
||||
+ server_->CheckErrorCode(SSL_ERROR_HANDSHAKE_FAILURE_ALERT);
|
||||
+ client_->CheckErrorCode(SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM);
|
||||
}
|
||||
|
||||
static const SSLSignatureScheme kSignatureSchemeEcdsaSha384[] = {
|
||||
diff --git a/lib/ssl/ssl3con.c b/lib/ssl/ssl3con.c
|
||||
index d7e8452..225f4f6 100644
|
||||
--- a/lib/ssl/ssl3con.c
|
||||
+++ b/lib/ssl/ssl3con.c
|
||||
@@ -6171,16 +6171,12 @@ ssl_PickClientSignatureScheme(sslSocket *ss, const SSLSignatureScheme *schemes,
|
||||
|
||||
PORT_Assert(pubKey);
|
||||
|
||||
- if (!isTLS13 && numSchemes == 0) {
|
||||
- /* If the server didn't provide any signature algorithms
|
||||
- * then let's assume they support SHA-1. */
|
||||
- rv = ssl_PickFallbackSignatureScheme(ss, pubKey);
|
||||
- SECKEY_DestroyPublicKey(pubKey);
|
||||
- return rv;
|
||||
+ if (ss->version >= SSL_LIBRARY_VERSION_TLS_1_2) {
|
||||
+ /* We should have already checked that a signature scheme was
|
||||
+ * listed in the request. */
|
||||
+ PORT_Assert(schemes && numSchemes > 0);
|
||||
}
|
||||
|
||||
- PORT_Assert(schemes && numSchemes > 0);
|
||||
-
|
||||
if (!isTLS13 &&
|
||||
(SECKEY_GetPublicKeyType(pubKey) == rsaKey ||
|
||||
SECKEY_GetPublicKeyType(pubKey) == dsaKey) &&
|
||||
@@ -7331,6 +7327,11 @@ ssl3_HandleCertificateRequest(sslSocket *ss, PRUint8 *b, PRUint32 length)
|
||||
PORT_SetError(SSL_ERROR_RX_MALFORMED_CERT_REQUEST);
|
||||
goto loser; /* malformed, alert has been sent */
|
||||
}
|
||||
+ if (signatureSchemeCount == 0) {
|
||||
+ errCode = SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM;
|
||||
+ desc = handshake_failure;
|
||||
+ goto alert_loser;
|
||||
+ }
|
||||
}
|
||||
|
||||
rv = ssl3_ParseCertificateRequestCAs(ss, &b, &length, &ca_list);
|
||||
--
|
||||
1.7.12.4
|
||||
|
||||
216
Bug-1507135-Add-additional-null-checks-to-CMS-messag.patch
Normal file
216
Bug-1507135-Add-additional-null-checks-to-CMS-messag.patch
Normal file
@ -0,0 +1,216 @@
|
||||
From 3b2d7d955f1baca00129454eddbe8fb5117c4fef Mon Sep 17 00:00:00 2001
|
||||
From: "J.C. Jones" <jjones@mozilla.com>
|
||||
Date: Mon, 14 Jan 2019 10:35:25 -0700
|
||||
Subject: [PATCH 458/489] Bug 1507135 - Add additional null checks to CMS
|
||||
message functions r=mt
|
||||
|
||||
Differential review: https://phabricator.services.mozilla.com//D16488
|
||||
|
||||
--HG--
|
||||
extra : rebase_source : 31028021bec842d521d70c5200edb6ea8461fa23
|
||||
---
|
||||
lib/smime/cmsmessage.c | 69 ++++++++++++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 59 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/lib/smime/cmsmessage.c b/lib/smime/cmsmessage.c
|
||||
index 27d1256..f41a432 100644
|
||||
--- a/lib/smime/cmsmessage.c
|
||||
+++ b/lib/smime/cmsmessage.c
|
||||
@@ -29,8 +29,9 @@ NSS_CMSMessage_Create(PLArenaPool *poolp)
|
||||
|
||||
if (poolp == NULL) {
|
||||
poolp = PORT_NewArena(1024); /* XXX what is right value? */
|
||||
- if (poolp == NULL)
|
||||
+ if (poolp == NULL) {
|
||||
return NULL;
|
||||
+ }
|
||||
poolp_is_ours = PR_TRUE;
|
||||
}
|
||||
|
||||
@@ -44,8 +45,9 @@ NSS_CMSMessage_Create(PLArenaPool *poolp)
|
||||
if (mark) {
|
||||
PORT_ArenaRelease(poolp, mark);
|
||||
}
|
||||
- } else
|
||||
+ } else {
|
||||
PORT_FreeArena(poolp, PR_FALSE);
|
||||
+ }
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -53,8 +55,9 @@ NSS_CMSMessage_Create(PLArenaPool *poolp)
|
||||
cmsg->poolp_is_ours = poolp_is_ours;
|
||||
cmsg->refCount = 1;
|
||||
|
||||
- if (mark)
|
||||
+ if (mark) {
|
||||
PORT_ArenaUnmark(poolp, mark);
|
||||
+ }
|
||||
|
||||
return cmsg;
|
||||
}
|
||||
@@ -73,8 +76,13 @@ NSS_CMSMessage_SetEncodingParams(NSSCMSMessage *cmsg,
|
||||
NSSCMSGetDecryptKeyCallback decrypt_key_cb, void *decrypt_key_cb_arg,
|
||||
SECAlgorithmID **detached_digestalgs, SECItem **detached_digests)
|
||||
{
|
||||
- if (pwfn)
|
||||
+ if (cmsg == NULL) {
|
||||
+ return;
|
||||
+ }
|
||||
+ if (pwfn) {
|
||||
PK11_SetPasswordFunc(pwfn);
|
||||
+ }
|
||||
+
|
||||
cmsg->pwfn_arg = pwfn_arg;
|
||||
cmsg->decrypt_key_cb = decrypt_key_cb;
|
||||
cmsg->decrypt_key_cb_arg = decrypt_key_cb_arg;
|
||||
@@ -89,18 +97,21 @@ void
|
||||
NSS_CMSMessage_Destroy(NSSCMSMessage *cmsg)
|
||||
{
|
||||
PORT_Assert(cmsg->refCount > 0);
|
||||
- if (cmsg->refCount <= 0) /* oops */
|
||||
+ if (cmsg->refCount <= 0) { /* oops */
|
||||
return;
|
||||
+ }
|
||||
|
||||
cmsg->refCount--; /* thread safety? */
|
||||
- if (cmsg->refCount > 0)
|
||||
+ if (cmsg->refCount > 0) {
|
||||
return;
|
||||
+ }
|
||||
|
||||
NSS_CMSContentInfo_Destroy(&(cmsg->contentInfo));
|
||||
|
||||
/* if poolp is not NULL, cmsg is the owner of its arena */
|
||||
- if (cmsg->poolp_is_ours)
|
||||
+ if (cmsg->poolp_is_ours) {
|
||||
PORT_FreeArena(cmsg->poolp, PR_FALSE); /* XXX clear it? */
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -112,8 +123,9 @@ NSS_CMSMessage_Destroy(NSSCMSMessage *cmsg)
|
||||
NSSCMSMessage *
|
||||
NSS_CMSMessage_Copy(NSSCMSMessage *cmsg)
|
||||
{
|
||||
- if (cmsg == NULL)
|
||||
+ if (cmsg == NULL) {
|
||||
return NULL;
|
||||
+ }
|
||||
|
||||
PORT_Assert(cmsg->refCount > 0);
|
||||
|
||||
@@ -127,6 +139,10 @@ NSS_CMSMessage_Copy(NSSCMSMessage *cmsg)
|
||||
PLArenaPool *
|
||||
NSS_CMSMessage_GetArena(NSSCMSMessage *cmsg)
|
||||
{
|
||||
+ if (cmsg == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
return cmsg->poolp;
|
||||
}
|
||||
|
||||
@@ -136,6 +152,10 @@ NSS_CMSMessage_GetArena(NSSCMSMessage *cmsg)
|
||||
NSSCMSContentInfo *
|
||||
NSS_CMSMessage_GetContentInfo(NSSCMSMessage *cmsg)
|
||||
{
|
||||
+ if (cmsg == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
return &(cmsg->contentInfo);
|
||||
}
|
||||
|
||||
@@ -147,6 +167,10 @@ NSS_CMSMessage_GetContentInfo(NSSCMSMessage *cmsg)
|
||||
SECItem *
|
||||
NSS_CMSMessage_GetContent(NSSCMSMessage *cmsg)
|
||||
{
|
||||
+ if (cmsg == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
/* this is a shortcut */
|
||||
NSSCMSContentInfo *cinfo = NSS_CMSMessage_GetContentInfo(cmsg);
|
||||
SECItem *pItem = NSS_CMSContentInfo_GetInnerContent(cinfo);
|
||||
@@ -164,6 +188,10 @@ NSS_CMSMessage_ContentLevelCount(NSSCMSMessage *cmsg)
|
||||
int count = 0;
|
||||
NSSCMSContentInfo *cinfo;
|
||||
|
||||
+ if (cmsg == NULL) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
/* walk down the chain of contentinfos */
|
||||
for (cinfo = &(cmsg->contentInfo); cinfo != NULL;) {
|
||||
count++;
|
||||
@@ -183,6 +211,10 @@ NSS_CMSMessage_ContentLevel(NSSCMSMessage *cmsg, int n)
|
||||
int count = 0;
|
||||
NSSCMSContentInfo *cinfo;
|
||||
|
||||
+ if (cmsg == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
/* walk down the chain of contentinfos */
|
||||
for (cinfo = &(cmsg->contentInfo); cinfo != NULL && count < n;
|
||||
cinfo = NSS_CMSContentInfo_GetChildContentInfo(cinfo)) {
|
||||
@@ -200,6 +232,10 @@ NSS_CMSMessage_ContainsCertsOrCrls(NSSCMSMessage *cmsg)
|
||||
{
|
||||
NSSCMSContentInfo *cinfo;
|
||||
|
||||
+ if (cmsg == NULL) {
|
||||
+ return PR_FALSE;
|
||||
+ }
|
||||
+
|
||||
/* descend into CMS message */
|
||||
for (cinfo = &(cmsg->contentInfo); cinfo != NULL;
|
||||
cinfo = NSS_CMSContentInfo_GetChildContentInfo(cinfo)) {
|
||||
@@ -221,6 +257,10 @@ NSS_CMSMessage_IsEncrypted(NSSCMSMessage *cmsg)
|
||||
{
|
||||
NSSCMSContentInfo *cinfo;
|
||||
|
||||
+ if (cmsg == NULL) {
|
||||
+ return PR_FALSE;
|
||||
+ }
|
||||
+
|
||||
/* walk down the chain of contentinfos */
|
||||
for (cinfo = &(cmsg->contentInfo); cinfo != NULL;
|
||||
cinfo = NSS_CMSContentInfo_GetChildContentInfo(cinfo)) {
|
||||
@@ -251,13 +291,21 @@ NSS_CMSMessage_IsSigned(NSSCMSMessage *cmsg)
|
||||
{
|
||||
NSSCMSContentInfo *cinfo;
|
||||
|
||||
+ if (cmsg == NULL) {
|
||||
+ return PR_FALSE;
|
||||
+ }
|
||||
+
|
||||
/* walk down the chain of contentinfos */
|
||||
for (cinfo = &(cmsg->contentInfo); cinfo != NULL;
|
||||
cinfo = NSS_CMSContentInfo_GetChildContentInfo(cinfo)) {
|
||||
switch (NSS_CMSContentInfo_GetContentTypeTag(cinfo)) {
|
||||
case SEC_OID_PKCS7_SIGNED_DATA:
|
||||
- if (!NSS_CMSArray_IsEmpty((void **)cinfo->content.signedData->signerInfos))
|
||||
+ if (cinfo->content.signedData == NULL) {
|
||||
+ return PR_FALSE;
|
||||
+ }
|
||||
+ if (!NSS_CMSArray_IsEmpty((void **)cinfo->content.signedData->signerInfos)) {
|
||||
return PR_TRUE;
|
||||
+ }
|
||||
break;
|
||||
default:
|
||||
/* callback here for generic wrappers? */
|
||||
@@ -278,8 +326,9 @@ NSS_CMSMessage_IsContentEmpty(NSSCMSMessage *cmsg, unsigned int minLen)
|
||||
{
|
||||
SECItem *item = NULL;
|
||||
|
||||
- if (cmsg == NULL)
|
||||
+ if (cmsg == NULL) {
|
||||
return PR_TRUE;
|
||||
+ }
|
||||
|
||||
item = NSS_CMSContentInfo_GetContent(NSS_CMSMessage_GetContentInfo(cmsg));
|
||||
|
||||
--
|
||||
1.7.12.4
|
||||
|
||||
319
Bug-1507174-Add-additional-null-checks-to-other-CMS-.patch
Normal file
319
Bug-1507174-Add-additional-null-checks-to-other-CMS-.patch
Normal file
@ -0,0 +1,319 @@
|
||||
From 03d1823087e93e38485bf4fef0020fb0653ea616 Mon Sep 17 00:00:00 2001
|
||||
From: "J.C. Jones" <jjones@mozilla.com>
|
||||
Date: Fri, 11 Jan 2019 22:33:16 -0700
|
||||
Subject: [PATCH 459/489] Bug 1507174 - Add additional null checks to other
|
||||
CMS functions r=mt
|
||||
|
||||
Differential review: https://phabricator.services.mozilla.com//D16383
|
||||
|
||||
--HG--
|
||||
extra : rebase_source : b5a87375965bbef9cd93e0ee936134631b597009
|
||||
---
|
||||
lib/smime/cmscinfo.c | 92 +++++++++++++++++++++++++++++++++++++++++++-------
|
||||
lib/smime/cmsdigdata.c | 4 ++-
|
||||
lib/smime/cmsencdata.c | 4 ++-
|
||||
lib/smime/cmsenvdata.c | 5 +++
|
||||
lib/smime/cmsmessage.c | 3 ++
|
||||
lib/smime/cmsudf.c | 2 +-
|
||||
6 files changed, 95 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/lib/smime/cmscinfo.c b/lib/smime/cmscinfo.c
|
||||
index 08db662..453ccaa 100644
|
||||
--- a/lib/smime/cmscinfo.c
|
||||
+++ b/lib/smime/cmscinfo.c
|
||||
@@ -51,6 +51,10 @@ NSS_CMSContentInfo_Destroy(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
SECOidTag kind;
|
||||
|
||||
+ if (cinfo == NULL) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
kind = NSS_CMSContentInfo_GetContentTypeTag(cinfo);
|
||||
switch (kind) {
|
||||
case SEC_OID_PKCS7_ENVELOPED_DATA:
|
||||
@@ -86,6 +90,11 @@ NSSCMSContentInfo *
|
||||
NSS_CMSContentInfo_GetChildContentInfo(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
NSSCMSContentInfo *ccinfo = NULL;
|
||||
+
|
||||
+ if (cinfo == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
SECOidTag tag = NSS_CMSContentInfo_GetContentTypeTag(cinfo);
|
||||
switch (tag) {
|
||||
case SEC_OID_PKCS7_SIGNED_DATA:
|
||||
@@ -127,6 +136,9 @@ SECStatus
|
||||
NSS_CMSContentInfo_SetDontStream(NSSCMSContentInfo *cinfo, PRBool dontStream)
|
||||
{
|
||||
SECStatus rv;
|
||||
+ if (cinfo == NULL) {
|
||||
+ return SECFailure;
|
||||
+ }
|
||||
|
||||
rv = NSS_CMSContentInfo_Private_Init(cinfo);
|
||||
if (rv != SECSuccess) {
|
||||
@@ -145,15 +157,20 @@ NSS_CMSContentInfo_SetContent(NSSCMSMessage *cmsg, NSSCMSContentInfo *cinfo,
|
||||
SECOidTag type, void *ptr)
|
||||
{
|
||||
SECStatus rv;
|
||||
+ if (cinfo == NULL || cmsg == NULL) {
|
||||
+ return SECFailure;
|
||||
+ }
|
||||
|
||||
cinfo->contentTypeTag = SECOID_FindOIDByTag(type);
|
||||
- if (cinfo->contentTypeTag == NULL)
|
||||
+ if (cinfo->contentTypeTag == NULL) {
|
||||
return SECFailure;
|
||||
+ }
|
||||
|
||||
/* do not copy the oid, just create a reference */
|
||||
rv = SECITEM_CopyItem(cmsg->poolp, &(cinfo->contentType), &(cinfo->contentTypeTag->oid));
|
||||
- if (rv != SECSuccess)
|
||||
+ if (rv != SECSuccess) {
|
||||
return SECFailure;
|
||||
+ }
|
||||
|
||||
cinfo->content.pointer = ptr;
|
||||
|
||||
@@ -185,8 +202,9 @@ SECStatus
|
||||
NSS_CMSContentInfo_SetContent_Data(NSSCMSMessage *cmsg, NSSCMSContentInfo *cinfo,
|
||||
SECItem *data, PRBool detached)
|
||||
{
|
||||
- if (NSS_CMSContentInfo_SetContent(cmsg, cinfo, SEC_OID_PKCS7_DATA, (void *)data) != SECSuccess)
|
||||
+ if (NSS_CMSContentInfo_SetContent(cmsg, cinfo, SEC_OID_PKCS7_DATA, (void *)data) != SECSuccess) {
|
||||
return SECFailure;
|
||||
+ }
|
||||
if (detached) {
|
||||
cinfo->rawContent = NULL;
|
||||
}
|
||||
@@ -230,6 +248,10 @@ NSS_CMSContentInfo_SetContent_EncryptedData(NSSCMSMessage *cmsg, NSSCMSContentIn
|
||||
void *
|
||||
NSS_CMSContentInfo_GetContent(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
+ if (cinfo == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
SECOidTag tag = cinfo->contentTypeTag
|
||||
? cinfo->contentTypeTag->offset
|
||||
: SEC_OID_UNKNOWN;
|
||||
@@ -260,6 +282,10 @@ NSS_CMSContentInfo_GetInnerContent(NSSCMSContentInfo *cinfo)
|
||||
SECOidTag tag;
|
||||
SECItem *pItem = NULL;
|
||||
|
||||
+ if (cinfo == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
tag = NSS_CMSContentInfo_GetContentTypeTag(cinfo);
|
||||
if (NSS_CMSType_IsData(tag)) {
|
||||
pItem = cinfo->content.data;
|
||||
@@ -282,6 +308,10 @@ NSS_CMSContentInfo_GetInnerContent(NSSCMSContentInfo *cinfo)
|
||||
SECOidTag
|
||||
NSS_CMSContentInfo_GetContentTypeTag(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
+ if (cinfo == NULL) {
|
||||
+ return SEC_OID_UNKNOWN;
|
||||
+ }
|
||||
+
|
||||
if (cinfo->contentTypeTag == NULL)
|
||||
cinfo->contentTypeTag = SECOID_FindOID(&(cinfo->contentType));
|
||||
|
||||
@@ -294,11 +324,17 @@ NSS_CMSContentInfo_GetContentTypeTag(NSSCMSContentInfo *cinfo)
|
||||
SECItem *
|
||||
NSS_CMSContentInfo_GetContentTypeOID(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
- if (cinfo->contentTypeTag == NULL)
|
||||
+ if (cinfo == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (cinfo->contentTypeTag == NULL) {
|
||||
cinfo->contentTypeTag = SECOID_FindOID(&(cinfo->contentType));
|
||||
+ }
|
||||
|
||||
- if (cinfo->contentTypeTag == NULL)
|
||||
+ if (cinfo->contentTypeTag == NULL) {
|
||||
return NULL;
|
||||
+ }
|
||||
|
||||
return &(cinfo->contentTypeTag->oid);
|
||||
}
|
||||
@@ -310,8 +346,13 @@ NSS_CMSContentInfo_GetContentTypeOID(NSSCMSContentInfo *cinfo)
|
||||
SECOidTag
|
||||
NSS_CMSContentInfo_GetContentEncAlgTag(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
- if (cinfo->contentEncAlgTag == SEC_OID_UNKNOWN)
|
||||
+ if (cinfo == NULL) {
|
||||
+ return SEC_OID_UNKNOWN;
|
||||
+ }
|
||||
+
|
||||
+ if (cinfo->contentEncAlgTag == SEC_OID_UNKNOWN) {
|
||||
cinfo->contentEncAlgTag = SECOID_GetAlgorithmTag(&(cinfo->contentEncAlg));
|
||||
+ }
|
||||
|
||||
return cinfo->contentEncAlgTag;
|
||||
}
|
||||
@@ -322,6 +363,10 @@ NSS_CMSContentInfo_GetContentEncAlgTag(NSSCMSContentInfo *cinfo)
|
||||
SECAlgorithmID *
|
||||
NSS_CMSContentInfo_GetContentEncAlg(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
+ if (cinfo == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
return &(cinfo->contentEncAlg);
|
||||
}
|
||||
|
||||
@@ -330,10 +375,14 @@ NSS_CMSContentInfo_SetContentEncAlg(PLArenaPool *poolp, NSSCMSContentInfo *cinfo
|
||||
SECOidTag bulkalgtag, SECItem *parameters, int keysize)
|
||||
{
|
||||
SECStatus rv;
|
||||
+ if (cinfo == NULL) {
|
||||
+ return SECFailure;
|
||||
+ }
|
||||
|
||||
rv = SECOID_SetAlgorithmID(poolp, &(cinfo->contentEncAlg), bulkalgtag, parameters);
|
||||
- if (rv != SECSuccess)
|
||||
+ if (rv != SECSuccess) {
|
||||
return SECFailure;
|
||||
+ }
|
||||
cinfo->keysize = keysize;
|
||||
return SECSuccess;
|
||||
}
|
||||
@@ -343,27 +392,42 @@ NSS_CMSContentInfo_SetContentEncAlgID(PLArenaPool *poolp, NSSCMSContentInfo *cin
|
||||
SECAlgorithmID *algid, int keysize)
|
||||
{
|
||||
SECStatus rv;
|
||||
+ if (cinfo == NULL) {
|
||||
+ return SECFailure;
|
||||
+ }
|
||||
|
||||
rv = SECOID_CopyAlgorithmID(poolp, &(cinfo->contentEncAlg), algid);
|
||||
- if (rv != SECSuccess)
|
||||
+ if (rv != SECSuccess) {
|
||||
return SECFailure;
|
||||
- if (keysize >= 0)
|
||||
+ }
|
||||
+ if (keysize >= 0) {
|
||||
cinfo->keysize = keysize;
|
||||
+ }
|
||||
return SECSuccess;
|
||||
}
|
||||
|
||||
void
|
||||
NSS_CMSContentInfo_SetBulkKey(NSSCMSContentInfo *cinfo, PK11SymKey *bulkkey)
|
||||
{
|
||||
- cinfo->bulkkey = PK11_ReferenceSymKey(bulkkey);
|
||||
- cinfo->keysize = PK11_GetKeyStrength(cinfo->bulkkey, &(cinfo->contentEncAlg));
|
||||
+ if (cinfo == NULL) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (bulkkey == NULL) {
|
||||
+ cinfo->bulkkey = NULL;
|
||||
+ cinfo->keysize = 0;
|
||||
+ } else {
|
||||
+ cinfo->bulkkey = PK11_ReferenceSymKey(bulkkey);
|
||||
+ cinfo->keysize = PK11_GetKeyStrength(cinfo->bulkkey, &(cinfo->contentEncAlg));
|
||||
+ }
|
||||
}
|
||||
|
||||
PK11SymKey *
|
||||
NSS_CMSContentInfo_GetBulkKey(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
- if (cinfo->bulkkey == NULL)
|
||||
+ if (cinfo == NULL || cinfo->bulkkey == NULL) {
|
||||
return NULL;
|
||||
+ }
|
||||
|
||||
return PK11_ReferenceSymKey(cinfo->bulkkey);
|
||||
}
|
||||
@@ -371,5 +435,9 @@ NSS_CMSContentInfo_GetBulkKey(NSSCMSContentInfo *cinfo)
|
||||
int
|
||||
NSS_CMSContentInfo_GetBulkKeySize(NSSCMSContentInfo *cinfo)
|
||||
{
|
||||
+ if (cinfo == NULL) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
return cinfo->keysize;
|
||||
}
|
||||
diff --git a/lib/smime/cmsdigdata.c b/lib/smime/cmsdigdata.c
|
||||
index 9ea2270..a249686 100644
|
||||
--- a/lib/smime/cmsdigdata.c
|
||||
+++ b/lib/smime/cmsdigdata.c
|
||||
@@ -56,7 +56,9 @@ void
|
||||
NSS_CMSDigestedData_Destroy(NSSCMSDigestedData *digd)
|
||||
{
|
||||
/* everything's in a pool, so don't worry about the storage */
|
||||
- NSS_CMSContentInfo_Destroy(&(digd->contentInfo));
|
||||
+ if (digd != NULL) {
|
||||
+ NSS_CMSContentInfo_Destroy(&(digd->contentInfo));
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
|
||||
diff --git a/lib/smime/cmsencdata.c b/lib/smime/cmsencdata.c
|
||||
index d2fc335..f2a2746 100644
|
||||
--- a/lib/smime/cmsencdata.c
|
||||
+++ b/lib/smime/cmsencdata.c
|
||||
@@ -87,7 +87,9 @@ void
|
||||
NSS_CMSEncryptedData_Destroy(NSSCMSEncryptedData *encd)
|
||||
{
|
||||
/* everything's in a pool, so don't worry about the storage */
|
||||
- NSS_CMSContentInfo_Destroy(&(encd->contentInfo));
|
||||
+ if (encd != NULL) {
|
||||
+ NSS_CMSContentInfo_Destroy(&(encd->contentInfo));
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
|
||||
diff --git a/lib/smime/cmsenvdata.c b/lib/smime/cmsenvdata.c
|
||||
index d5d5c41..95b3fb9 100644
|
||||
--- a/lib/smime/cmsenvdata.c
|
||||
+++ b/lib/smime/cmsenvdata.c
|
||||
@@ -144,6 +144,11 @@ NSS_CMSEnvelopedData_Encode_BeforeStart(NSSCMSEnvelopedData *envd)
|
||||
poolp = envd->cmsg->poolp;
|
||||
cinfo = &(envd->contentInfo);
|
||||
|
||||
+ if (cinfo == NULL) {
|
||||
+ PORT_SetError(SEC_ERROR_BAD_DATA);
|
||||
+ goto loser;
|
||||
+ }
|
||||
+
|
||||
recipientinfos = envd->recipientInfos;
|
||||
if (recipientinfos == NULL) {
|
||||
PORT_SetError(SEC_ERROR_BAD_DATA);
|
||||
diff --git a/lib/smime/cmsmessage.c b/lib/smime/cmsmessage.c
|
||||
index f41a432..366b71a 100644
|
||||
--- a/lib/smime/cmsmessage.c
|
||||
+++ b/lib/smime/cmsmessage.c
|
||||
@@ -96,6 +96,9 @@ NSS_CMSMessage_SetEncodingParams(NSSCMSMessage *cmsg,
|
||||
void
|
||||
NSS_CMSMessage_Destroy(NSSCMSMessage *cmsg)
|
||||
{
|
||||
+ if (cmsg == NULL)
|
||||
+ return;
|
||||
+
|
||||
PORT_Assert(cmsg->refCount > 0);
|
||||
if (cmsg->refCount <= 0) { /* oops */
|
||||
return;
|
||||
diff --git a/lib/smime/cmsudf.c b/lib/smime/cmsudf.c
|
||||
index 3ef4268..5c8a81e 100644
|
||||
--- a/lib/smime/cmsudf.c
|
||||
+++ b/lib/smime/cmsudf.c
|
||||
@@ -239,7 +239,7 @@ NSS_CMSGenericWrapperData_Destroy(SECOidTag type, NSSCMSGenericWrapperData *gd)
|
||||
{
|
||||
const nsscmstypeInfo *typeInfo = nss_cmstype_lookup(type);
|
||||
|
||||
- if (typeInfo && typeInfo->destroy) {
|
||||
+ if (typeInfo && (typeInfo->destroy) && (gd != NULL)) {
|
||||
(*typeInfo->destroy)(gd);
|
||||
}
|
||||
}
|
||||
--
|
||||
1.7.12.4
|
||||
|
||||
BIN
PayPalEE.cert
Normal file
BIN
PayPalEE.cert
Normal file
Binary file not shown.
BIN
PayPalICA.cert
Normal file
BIN
PayPalICA.cert
Normal file
Binary file not shown.
BIN
blank-cert8.db
Normal file
BIN
blank-cert8.db
Normal file
Binary file not shown.
BIN
blank-cert9.db
Normal file
BIN
blank-cert9.db
Normal file
Binary file not shown.
BIN
blank-key3.db
Normal file
BIN
blank-key3.db
Normal file
Binary file not shown.
BIN
blank-key4.db
Normal file
BIN
blank-key4.db
Normal file
Binary file not shown.
BIN
blank-secmod.db
Normal file
BIN
blank-secmod.db
Normal file
Binary file not shown.
59
cert8.db.xml
Normal file
59
cert8.db.xml
Normal file
@ -0,0 +1,59 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY date SYSTEM "date.xml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
|
||||
<refentry id="cert8.db">
|
||||
|
||||
<refentryinfo>
|
||||
<date>&date;</date>
|
||||
<title>Network Security Services</title>
|
||||
<productname>nss</productname>
|
||||
<productnumber>&version;</productnumber>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>cert8.db</refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>cert8.db</refname>
|
||||
<refpurpose>Legacy NSS certificate database</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsection id="description">
|
||||
<title>Description</title>
|
||||
<para><emphasis>cert8.db</emphasis> is an NSS certificate database.</para>
|
||||
<para>This certificate database is in the legacy database format. Consider migrating to cert9.db and key4.db which are the new sqlite-based shared database format with support for concurrent access.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Files</title>
|
||||
<para><filename>/etc/pki/nssdb/cert8.db</filename></para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>See also</title>
|
||||
<para>cert9.db(5), key4.db(5), pkcs11.txt(5), </para>
|
||||
</refsection>
|
||||
|
||||
<refsection id="authors">
|
||||
<title>Authors</title>
|
||||
<para>The nss libraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
|
||||
<para>Authors: Elio Maldonado <emaldona@redhat.com>.</para>
|
||||
</refsection>
|
||||
|
||||
<!-- don't change -->
|
||||
<refsection id="license">
|
||||
<title>LICENSE</title>
|
||||
<para>Licensed under 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/.
|
||||
</para>
|
||||
|
||||
</refsection>
|
||||
|
||||
|
||||
</refentry>
|
||||
59
cert9.db.xml
Normal file
59
cert9.db.xml
Normal file
@ -0,0 +1,59 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY date SYSTEM "date.xml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
|
||||
<refentry id="cert9.db">
|
||||
|
||||
<refentryinfo>
|
||||
<date>&date;</date>
|
||||
<title>Network Security Services</title>
|
||||
<productname>nss</productname>
|
||||
<productnumber>&version;</productnumber>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>cert9.db</refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>cert9.db</refname>
|
||||
<refpurpose>NSS certificate database</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsection id="description">
|
||||
<title>Description</title>
|
||||
<para><emphasis>cert9.db</emphasis> is an NSS certificate database.</para>
|
||||
<para>This certificate database is the sqlite-based shared database with support for concurrent access.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Files</title>
|
||||
<para><filename>/etc/pki/nssdb/cert9.db</filename></para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>See also</title>
|
||||
<para>pkcs11.txt(5)</para>
|
||||
</refsection>
|
||||
|
||||
<refsection id="authors">
|
||||
<title>Authors</title>
|
||||
<para>The nss libraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
|
||||
<para>Authors: Elio Maldonado <emaldona@redhat.com>.</para>
|
||||
</refsection>
|
||||
|
||||
<!-- don't change -->
|
||||
<refsection id="license">
|
||||
<title>LICENSE</title>
|
||||
<para>Licensed under 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/.
|
||||
</para>
|
||||
|
||||
</refsection>
|
||||
|
||||
|
||||
</refentry>
|
||||
13
iquote.patch
Normal file
13
iquote.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up nss/coreconf/location.mk.iquote nss/coreconf/location.mk
|
||||
--- nss/coreconf/location.mk.iquote 2017-07-27 16:09:32.000000000 +0200
|
||||
+++ nss/coreconf/location.mk 2017-09-06 13:23:14.633611555 +0200
|
||||
@@ -75,4 +75,9 @@ ifndef SQLITE_LIB_NAME
|
||||
SQLITE_LIB_NAME = sqlite3
|
||||
endif
|
||||
|
||||
+# Prefer in-tree headers over system headers
|
||||
+ifdef IN_TREE_FREEBL_HEADERS_FIRST
|
||||
+ INCLUDES += -iquote $(DIST)/../public/nss -iquote $(DIST)/../private/nss
|
||||
+endif
|
||||
+
|
||||
MK_LOCATION = included
|
||||
59
key3.db.xml
Normal file
59
key3.db.xml
Normal file
@ -0,0 +1,59 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY date SYSTEM "date.xml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
|
||||
<refentry id="key3.db">
|
||||
|
||||
<refentryinfo>
|
||||
<date>&date;</date>
|
||||
<title>Network Security Services</title>
|
||||
<productname>nss</productname>
|
||||
<productnumber>&version;</productnumber>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>key3.db</refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>key3.db</refname>
|
||||
<refpurpose>Legacy NSS certificate database</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsection id="description">
|
||||
<title>Description</title>
|
||||
<para><emphasis>key3.db</emphasis> is an NSS certificate database.</para>
|
||||
<para>This is a key database in the legacy database format. Consider migrating to cert9.db and key4.db which which are the new sqlite-based shared database format with support for concurrent access.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Files</title>
|
||||
<para><filename>/etc/pki/nssdb/key3.db</filename></para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>See also</title>
|
||||
<para>cert9.db(5), key4.db(5), pkcs11.txt(5), </para>
|
||||
</refsection>
|
||||
|
||||
<refsection id="authors">
|
||||
<title>Authors</title>
|
||||
<para>The nss libraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
|
||||
<para>Authors: Elio Maldonado <emaldona@redhat.com>.</para>
|
||||
</refsection>
|
||||
|
||||
<!-- don't change -->
|
||||
<refsection id="license">
|
||||
<title>LICENSE</title>
|
||||
<para>Licensed under 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/.
|
||||
</para>
|
||||
|
||||
</refsection>
|
||||
|
||||
|
||||
</refentry>
|
||||
59
key4.db.xml
Normal file
59
key4.db.xml
Normal file
@ -0,0 +1,59 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY date SYSTEM "date.xml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
|
||||
<refentry id="key4.db">
|
||||
|
||||
<refentryinfo>
|
||||
<date>&date;</date>
|
||||
<title>Network Security Services</title>
|
||||
<productname>nss</productname>
|
||||
<productnumber>&version;</productnumber>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>key4.db</refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>key4.db</refname>
|
||||
<refpurpose>NSS certificate database</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsection id="description">
|
||||
<title>Description</title>
|
||||
<para><emphasis>key4.db</emphasis> is an NSS key database.</para>
|
||||
<para>This key database is the sqlite-based shared database format with support for concurrent access.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Files</title>
|
||||
<para><filename>/etc/pki/nssdb/key4.db</filename></para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>See also</title>
|
||||
<para>pkcs11.txt(5)</para>
|
||||
</refsection>
|
||||
|
||||
<refsection id="authors">
|
||||
<title>Authors</title>
|
||||
<para>The nss libraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
|
||||
<para>Authors: Elio Maldonado <emaldona@redhat.com>.</para>
|
||||
</refsection>
|
||||
|
||||
<!-- don't change -->
|
||||
<refsection id="license">
|
||||
<title>LICENSE</title>
|
||||
<para>Licensed under 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/.
|
||||
</para>
|
||||
|
||||
</refsection>
|
||||
|
||||
|
||||
</refentry>
|
||||
BIN
nss-3.40.1.tar.gz
Normal file
BIN
nss-3.40.1.tar.gz
Normal file
Binary file not shown.
62
nss-539183.patch
Normal file
62
nss-539183.patch
Normal file
@ -0,0 +1,62 @@
|
||||
--- ./nss/cmd/httpserv/httpserv.c.539183 2016-05-21 18:31:39.879585420 -0700
|
||||
+++ ./nss/cmd/httpserv/httpserv.c 2016-05-21 18:37:22.374464057 -0700
|
||||
@@ -953,23 +953,23 @@
|
||||
getBoundListenSocket(unsigned short port)
|
||||
{
|
||||
PRFileDesc *listen_sock;
|
||||
int listenQueueDepth = 5 + (2 * maxThreads);
|
||||
PRStatus prStatus;
|
||||
PRNetAddr addr;
|
||||
PRSocketOptionData opt;
|
||||
|
||||
- addr.inet.family = PR_AF_INET;
|
||||
- addr.inet.ip = PR_INADDR_ANY;
|
||||
- addr.inet.port = PR_htons(port);
|
||||
+ if (PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, port, &addr) != PR_SUCCESS) {
|
||||
+ errExit("PR_SetNetAddr");
|
||||
+ }
|
||||
|
||||
- listen_sock = PR_NewTCPSocket();
|
||||
+ listen_sock = PR_OpenTCPSocket(PR_AF_INET6);
|
||||
if (listen_sock == NULL) {
|
||||
- errExit("PR_NewTCPSocket");
|
||||
+ errExit("PR_OpenTCPSockett");
|
||||
}
|
||||
|
||||
opt.option = PR_SockOpt_Nonblocking;
|
||||
opt.value.non_blocking = PR_FALSE;
|
||||
prStatus = PR_SetSocketOption(listen_sock, &opt);
|
||||
if (prStatus < 0) {
|
||||
PR_Close(listen_sock);
|
||||
errExit("PR_SetSocketOption(PR_SockOpt_Nonblocking)");
|
||||
--- ./nss/cmd/selfserv/selfserv.c.539183 2016-05-21 18:31:39.882585367 -0700
|
||||
+++ ./nss/cmd/selfserv/selfserv.c 2016-05-21 18:41:43.092801174 -0700
|
||||
@@ -1711,23 +1711,23 @@
|
||||
getBoundListenSocket(unsigned short port)
|
||||
{
|
||||
PRFileDesc *listen_sock;
|
||||
int listenQueueDepth = 5 + (2 * maxThreads);
|
||||
PRStatus prStatus;
|
||||
PRNetAddr addr;
|
||||
PRSocketOptionData opt;
|
||||
|
||||
- addr.inet.family = PR_AF_INET;
|
||||
- addr.inet.ip = PR_INADDR_ANY;
|
||||
- addr.inet.port = PR_htons(port);
|
||||
+ if (PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, port, &addr) != PR_SUCCESS) {
|
||||
+ errExit("PR_SetNetAddr");
|
||||
+ }
|
||||
|
||||
- listen_sock = PR_NewTCPSocket();
|
||||
+ listen_sock = PR_OpenTCPSocket(PR_AF_INET6);
|
||||
if (listen_sock == NULL) {
|
||||
- errExit("PR_NewTCPSocket");
|
||||
+ errExit("PR_OpenTCPSocket error");
|
||||
}
|
||||
|
||||
opt.option = PR_SockOpt_Nonblocking;
|
||||
opt.value.non_blocking = PR_FALSE;
|
||||
prStatus = PR_SetSocketOption(listen_sock, &opt);
|
||||
if (prStatus < 0) {
|
||||
PR_Close(listen_sock);
|
||||
errExit("PR_SetSocketOption(PR_SockOpt_Nonblocking)");
|
||||
145
nss-config
Normal file
145
nss-config
Normal file
@ -0,0 +1,145 @@
|
||||
#!/bin/sh
|
||||
|
||||
prefix=/usr
|
||||
|
||||
major_version=3
|
||||
minor_version=40
|
||||
patch_version=1
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: nss-config [OPTIONS] [LIBRARIES]
|
||||
Options:
|
||||
[--prefix[=DIR]]
|
||||
[--exec-prefix[=DIR]]
|
||||
[--includedir[=DIR]]
|
||||
[--libdir[=DIR]]
|
||||
[--version]
|
||||
[--libs]
|
||||
[--cflags]
|
||||
Dynamic Libraries:
|
||||
nss
|
||||
nssutil
|
||||
ssl
|
||||
smime
|
||||
EOF
|
||||
exit $1
|
||||
}
|
||||
|
||||
if test $# -eq 0; then
|
||||
usage 1 1>&2
|
||||
fi
|
||||
|
||||
lib_ssl=yes
|
||||
lib_smime=yes
|
||||
lib_nss=yes
|
||||
lib_nssutil=yes
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) optarg= ;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
;;
|
||||
--prefix)
|
||||
echo_prefix=yes
|
||||
;;
|
||||
--exec-prefix=*)
|
||||
exec_prefix=$optarg
|
||||
;;
|
||||
--exec-prefix)
|
||||
echo_exec_prefix=yes
|
||||
;;
|
||||
--includedir=*)
|
||||
includedir=$optarg
|
||||
;;
|
||||
--includedir)
|
||||
echo_includedir=yes
|
||||
;;
|
||||
--libdir=*)
|
||||
libdir=$optarg
|
||||
;;
|
||||
--libdir)
|
||||
echo_libdir=yes
|
||||
;;
|
||||
--version)
|
||||
echo ${major_version}.${minor_version}.${patch_version}
|
||||
;;
|
||||
--cflags)
|
||||
echo_cflags=yes
|
||||
;;
|
||||
--libs)
|
||||
echo_libs=yes
|
||||
;;
|
||||
ssl)
|
||||
lib_ssl=yes
|
||||
;;
|
||||
smime)
|
||||
lib_smime=yes
|
||||
;;
|
||||
nss)
|
||||
lib_nss=yes
|
||||
;;
|
||||
nssutil)
|
||||
lib_nssutil=yes
|
||||
;;
|
||||
*)
|
||||
usage 1 1>&2
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Set variables that may be dependent upon other variables
|
||||
if test -z "$exec_prefix"; then
|
||||
exec_prefix=`pkg-config --variable=exec_prefix nss`
|
||||
fi
|
||||
if test -z "$includedir"; then
|
||||
includedir=`pkg-config --variable=includedir nss`
|
||||
fi
|
||||
if test -z "$libdir"; then
|
||||
libdir=`pkg-config --variable=libdir nss`
|
||||
fi
|
||||
|
||||
if test "$echo_prefix" = "yes"; then
|
||||
echo $prefix
|
||||
fi
|
||||
|
||||
if test "$echo_exec_prefix" = "yes"; then
|
||||
echo $exec_prefix
|
||||
fi
|
||||
|
||||
if test "$echo_includedir" = "yes"; then
|
||||
echo $includedir
|
||||
fi
|
||||
|
||||
if test "$echo_libdir" = "yes"; then
|
||||
echo $libdir
|
||||
fi
|
||||
|
||||
if test "$echo_cflags" = "yes"; then
|
||||
echo -I$includedir
|
||||
fi
|
||||
|
||||
if test "$echo_libs" = "yes"; then
|
||||
libdirs="-Wl,-rpath-link,$libdir -L$libdir"
|
||||
if test -n "$lib_ssl"; then
|
||||
libdirs="$libdirs -lssl${major_version}"
|
||||
fi
|
||||
if test -n "$lib_smime"; then
|
||||
libdirs="$libdirs -lsmime${major_version}"
|
||||
fi
|
||||
if test -n "$lib_nss"; then
|
||||
libdirs="$libdirs -lnss${major_version}"
|
||||
fi
|
||||
if test -n "$lib_nssutil"; then
|
||||
libdirs="$libdirs -lnssutil${major_version}"
|
||||
fi
|
||||
echo $libdirs
|
||||
fi
|
||||
|
||||
132
nss-config.xml
Normal file
132
nss-config.xml
Normal file
@ -0,0 +1,132 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY date SYSTEM "date.xml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
|
||||
<refentry id="nss-config">
|
||||
|
||||
<refentryinfo>
|
||||
<date>&date;</date>
|
||||
<title>Network Security Services</title>
|
||||
<productname>nss</productname>
|
||||
<productnumber>&version;</productnumber>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>nss-config</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>nss-config</refname>
|
||||
<refpurpose>Return meta information about nss libraries</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>nss-config</command>
|
||||
<arg><option>--prefix</option></arg>
|
||||
<arg><option>--exec-prefix</option></arg>
|
||||
<arg><option>--includedir</option></arg>
|
||||
<arg><option>--libs</option></arg>
|
||||
<arg><option>--cflags</option></arg>
|
||||
<arg><option>--libdir</option></arg>
|
||||
<arg><option>--version</option></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection id="description">
|
||||
<title>Description</title>
|
||||
|
||||
<para><command>nss-config</command> is a shell scrip
|
||||
tool which can be used to obtain gcc options for building client pacakges of nspt. </para>
|
||||
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Options</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>--prefix</option></term>
|
||||
<listitem><simpara>Returns the top level system directory under which the nss libraries are installed.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--exec-prefix</option></term>
|
||||
<listitem><simpara>returns the top level system directory under which any nss binaries would be installed.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--includedir</option> <replaceable>count</replaceable></term>
|
||||
<listitem><simpara>returns the path to the directory were the nss libraries are installed.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--version</option></term>
|
||||
<listitem><simpara>returns the upstream version of nss in the form major_version-minor_version-patch_version.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--libs</option></term>
|
||||
<listitem><simpara>returns the compiler linking flags.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--cflags</option></term>
|
||||
<listitem><simpara>returns the compiler include flags.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--libdir</option></term>
|
||||
<listitem><simpara>returns the path to the directory were the nss libraries are installed.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Examples</title>
|
||||
|
||||
<para>The following example will query for both include path and linkage flags:
|
||||
|
||||
<programlisting>
|
||||
/usr/bin/nss-config --cflags --libs
|
||||
</programlisting>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Files</title>
|
||||
|
||||
<para><filename>/usr/bin/nss-config</filename></para>
|
||||
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>See also</title>
|
||||
<para>pkg-config(1)</para>
|
||||
</refsection>
|
||||
|
||||
<refsection id="authors">
|
||||
<title>Authors</title>
|
||||
<para>The nss liraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
|
||||
<para>
|
||||
Authors: Elio Maldonado <emaldona@redhat.com>.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<!-- don't change -->
|
||||
<refsection id="license">
|
||||
<title>LICENSE</title>
|
||||
<para>Licensed under 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/.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
</refentry>
|
||||
|
||||
4
nss-p11-kit.config
Normal file
4
nss-p11-kit.config
Normal file
@ -0,0 +1,4 @@
|
||||
name=p11-kit-proxy
|
||||
library=p11-kit-proxy.so
|
||||
|
||||
|
||||
116
nss-softokn-config
Normal file
116
nss-softokn-config
Normal file
@ -0,0 +1,116 @@
|
||||
#!/bin/sh
|
||||
|
||||
prefix=/usr
|
||||
|
||||
major_version=3
|
||||
minor_version=40
|
||||
patch_version=1
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: nss-softokn-config [OPTIONS] [LIBRARIES]
|
||||
Options:
|
||||
[--prefix[=DIR]]
|
||||
[--exec-prefix[=DIR]]
|
||||
[--includedir[=DIR]]
|
||||
[--libdir[=DIR]]
|
||||
[--version]
|
||||
[--libs]
|
||||
[--cflags]
|
||||
Dynamic Libraries:
|
||||
softokn3 - Requires full dynamic linking
|
||||
freebl3 - for internal use only (and glibc for self-integrity check)
|
||||
nssdbm3 - for internal use only
|
||||
Dymamically linked
|
||||
EOF
|
||||
exit $1
|
||||
}
|
||||
|
||||
if test $# -eq 0; then
|
||||
usage 1 1>&2
|
||||
fi
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) optarg= ;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
;;
|
||||
--prefix)
|
||||
echo_prefix=yes
|
||||
;;
|
||||
--exec-prefix=*)
|
||||
exec_prefix=$optarg
|
||||
;;
|
||||
--exec-prefix)
|
||||
echo_exec_prefix=yes
|
||||
;;
|
||||
--includedir=*)
|
||||
includedir=$optarg
|
||||
;;
|
||||
--includedir)
|
||||
echo_includedir=yes
|
||||
;;
|
||||
--libdir=*)
|
||||
libdir=$optarg
|
||||
;;
|
||||
--libdir)
|
||||
echo_libdir=yes
|
||||
;;
|
||||
--version)
|
||||
echo ${major_version}.${minor_version}.${patch_version}
|
||||
;;
|
||||
--cflags)
|
||||
echo_cflags=yes
|
||||
;;
|
||||
--libs)
|
||||
echo_libs=yes
|
||||
;;
|
||||
*)
|
||||
usage 1 1>&2
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Set variables that may be dependent upon other variables
|
||||
if test -z "$exec_prefix"; then
|
||||
exec_prefix=`pkg-config --variable=exec_prefix nss-softokn`
|
||||
fi
|
||||
if test -z "$includedir"; then
|
||||
includedir=`pkg-config --variable=includedir nss-softokn`
|
||||
fi
|
||||
if test -z "$libdir"; then
|
||||
libdir=`pkg-config --variable=libdir nss-softokn`
|
||||
fi
|
||||
|
||||
if test "$echo_prefix" = "yes"; then
|
||||
echo $prefix
|
||||
fi
|
||||
|
||||
if test "$echo_exec_prefix" = "yes"; then
|
||||
echo $exec_prefix
|
||||
fi
|
||||
|
||||
if test "$echo_includedir" = "yes"; then
|
||||
echo $includedir
|
||||
fi
|
||||
|
||||
if test "$echo_libdir" = "yes"; then
|
||||
echo $libdir
|
||||
fi
|
||||
|
||||
if test "$echo_cflags" = "yes"; then
|
||||
echo -I$includedir
|
||||
fi
|
||||
|
||||
if test "$echo_libs" = "yes"; then
|
||||
libdirs="-Wl,-rpath-link,$libdir -L$libdir"
|
||||
echo $libdirs
|
||||
fi
|
||||
|
||||
18
nss-softokn-dracut-module-setup.sh
Normal file
18
nss-softokn-dracut-module-setup.sh
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||
# ex: ts=8 sw=4 sts=4 et filetype=sh
|
||||
|
||||
check() {
|
||||
return 255
|
||||
}
|
||||
|
||||
depends() {
|
||||
return 0
|
||||
}
|
||||
|
||||
install() {
|
||||
local _dir
|
||||
|
||||
inst_libdir_file libfreeblpriv3.so libfreeblpriv3.chk \
|
||||
libfreebl3.so
|
||||
}
|
||||
3
nss-softokn-dracut.conf
Normal file
3
nss-softokn-dracut.conf
Normal file
@ -0,0 +1,3 @@
|
||||
# turn on nss-softokn module
|
||||
|
||||
add_dracutmodules+=" nss-softokn "
|
||||
8
nss-softokn-prelink.conf
Normal file
8
nss-softokn-prelink.conf
Normal file
@ -0,0 +1,8 @@
|
||||
-b /lib{,64}/libfreeblpriv3.so
|
||||
-b /lib{,64}/libfreebl3.so
|
||||
-b /lib{,64}/libsoftokn3.so
|
||||
-b /lib{,64}/libnssdbm3.so
|
||||
-b /usr/lib{,64}/libfreeblpriv3.so
|
||||
-b /usr/lib{,64}/libfreebl3.so
|
||||
-b /usr/lib{,64}/libsoftokn3.so
|
||||
-b /usr/lib{,64}/libnssdbm3.so
|
||||
11
nss-softokn.pc
Normal file
11
nss-softokn.pc
Normal file
@ -0,0 +1,11 @@
|
||||
prefix=/usr
|
||||
exec_prefix=/usr
|
||||
libdir=/usr/lib64
|
||||
includedir=/usr/include/nss3
|
||||
|
||||
Name: NSS-SOFTOKN
|
||||
Description: Network Security Services Softoken PKCS #11 Module
|
||||
Version: 3.40.1
|
||||
Requires: nspr >= 4.20.0, nss-util >= 3.40.1
|
||||
Libs: -L${libdir} -lfreebl3 -lnssdbm3 -lsoftokn3
|
||||
Cflags: -I${includedir}
|
||||
29
nss-tests-paypal-certs-v2.patch
Normal file
29
nss-tests-paypal-certs-v2.patch
Normal file
@ -0,0 +1,29 @@
|
||||
# HG changeset patch
|
||||
# User Daiki Ueno <dueno@redhat.com>
|
||||
# Date 1541595734 -3600
|
||||
# Wed Nov 07 14:02:14 2018 +0100
|
||||
# Node ID 19fd907784e38a5febb54588353368af91b12551
|
||||
# Parent 3b79af0fa294b4b1c009c1c0b659bb72b4d2c1c8
|
||||
Bug 1505317, update PayPal test certs
|
||||
|
||||
diff --git a/tests/chains/scenarios/realcerts.cfg b/tests/chains/scenarios/realcerts.cfg
|
||||
--- a/tests/chains/scenarios/realcerts.cfg
|
||||
+++ b/tests/chains/scenarios/realcerts.cfg
|
||||
@@ -21,7 +21,7 @@ verify TestUser51:x
|
||||
result pass
|
||||
|
||||
verify PayPalEE:x
|
||||
- policy OID.2.16.840.1.114412.1.1
|
||||
+ policy OID.2.16.840.1.114412.2.1
|
||||
result pass
|
||||
|
||||
verify BrAirWaysBadSig:x
|
||||
diff --git a/tests/libpkix/vfychain_test.lst b/tests/libpkix/vfychain_test.lst
|
||||
--- a/tests/libpkix/vfychain_test.lst
|
||||
+++ b/tests/libpkix/vfychain_test.lst
|
||||
@@ -1,4 +1,4 @@
|
||||
# Status | Leaf Cert | Policies | Others(undef)
|
||||
0 TestUser50 undef
|
||||
0 TestUser51 undef
|
||||
-0 PayPalEE OID.2.16.840.1.114412.1.1
|
||||
+0 PayPalEE OID.2.16.840.1.114412.2.1
|
||||
118
nss-util-config
Normal file
118
nss-util-config
Normal file
@ -0,0 +1,118 @@
|
||||
#!/bin/sh
|
||||
|
||||
prefix=/usr
|
||||
|
||||
major_version=3
|
||||
minor_version=40
|
||||
patch_version=1
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: nss-util-config [OPTIONS] [LIBRARIES]
|
||||
Options:
|
||||
[--prefix[=DIR]]
|
||||
[--exec-prefix[=DIR]]
|
||||
[--includedir[=DIR]]
|
||||
[--libdir[=DIR]]
|
||||
[--version]
|
||||
[--libs]
|
||||
[--cflags]
|
||||
Dynamic Libraries:
|
||||
nssutil
|
||||
EOF
|
||||
exit $1
|
||||
}
|
||||
|
||||
if test $# -eq 0; then
|
||||
usage 1 1>&2
|
||||
fi
|
||||
|
||||
lib_nssutil=yes
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) optarg= ;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
;;
|
||||
--prefix)
|
||||
echo_prefix=yes
|
||||
;;
|
||||
--exec-prefix=*)
|
||||
exec_prefix=$optarg
|
||||
;;
|
||||
--exec-prefix)
|
||||
echo_exec_prefix=yes
|
||||
;;
|
||||
--includedir=*)
|
||||
includedir=$optarg
|
||||
;;
|
||||
--includedir)
|
||||
echo_includedir=yes
|
||||
;;
|
||||
--libdir=*)
|
||||
libdir=$optarg
|
||||
;;
|
||||
--libdir)
|
||||
echo_libdir=yes
|
||||
;;
|
||||
--version)
|
||||
echo ${major_version}.${minor_version}.${patch_version}
|
||||
;;
|
||||
--cflags)
|
||||
echo_cflags=yes
|
||||
;;
|
||||
--libs)
|
||||
echo_libs=yes
|
||||
;;
|
||||
*)
|
||||
usage 1 1>&2
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Set variables that may be dependent upon other variables
|
||||
if test -z "$exec_prefix"; then
|
||||
exec_prefix=`pkg-config --variable=exec_prefix nss-util`
|
||||
fi
|
||||
if test -z "$includedir"; then
|
||||
includedir=`pkg-config --variable=includedir nss-util`
|
||||
fi
|
||||
if test -z "$libdir"; then
|
||||
libdir=`pkg-config --variable=libdir nss-util`
|
||||
fi
|
||||
|
||||
if test "$echo_prefix" = "yes"; then
|
||||
echo $prefix
|
||||
fi
|
||||
|
||||
if test "$echo_exec_prefix" = "yes"; then
|
||||
echo $exec_prefix
|
||||
fi
|
||||
|
||||
if test "$echo_includedir" = "yes"; then
|
||||
echo $includedir
|
||||
fi
|
||||
|
||||
if test "$echo_libdir" = "yes"; then
|
||||
echo $libdir
|
||||
fi
|
||||
|
||||
if test "$echo_cflags" = "yes"; then
|
||||
echo -I$includedir
|
||||
fi
|
||||
|
||||
if test "$echo_libs" = "yes"; then
|
||||
libdirs="-Wl,-rpath-link,$libdir -L$libdir"
|
||||
if test -n "$lib_nssutil"; then
|
||||
libdirs="$libdirs -lnssutil${major_version}"
|
||||
fi
|
||||
echo $libdirs
|
||||
fi
|
||||
|
||||
11
nss-util.pc
Normal file
11
nss-util.pc
Normal file
@ -0,0 +1,11 @@
|
||||
prefix=/usr
|
||||
exec_prefix=/usr
|
||||
libdir=/usr/lib64
|
||||
includedir=/usr/include/nss3
|
||||
|
||||
Name: NSS-UTIL
|
||||
Description: Network Security Services Utility Library
|
||||
Version: 3.40.1
|
||||
Requires: nspr >= 4.20.0
|
||||
Libs: -L${libdir} -lnssutil3
|
||||
Cflags: -I${includedir}
|
||||
11
nss.pc
Normal file
11
nss.pc
Normal file
@ -0,0 +1,11 @@
|
||||
prefix=/usr
|
||||
exec_prefix=/usr
|
||||
libdir=/usr/lib64
|
||||
includedir=/usr/include/nss3
|
||||
|
||||
Name: NSS
|
||||
Description: Network Security Services
|
||||
Version: 3.40.1
|
||||
Requires: nspr >= 4.20.0, nss-util >= 3.40.1
|
||||
Libs: -L${libdir} -lssl3 -lsmime3 -lnss3
|
||||
Cflags: -I${includedir}
|
||||
644
nss.spec
Normal file
644
nss.spec
Normal file
@ -0,0 +1,644 @@
|
||||
%global nspr_version 4.20.0
|
||||
%global nss_version 3.40.1
|
||||
%global unsupported_tools_directory %{_libdir}/nss/unsupported-tools
|
||||
%global allTools "certutil cmsutil crlutil derdump modutil pk12util signtool signver ssltap vfychain vfyserv"
|
||||
|
||||
%global dracutlibdir %{_prefix}/lib/dracut
|
||||
%global dracut_modules_dir %{dracutlibdir}/modules.d/05nss-softokn/
|
||||
%global dracut_conf_dir %{dracutlibdir}/dracut.conf.d
|
||||
|
||||
Summary: Network Security Services
|
||||
Name: nss
|
||||
Version: %{nss_version}
|
||||
Release: 4
|
||||
License: MPLv2.0
|
||||
URL: http://www.mozilla.org/projects/security/pki/nss/
|
||||
Provides: nss-system-init
|
||||
Requires: nspr >= %{nspr_version} nss-util >= %{nss_version} nss-softokn%{_isa} >= %{nss_version}
|
||||
Requires: p11-kit-trust crypto-policies nss-help
|
||||
Requires(post): coreutils, sed
|
||||
BuildRequires: nspr-devel >= %{nspr_version} nss-softokn sqlite-devel zlib-devel
|
||||
BuildRequires: pkgconf gawk psmisc perl-interpreter gcc-c++
|
||||
obsoletes: nss-sysinit
|
||||
|
||||
Source0: https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_40_1_RTM/src/%{name}-%{nss_version}.tar.gz
|
||||
Source1: nss-util.pc
|
||||
Source2: nss-util-config
|
||||
Source3: nss-softokn.pc
|
||||
Source4: nss-softokn-config
|
||||
Source5: nss-softokn-prelink.conf
|
||||
Source6: nss-softokn-dracut-module-setup.sh
|
||||
Source7: nss-softokn-dracut.conf
|
||||
Source8: nss.pc
|
||||
Source9: nss-config
|
||||
Source10: blank-cert8.db
|
||||
Source11: blank-key3.db
|
||||
Source12: blank-secmod.db
|
||||
Source13: blank-cert9.db
|
||||
Source14: blank-key4.db
|
||||
Source15: system-pkcs11.txt
|
||||
Source16: setup-nsssysinit.sh
|
||||
Source20: nss-config.xml
|
||||
Source21: setup-nsssysinit.xml
|
||||
Source22: pkcs11.txt.xml
|
||||
Source23: cert8.db.xml
|
||||
Source24: cert9.db.xml
|
||||
Source25: key3.db.xml
|
||||
Source26: key4.db.xml
|
||||
Source27: secmod.db.xml
|
||||
Source28: nss-p11-kit.config
|
||||
Source29: PayPalICA.cert
|
||||
Source30: PayPalEE.cert
|
||||
|
||||
Patch1: renegotiate-transitional.patch
|
||||
# Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=617723
|
||||
Patch2: nss-539183.patch
|
||||
# This patch uses the GCC -iquote option documented at
|
||||
# http://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html#Directory-Options
|
||||
# to give the in-tree headers a higher priority over the system headers,
|
||||
# when they are included through the quote form (#include "file.h").
|
||||
Patch3: iquote.patch
|
||||
# rhbz: https://bugzilla.redhat.com/show_bug.cgi?id=1185708
|
||||
Patch4: rhbz1185708-enable-ecc-3des-ciphers-by-default.patch
|
||||
# Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1505317
|
||||
Patch5: nss-tests-paypal-certs-v2.patch
|
||||
|
||||
Patch9000: Bug-1412829-reject-empty-supported_signature_algorit.patch
|
||||
Patch9001: Bug-1507135-Add-additional-null-checks-to-CMS-messag.patch
|
||||
Patch9002: Bug-1507174-Add-additional-null-checks-to-other-CMS-.patch
|
||||
|
||||
%description
|
||||
Network Security Services (NSS) is a set of libraries designed to
|
||||
support cross-platform development of security-enabled client and
|
||||
server applications. Applications built with NSS can support SSL v2
|
||||
and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509
|
||||
v3 certificates, and other security standards.
|
||||
|
||||
%package devel
|
||||
Summary: Network Security Services development files
|
||||
Provides: nss-static = %{version}-%{release}
|
||||
Provides: nss-pkcs11-devel-static = %{version}-%{release}
|
||||
Requires: nss%{?_isa} = %{version}-%{release}
|
||||
Requires: nss-util-devel nss-softokn-devel nspr-devel >= %{nspr_version} pkgconf
|
||||
Requires: nss-softokn-devel = %{version}-%{release}
|
||||
BuildRequires: xmlto
|
||||
obsoletes: nss-pkcs11-devel
|
||||
|
||||
%description devel
|
||||
Header and Library files for doing development with Network Security Services.
|
||||
|
||||
%package util
|
||||
Summary: Network Security Services Utilities Library
|
||||
Requires: nspr >= %{nspr_version} nss-help
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Provides: nss-tools = %{version}-%{release}
|
||||
obsoletes: nss-tools
|
||||
|
||||
%description util
|
||||
Utilities for Network Security Services and the Softoken module
|
||||
manipulate the NSS certificate and key database.
|
||||
|
||||
%package util-devel
|
||||
Summary: Development libraries for Network Security Services Utilities
|
||||
Requires: nss-util%{?_isa} = %{version}-%{release}
|
||||
Requires: nspr-devel >= %{nspr_version}
|
||||
Requires: pkgconf
|
||||
|
||||
%description util-devel
|
||||
Header and library files for doing development with Network Security Services.
|
||||
|
||||
%package softokn
|
||||
Summary: Network Security Services Softoken and Freebl library Module
|
||||
Requires: nspr >= %{nspr_version}
|
||||
Requires: nss-util >= %{version}-%{release}
|
||||
Provides: nss-softokn-freebl
|
||||
Conflicts: prelink < 0.4.3
|
||||
Conflicts: filesystem < 3
|
||||
obsoletes: nss-softokn-freebl
|
||||
|
||||
%description softokn
|
||||
Network Security Services Softoken and Freebl Cryptographic Module
|
||||
|
||||
%package softokn-devel
|
||||
Summary: Header and Library files for doing development with the Freebl library for NSS
|
||||
Provides: nss-softokn-freebl-static = %{version}-%{release}
|
||||
Provides: nss-softokn-freebl-devel
|
||||
Requires: nss-softokn%{?_isa} = %{version}-%{release}
|
||||
Requires: nspr-devel >= %{nspr_version}
|
||||
Requires: nss-util-devel >= %{version}-%{release}
|
||||
Requires: pkgconf
|
||||
BuildRequires: nspr-devel >= %{nspr_version}
|
||||
obsoletes: nss-softokn-freebl-devel
|
||||
|
||||
%description softokn-devel
|
||||
NSS Softoken Cryptographic Module and Freebl Library Development Tools
|
||||
This package supports special needs of some PKCS #11 module developers and
|
||||
is otherwise considered private to NSS. As such, the programming interfaces
|
||||
may change and the usual NSS binary compatibility commitments do not apply.
|
||||
Developers should rely only on the officially supported NSS public API.
|
||||
|
||||
%package help
|
||||
Summary: help document for NSS
|
||||
Requires: man-db
|
||||
|
||||
%description help
|
||||
Help document for NSS
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{nss_version}
|
||||
|
||||
%patch1 -p0 -b .transitional
|
||||
%patch2 -p0 -b .539183
|
||||
%patch3 -p0 -b .iquote
|
||||
%patch4 -p0 -b .1185708_3des
|
||||
pushd nss
|
||||
%patch5 -p1 -b .paypal-certs
|
||||
%patch9000 -p1
|
||||
%patch9001 -p1
|
||||
%patch9002 -p1
|
||||
cp %{SOURCE29} %{SOURCE30} tests/libpkix/certs
|
||||
popd
|
||||
|
||||
%build
|
||||
|
||||
export NSS_FORCE_FIPS=1
|
||||
# Enable compiler optimizations and disable debugging code
|
||||
|
||||
export BUILD_OPT=1
|
||||
# Uncomment to disable optimizations
|
||||
#RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/-O2/-O0/g'`
|
||||
#export RPM_OPT_FLAGS
|
||||
|
||||
# Generate symbolic info for debuggers
|
||||
export XCFLAGS=$RPM_OPT_FLAGS
|
||||
export LDFLAGS=$RPM_LD_FLAGS
|
||||
export DSO_LDOPTS=$RPM_LD_FLAGS
|
||||
|
||||
# Must export FREEBL_LOWHASH=1 for nsslowhash.h so that it gets
|
||||
# copied to dist and the rpm install phase can find it
|
||||
# This due of the upstream changes to fix
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=717906
|
||||
export FREEBL_LOWHASH=1
|
||||
# uncomment if the iquote patch is activated
|
||||
export IN_TREE_FREEBL_HEADERS_FIRST=1
|
||||
|
||||
export FREEBL_NO_DEPEND=1
|
||||
|
||||
export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
|
||||
export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
|
||||
|
||||
export NSPR_INCLUDE_DIR=`/usr/bin/pkg-config --cflags-only-I nspr | sed 's/-I//'`
|
||||
export NSPR_LIB_DIR=%{_libdir}
|
||||
|
||||
export NSS_USE_SYSTEM_SQLITE=1
|
||||
export NSS_ALLOW_SSLKEYLOGFILE=1
|
||||
|
||||
%ifnarch noarch
|
||||
%if 0%{__isa_bits} == 64
|
||||
export USE_64=1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
##### phase 2: build the rest of nss
|
||||
make -C ./nss/coreconf
|
||||
make -C ./nss/lib/dbm
|
||||
|
||||
# Set the policy file location
|
||||
# if set NSS will always check for the policy file and load if it exists
|
||||
export POLICY_FILE="nss.config"
|
||||
# location of the policy file
|
||||
export POLICY_PATH="/etc/crypto-policies/back-ends"
|
||||
|
||||
make -C ./nss
|
||||
|
||||
# build the man pages clean
|
||||
pushd ./nss
|
||||
make clean_docs build_docs
|
||||
popd
|
||||
|
||||
# and copy them to the dist directory for %%install to find them
|
||||
mkdir -p ./dist/docs/nroff
|
||||
cp ./nss/doc/nroff/* ./dist/docs/nroff
|
||||
|
||||
# Set up our package files
|
||||
mkdir -p ./dist/pkgconfig
|
||||
for m in %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE8} %{SOURCE9} %{SOURCE16}; do
|
||||
cp ${m} ./dist/pkgconfig
|
||||
chmod 755 ./dist/pkgconfig/*
|
||||
done
|
||||
|
||||
NSSUTIL_VMAJOR=`cat nss/lib/util/nssutil.h | grep "#define.*NSSUTIL_VMAJOR" | awk '{print $3}'`
|
||||
NSSUTIL_VMINOR=`cat nss/lib/util/nssutil.h | grep "#define.*NSSUTIL_VMINOR" | awk '{print $3}'`
|
||||
NSSUTIL_VPATCH=`cat nss/lib/util/nssutil.h | grep "#define.*NSSUTIL_VPATCH" | awk '{print $3}'`
|
||||
|
||||
SOFTOKEN_VMAJOR=`cat nss/lib/softoken/softkver.h | grep "#define.*SOFTOKEN_VMAJOR" | awk '{print $3}'`
|
||||
SOFTOKEN_VMINOR=`cat nss/lib/softoken/softkver.h | grep "#define.*SOFTOKEN_VMINOR" | awk '{print $3}'`
|
||||
SOFTOKEN_VPATCH=`cat nss/lib/softoken/softkver.h | grep "#define.*SOFTOKEN_VPATCH" | awk '{print $3}'`
|
||||
|
||||
NSS_VMAJOR=`cat nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}'`
|
||||
NSS_VMINOR=`cat nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}'`
|
||||
NSS_VPATCH=`cat nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}'`
|
||||
|
||||
cp ./nss/lib/ckfw/nssck.api ./dist/private/nss/
|
||||
|
||||
date +"%e %B %Y" | tr -d '\n' > date.xml
|
||||
echo -n %{version} > version.xml
|
||||
|
||||
# configuration files and setup script
|
||||
for m in %{SOURCE20} %{SOURCE21} %{SOURCE22}; do
|
||||
cp ${m} .
|
||||
done
|
||||
for m in nss-config.xml setup-nsssysinit.xml pkcs11.txt.xml; do
|
||||
xmlto man ${m}
|
||||
done
|
||||
|
||||
# nss databases considered to be configuration files
|
||||
for m in %{SOURCE23} %{SOURCE24} %{SOURCE25} %{SOURCE26} %{SOURCE27}; do
|
||||
cp ${m} .
|
||||
done
|
||||
for m in cert8.db.xml cert9.db.xml key3.db.xml key4.db.xml secmod.db.xml; do
|
||||
xmlto man ${m}
|
||||
done
|
||||
|
||||
|
||||
%check
|
||||
|
||||
export FREEBL_NO_DEPEND=1
|
||||
|
||||
export BUILD_OPT=1
|
||||
|
||||
%ifnarch noarch
|
||||
%if 0%{__isa_bits} == 64
|
||||
export USE_64=1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
export NSS_IGNORE_SYSTEM_POLICY=1
|
||||
|
||||
# Run test suite.
|
||||
SPACEISBAD=`find ./nss/tests | grep -c ' '` ||:
|
||||
if [ $SPACEISBAD -ne 0 ]; then
|
||||
echo "error: filenames containing space are not supported (xargs)"
|
||||
exit 1
|
||||
fi
|
||||
MYRAND=`perl -e 'print 9000 + int rand 1000'`; echo $MYRAND ||:
|
||||
RANDSERV=selfserv_${MYRAND}; echo $RANDSERV ||:
|
||||
DISTBINDIR=`ls -d ./dist/*.OBJ/bin`; echo $DISTBINDIR ||:
|
||||
pushd `pwd`
|
||||
cd $DISTBINDIR
|
||||
ln -s selfserv $RANDSERV
|
||||
popd
|
||||
# man perlrun, man perlrequick
|
||||
# replace word-occurrences of selfserv with selfserv_$MYRAND
|
||||
find ./nss/tests -type f |\
|
||||
grep -v "\.db$" |grep -v "\.crl$" | grep -v "\.crt$" |\
|
||||
grep -vw CVS |xargs grep -lw selfserv |\
|
||||
xargs -l perl -pi -e "s/\bselfserv\b/$RANDSERV/g" ||:
|
||||
|
||||
killall $RANDSERV || :
|
||||
|
||||
rm -rf ./tests_results
|
||||
pushd ./nss/tests/
|
||||
|
||||
# the full list from all.sh is:
|
||||
%define nss_tests "libpkix cert dbtests tools fips sdr crmf smime ssl ocsp merge pkits chains ec gtests ssl_gtests"
|
||||
# nss_ssl_tests: crl bypass_normal normal_bypass normal_fips fips_normal iopr policy
|
||||
# nss_ssl_run: cov auth stapling stress
|
||||
#
|
||||
# disable some test suites for faster test builds
|
||||
# % define nss_ssl_tests "normal_fips"
|
||||
# % define nss_ssl_run "cov"
|
||||
|
||||
HOST=localhost DOMSUF=localdomain PORT=$MYRAND NSS_CYCLES=%{?nss_cycles} NSS_TESTS=%{?nss_tests} NSS_SSL_TESTS=%{?nss_ssl_tests} NSS_SSL_RUN=%{?nss_ssl_run} ./all.sh
|
||||
|
||||
popd
|
||||
|
||||
killall $RANDSERV || :
|
||||
|
||||
TEST_FAILURES=$(grep -c -- '- FAILED$' ./tests_results/security/localhost.1/output.log) || GREP_EXIT_STATUS=$?
|
||||
|
||||
if [ ${GREP_EXIT_STATUS:-0} -eq 1 ]; then
|
||||
echo "okay: test suite detected no failures"
|
||||
else
|
||||
if [ ${GREP_EXIT_STATUS:-0} -eq 0 ]; then
|
||||
# while a situation in which grep return status is 0 and it doesn't output
|
||||
# anything shouldn't happen, set the default to something that is
|
||||
# obviously wrong (-1)
|
||||
echo "error: test suite had ${TEST_FAILURES:--1} test failure(s)"
|
||||
exit 1
|
||||
else
|
||||
if [ ${GREP_EXIT_STATUS:-0} -eq 2 ]; then
|
||||
echo "error: grep has not found log file"
|
||||
exit 1
|
||||
else
|
||||
echo "error: grep failed with exit code: ${GREP_EXIT_STATUS}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
echo "test suite completed"
|
||||
|
||||
%install
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_includedir}/nss3/templates
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_bindir}
|
||||
mkdir -p $RPM_BUILD_ROOT/%{unsupported_tools_directory}
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/pkgconfig
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/nss/saved
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/prelink.conf.d/
|
||||
mkdir -p $RPM_BUILD_ROOT/%{dracut_modules_dir}
|
||||
mkdir -p $RPM_BUILD_ROOT/%{dracut_conf_dir}
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/crypto-policies/local.d
|
||||
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
|
||||
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man5
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/pki/nssdb
|
||||
|
||||
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/%{_sysconfdir}/prelink.conf.d/
|
||||
install -m 755 %{SOURCE6} $RPM_BUILD_ROOT/%{dracut_modules_dir}/module-setup.sh
|
||||
install -m 644 %{SOURCE7} $RPM_BUILD_ROOT/%{dracut_conf_dir}/50-nss-softokn.conf
|
||||
# Install the empty NSS db files
|
||||
# Legacy db
|
||||
install -p -m 644 %{SOURCE10} $RPM_BUILD_ROOT/%{_sysconfdir}/pki/nssdb/cert8.db
|
||||
install -p -m 644 %{SOURCE11} $RPM_BUILD_ROOT/%{_sysconfdir}/pki/nssdb/key3.db
|
||||
install -p -m 644 %{SOURCE12} $RPM_BUILD_ROOT/%{_sysconfdir}/pki/nssdb/secmod.db
|
||||
# Shared db
|
||||
install -p -m 644 %{SOURCE13} $RPM_BUILD_ROOT/%{_sysconfdir}/pki/nssdb/cert9.db
|
||||
install -p -m 644 %{SOURCE14} $RPM_BUILD_ROOT/%{_sysconfdir}/pki/nssdb/key4.db
|
||||
install -p -m 644 %{SOURCE15} $RPM_BUILD_ROOT/%{_sysconfdir}/pki/nssdb/pkcs11.txt
|
||||
|
||||
# Copy the binary libraries we want
|
||||
for file in libnssutil3.so libsoftokn3.so libnssdbm3.so libfreebl3.so libfreeblpriv3.so libnss3.so libnsssysinit.so libsmime3.so libssl3.so
|
||||
do
|
||||
install -p -m 755 dist/*.OBJ/lib/$file $RPM_BUILD_ROOT/%{_libdir}
|
||||
done
|
||||
|
||||
# Copy the development libraries we want
|
||||
for file in libcrmf.a libnssb.a libnssckfw.a libfreebl.a
|
||||
do
|
||||
install -p -m 644 dist/*.OBJ/lib/$file $RPM_BUILD_ROOT/%{_libdir}
|
||||
done
|
||||
|
||||
# Copy the binaries we want
|
||||
for file in certutil cmsutil crlutil modutil nss-policy-check pk12util signver ssltap
|
||||
do
|
||||
install -p -m 755 dist/*.OBJ/bin/$file $RPM_BUILD_ROOT/%{_bindir}
|
||||
done
|
||||
|
||||
# Copy the binaries we ship as unsupported
|
||||
for file in bltest ecperf fbectest fipstest shlibsign atob btoa derdump listsuites ocspclnt pp selfserv signtool strsclnt symkeyutil tstclnt vfyserv vfychain
|
||||
do
|
||||
install -p -m 755 dist/*.OBJ/bin/$file $RPM_BUILD_ROOT/%{unsupported_tools_directory}
|
||||
done
|
||||
|
||||
# Copy the include files we want
|
||||
for file in dist/public/nss/*.h
|
||||
do
|
||||
install -p -m 644 $file $RPM_BUILD_ROOT/%{_includedir}/nss3
|
||||
done
|
||||
|
||||
# Copy some freebl include files we also want
|
||||
for file in blapi.h alghmac.h
|
||||
do
|
||||
install -p -m 644 dist/private/nss/$file $RPM_BUILD_ROOT/%{_includedir}/nss3
|
||||
done
|
||||
|
||||
# Copy the template files we want
|
||||
for file in dist/private/nss/templates.c dist/private/nss/nssck.api
|
||||
do
|
||||
install -p -m 644 $file $RPM_BUILD_ROOT/%{_includedir}/nss3/templates
|
||||
done
|
||||
|
||||
# Copy the package configuration files
|
||||
install -p -m 644 ./dist/pkgconfig/nss-util.pc $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/nss-util.pc
|
||||
install -p -m 755 ./dist/pkgconfig/nss-util-config $RPM_BUILD_ROOT/%{_bindir}/nss-util-config
|
||||
install -p -m 644 ./dist/pkgconfig/nss-softokn.pc $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/nss-softokn.pc
|
||||
install -p -m 755 ./dist/pkgconfig/nss-softokn-config $RPM_BUILD_ROOT/%{_bindir}/nss-softokn-config
|
||||
install -p -m 644 ./dist/pkgconfig/nss.pc $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/nss.pc
|
||||
install -p -m 755 ./dist/pkgconfig/nss-config $RPM_BUILD_ROOT/%{_bindir}/nss-config
|
||||
# Copy the pkcs #11 configuration script
|
||||
install -p -m 755 ./dist/pkgconfig/setup-nsssysinit.sh $RPM_BUILD_ROOT/%{_bindir}/setup-nsssysinit.sh
|
||||
# install a symbolic link to it, without the ".sh" suffix,
|
||||
ln -r -s -f $RPM_BUILD_ROOT/%{_bindir}/setup-nsssysinit.sh $RPM_BUILD_ROOT/%{_bindir}/setup-nsssysinit
|
||||
|
||||
# Copy the man pages for scripts
|
||||
for f in nss-config setup-nsssysinit; do
|
||||
install -c -m 644 ${f}.1 $RPM_BUILD_ROOT%{_mandir}/man1/${f}.1
|
||||
done
|
||||
# Copy the man pages for the nss tools
|
||||
for f in "%{allTools}"; do
|
||||
install -c -m 644 ./dist/docs/nroff/${f}.1 $RPM_BUILD_ROOT%{_mandir}/man1/${f}.1
|
||||
done
|
||||
install -c -m 644 ./dist/docs/nroff/pp.1 $RPM_BUILD_ROOT%{_mandir}/man1/pp.1
|
||||
|
||||
# Copy the man pages for the configuration files
|
||||
for f in pkcs11.txt; do
|
||||
install -c -m 644 ${f}.5 $RPM_BUILD_ROOT%{_mandir}/man5/${f}.5
|
||||
done
|
||||
# Copy the man pages for the nss databases
|
||||
for f in cert8.db cert9.db key3.db key4.db secmod.db; do
|
||||
install -c -m 644 ${f}.5 $RPM_BUILD_ROOT%{_mandir}/man5/${f}.5
|
||||
done
|
||||
|
||||
# Copy the crypto-policies configuration file
|
||||
install -p -m 644 %{SOURCE28} $RPM_BUILD_ROOT/%{_sysconfdir}/crypto-policies/local.d
|
||||
|
||||
/usr/bin/setup-nsssysinit.sh on
|
||||
$RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libsoftokn3.so
|
||||
$RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libfreeblpriv3.so
|
||||
$RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libfreebl3.so
|
||||
$RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libnssdbm3.so
|
||||
|
||||
%post
|
||||
update-crypto-policies
|
||||
|
||||
%postun
|
||||
update-crypto-policies
|
||||
|
||||
%files
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license nss/COPYING
|
||||
%{_libdir}/libnss3.so
|
||||
%{_libdir}/libssl3.so
|
||||
%{_libdir}/libsmime3.so
|
||||
%dir %{_sysconfdir}/pki/nssdb
|
||||
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/pki/nssdb/*
|
||||
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/crypto-policies/local.d/nss-p11-kit.config
|
||||
%{_libdir}/libnsssysinit.so
|
||||
%{_bindir}/setup-nsssysinit.sh
|
||||
# symbolic link to setup-nsssysinit.sh
|
||||
%{_bindir}/setup-nsssysinit
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libcrmf.a
|
||||
%{_libdir}/pkgconfig/nss.pc
|
||||
%{_bindir}/nss-config
|
||||
%{_libdir}/libnssb.a
|
||||
%{_libdir}/libnssckfw.a
|
||||
|
||||
%dir %{_includedir}/nss3
|
||||
%{_includedir}/nss3/cert*.h
|
||||
%{_includedir}/nss3/cm*.h
|
||||
%{_includedir}/nss3/cr*.h
|
||||
%{_includedir}/nss3/sechash.h
|
||||
%{_includedir}/nss3/jar-ds.h
|
||||
%{_includedir}/nss3/jar.h
|
||||
%{_includedir}/nss3/jarfile.h
|
||||
%{_includedir}/nss3/key*.h
|
||||
%{_includedir}/nss3/nss.h
|
||||
%{_includedir}/nss3/ocsp.h
|
||||
%{_includedir}/nss3/ocspt.h
|
||||
%{_includedir}/nss3/p12.h
|
||||
%{_includedir}/nss3/p12plcy.h
|
||||
%{_includedir}/nss3/p12t.h
|
||||
%{_includedir}/nss3/pk11*.h
|
||||
%{_includedir}/nss3/pkcs12.h
|
||||
%{_includedir}/nss3/pkcs12t.h
|
||||
%{_includedir}/nss3/pkcs7t.h
|
||||
%{_includedir}/nss3/preenc.h
|
||||
%{_includedir}/nss3/secmime.h
|
||||
%{_includedir}/nss3/secmod.h
|
||||
%{_includedir}/nss3/secmodt.h
|
||||
%{_includedir}/nss3/secpkcs5.h
|
||||
%{_includedir}/nss3/secpkcs7.h
|
||||
%{_includedir}/nss3/smime.h
|
||||
%{_includedir}/nss3/ssl*.h
|
||||
%{_includedir}/nss3/nssbase.h
|
||||
%{_includedir}/nss3/nssbaset.h
|
||||
%{_includedir}/nss3/nssck*.h
|
||||
%{_includedir}/nss3/templates/nssck.api
|
||||
|
||||
%files util
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license nss/COPYING
|
||||
%{_libdir}/libnssutil3.so
|
||||
%{_bindir}/certutil
|
||||
%{_bindir}/cmsutil
|
||||
%{_bindir}/crlutil
|
||||
%{_bindir}/modutil
|
||||
%{_bindir}/nss-policy-check
|
||||
%{_bindir}/pk12util
|
||||
%{_bindir}/signver
|
||||
%{_bindir}/ssltap
|
||||
%{unsupported_tools_directory}/atob
|
||||
%{unsupported_tools_directory}/btoa
|
||||
%{unsupported_tools_directory}/derdump
|
||||
%{unsupported_tools_directory}/listsuites
|
||||
%{unsupported_tools_directory}/ocspclnt
|
||||
%{unsupported_tools_directory}/pp
|
||||
%{unsupported_tools_directory}/selfserv
|
||||
%{unsupported_tools_directory}/signtool
|
||||
%{unsupported_tools_directory}/strsclnt
|
||||
%{unsupported_tools_directory}/symkeyutil
|
||||
%{unsupported_tools_directory}/tstclnt
|
||||
%{unsupported_tools_directory}/vfyserv
|
||||
%{unsupported_tools_directory}/vfychain
|
||||
|
||||
%files util-devel
|
||||
%{_libdir}/pkgconfig/nss-util.pc
|
||||
%{_bindir}/nss-util-config
|
||||
|
||||
# co-owned with nss
|
||||
%dir %{_includedir}/nss3
|
||||
# these are marked as public export in nss/lib/util/manifest.mk
|
||||
%{_includedir}/nss3/base64.h
|
||||
%{_includedir}/nss3/ciferfam.h
|
||||
%{_includedir}/nss3/eccutil.h
|
||||
%{_includedir}/nss3/hasht.h
|
||||
%{_includedir}/nss3/nssb64.h
|
||||
%{_includedir}/nss3/nssb64t.h
|
||||
%{_includedir}/nss3/nsslocks.h
|
||||
%{_includedir}/nss3/nssilock.h
|
||||
%{_includedir}/nss3/nssilckt.h
|
||||
%{_includedir}/nss3/nssrwlk.h
|
||||
%{_includedir}/nss3/nssrwlkt.h
|
||||
%{_includedir}/nss3/nssutil.h
|
||||
%{_includedir}/nss3/pkcs1sig.h
|
||||
%{_includedir}/nss3/pkcs11*.h
|
||||
%{_includedir}/nss3/portreg.h
|
||||
%{_includedir}/nss3/secasn1.h
|
||||
%{_includedir}/nss3/secasn1t.h
|
||||
%{_includedir}/nss3/seccomon.h
|
||||
%{_includedir}/nss3/secder.h
|
||||
%{_includedir}/nss3/secdert.h
|
||||
%{_includedir}/nss3/secdig.h
|
||||
%{_includedir}/nss3/secdigt.h
|
||||
%{_includedir}/nss3/secerr.h
|
||||
%{_includedir}/nss3/secitem.h
|
||||
%{_includedir}/nss3/secoid.h
|
||||
%{_includedir}/nss3/secoidt.h
|
||||
%{_includedir}/nss3/secport.h
|
||||
%{_includedir}/nss3/util*.h
|
||||
%{_includedir}/nss3/templates/templates.c
|
||||
|
||||
%files softokn
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license nss/COPYING
|
||||
%{_libdir}/libfreebl3.so
|
||||
%{_libdir}/libfreebl3.chk
|
||||
%{_libdir}/libfreeblpriv3.so
|
||||
%{_libdir}/libfreeblpriv3.chk
|
||||
%dir %{_sysconfdir}/prelink.conf.d/
|
||||
%{_sysconfdir}/prelink.conf.d/nss-softokn-prelink.conf
|
||||
%dir %{dracut_modules_dir}
|
||||
%{dracut_modules_dir}/module-setup.sh
|
||||
%{dracut_conf_dir}/50-nss-softokn.conf
|
||||
%{_libdir}/libnssdbm3.so
|
||||
%{_libdir}/libnssdbm3.chk
|
||||
%{_libdir}/libsoftokn3.so
|
||||
%{_libdir}/libsoftokn3.chk
|
||||
%dir %{_libdir}/nss
|
||||
%dir %{_libdir}/nss/saved
|
||||
%dir %{unsupported_tools_directory}
|
||||
%{unsupported_tools_directory}/bltest
|
||||
%{unsupported_tools_directory}/ecperf
|
||||
%{unsupported_tools_directory}/fbectest
|
||||
%{unsupported_tools_directory}/fipstest
|
||||
%{unsupported_tools_directory}/shlibsign
|
||||
|
||||
%files softokn-devel
|
||||
%{_libdir}/libfreebl.a
|
||||
%{_includedir}/nss3/blapi.h
|
||||
%{_includedir}/nss3/blapit.h
|
||||
%{_includedir}/nss3/alghmac.h
|
||||
%{_includedir}/nss3/lowkeyi.h
|
||||
%{_includedir}/nss3/lowkeyti.h
|
||||
%{_libdir}/pkgconfig/nss-softokn.pc
|
||||
%{_bindir}/nss-softokn-config
|
||||
# co-owned with nss
|
||||
%dir %{_includedir}/nss3
|
||||
%{_includedir}/nss3/ecl-exp.h
|
||||
%{_includedir}/nss3/nsslowhash.h
|
||||
%{_includedir}/nss3/shsign.h
|
||||
|
||||
%files help
|
||||
%doc %{_mandir}/man5/cert8.db.5*
|
||||
%doc %{_mandir}/man5/key3.db.5*
|
||||
%doc %{_mandir}/man5/secmod.db.5*
|
||||
%doc %{_mandir}/man5/cert9.db.5*
|
||||
%doc %{_mandir}/man5/key4.db.5*
|
||||
%doc %{_mandir}/man5/pkcs11.txt.5*
|
||||
%doc %{_mandir}/man1/setup-nsssysinit.1*
|
||||
%doc %{_mandir}/man1/certutil.1*
|
||||
%doc %{_mandir}/man1/cmsutil.1*
|
||||
%doc %{_mandir}/man1/crlutil.1*
|
||||
%doc %{_mandir}/man1/modutil.1*
|
||||
%doc %{_mandir}/man1/pk12util.1*
|
||||
%doc %{_mandir}/man1/signver.1*
|
||||
%doc %{_mandir}/man1/derdump.1*
|
||||
%doc %{_mandir}/man1/signtool.1*
|
||||
%doc %{_mandir}/man1/pp.1*
|
||||
%doc %{_mandir}/man1/ssltap.1*
|
||||
%doc %{_mandir}/man1/vfychain.1*
|
||||
%doc %{_mandir}/man1/vfyserv.1*
|
||||
%doc %{_mandir}/man1/nss-config.1*
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Sep 24 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.40.1-4
|
||||
- update requires for help
|
||||
|
||||
* Mon Sep 23 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.40.1-3
|
||||
- Rebuild
|
||||
|
||||
* Wed Sep 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.40.1-2
|
||||
- Package init
|
||||
56
pkcs11.txt.xml
Normal file
56
pkcs11.txt.xml
Normal file
@ -0,0 +1,56 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY date SYSTEM "date.xml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
|
||||
<refentry id="pkcs11.txt">
|
||||
|
||||
<refentryinfo>
|
||||
<date>&date;</date>
|
||||
<title>Network Security Services</title>
|
||||
<productname>nss</productname>
|
||||
<productnumber>&version;</productnumber>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>pkcs11.txt</refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>pkcs11.txt</refname>
|
||||
<refpurpose>NSS PKCS #11 module configuration file</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsection id="description">
|
||||
<title>Description</title>
|
||||
<para>
|
||||
The pkcs11.txt file is used to configure initialization parameters for the nss security module and optionally other pkcs #11 modules.
|
||||
</para>
|
||||
<para>
|
||||
For full documentation visit <ulink url="https://developer.mozilla.org/en-US/docs/PKCS11_Module_Specs">PKCS #11 Module Specs</ulink>.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Files</title>
|
||||
<para><filename>/etc/pki/nssdb/pkcs11.txt</filename></para>
|
||||
</refsection>
|
||||
|
||||
<refsection id="authors">
|
||||
<title>Authors</title>
|
||||
<para>The nss libraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
|
||||
<para>Authors: Elio Maldonado <emaldona@redhat.com>.</para>
|
||||
</refsection>
|
||||
|
||||
<!-- don't change -->
|
||||
<refsection id="license">
|
||||
<title>LICENSE</title>
|
||||
<para>Licensed under 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/.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
</refentry>
|
||||
|
||||
12
renegotiate-transitional.patch
Normal file
12
renegotiate-transitional.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up nss/lib/ssl/sslsock.c.transitional nss/lib/ssl/sslsock.c
|
||||
--- nss/lib/ssl/sslsock.c.transitional 2018-03-09 13:57:50.615706802 +0100
|
||||
+++ nss/lib/ssl/sslsock.c 2018-03-09 13:58:23.708974970 +0100
|
||||
@@ -67,7 +67,7 @@ static sslOptions ssl_defaults = {
|
||||
.noLocks = PR_FALSE,
|
||||
.enableSessionTickets = PR_FALSE,
|
||||
.enableDeflate = PR_FALSE,
|
||||
- .enableRenegotiation = SSL_RENEGOTIATE_REQUIRES_XTN,
|
||||
+ .enableRenegotiation = SSL_RENEGOTIATE_TRANSITIONAL,
|
||||
.requireSafeNegotiation = PR_FALSE,
|
||||
.enableFalseStart = PR_FALSE,
|
||||
.cbcRandomIV = PR_TRUE,
|
||||
23
rhbz1185708-enable-ecc-3des-ciphers-by-default.patch
Normal file
23
rhbz1185708-enable-ecc-3des-ciphers-by-default.patch
Normal file
@ -0,0 +1,23 @@
|
||||
--- ./nss/lib/ssl/ssl3con.c.1185708_3des 2016-06-23 21:10:09.765992512 -0400
|
||||
+++ ./nss/lib/ssl/ssl3con.c 2016-06-23 22:58:39.121398601 -0400
|
||||
@@ -118,18 +118,18 @@
|
||||
{ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
{ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
{ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
{ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
{ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
{ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
{ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
{ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
- { TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
- { TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
+ { TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
+ { TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
{ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
{ TLS_ECDHE_RSA_WITH_RC4_128_SHA, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
|
||||
{ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, SSL_ALLOWED, PR_TRUE, PR_FALSE},
|
||||
{ TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,SSL_ALLOWED,PR_TRUE, PR_FALSE},
|
||||
{ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
{ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
{ TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, SSL_ALLOWED, PR_FALSE, PR_FALSE},
|
||||
63
secmod.db.xml
Normal file
63
secmod.db.xml
Normal file
@ -0,0 +1,63 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY date SYSTEM "date.xml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
|
||||
<refentry id="secmod.db">
|
||||
|
||||
<refentryinfo>
|
||||
<date>&date;</date>
|
||||
<title>Network Security Services</title>
|
||||
<productname>nss</productname>
|
||||
<productnumber>&version;</productnumber>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>secmod.db</refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>secmod.db</refname>
|
||||
<refpurpose>Legacy NSS security modules database</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsection id="description">
|
||||
<title>Description</title>
|
||||
<para><emphasis>secmod.db</emphasis> is an NSS security modules database.</para>
|
||||
<para>The security modules database is used to keep track of the NSS security modules. The NSS security modules export their services via the PKCS #11 API which NSS uses as its Services Provider Interface.
|
||||
</para>
|
||||
<para>The command line utility <emphasis>modutil</emphasis> is used for managing PKCS #11 module information both within secmod.db files and within hardware tokens.
|
||||
</para>
|
||||
<para>For new applications the recommended way of tracking security modules is via the pkcs11.txt configuration file used in conjunction the new sqlite-based shared database format for certificate and key databases.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Files</title>
|
||||
<para><filename>/etc/pki/nssdb/secmod.db</filename></para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>See also</title>
|
||||
<para>modutil(1), cert8.db(5), cert9.db(5), key3.db(5), key4.db(5), pkcs11.txt(5)</para>
|
||||
</refsection>
|
||||
|
||||
<refsection id="authors">
|
||||
<title>Authors</title>
|
||||
<para>The nss libraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
|
||||
<para>Authors: Elio Maldonado <emaldona@redhat.com>.</para>
|
||||
</refsection>
|
||||
|
||||
<!-- don't change -->
|
||||
<refsection id="license">
|
||||
<title>LICENSE</title>
|
||||
<para>Licensed under 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/.
|
||||
</para>
|
||||
|
||||
</refsection>
|
||||
|
||||
|
||||
</refentry>
|
||||
68
setup-nsssysinit.sh
Executable file
68
setup-nsssysinit.sh
Executable file
@ -0,0 +1,68 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Turns on or off the nss-sysinit module db by editing the
|
||||
# global PKCS #11 congiguration file. Displays the status.
|
||||
#
|
||||
# This script can be invoked by the user as super user.
|
||||
# It is invoked at nss-sysinit post install time with argument on.
|
||||
#
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: setup-nsssysinit [on|off]
|
||||
on - turns on nsssysinit
|
||||
off - turns off nsssysinit
|
||||
status - reports whether nsssysinit is turned on or off
|
||||
EOF
|
||||
exit $1
|
||||
}
|
||||
|
||||
# validate
|
||||
if [ $# -eq 0 ]; then
|
||||
usage 1 1>&2
|
||||
fi
|
||||
|
||||
# the system-wide configuration file
|
||||
p11conf="/etc/pki/nssdb/pkcs11.txt"
|
||||
# must exist, otherwise report it and exit with failure
|
||||
if [ ! -f $p11conf ]; then
|
||||
echo "Could not find ${p11conf}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check if nsssysinit is currently enabled or disabled
|
||||
sysinit_enabled()
|
||||
{
|
||||
grep -q '^library=libnsssysinit' ${p11conf}
|
||||
}
|
||||
|
||||
umask 022
|
||||
case "$1" in
|
||||
on | ON )
|
||||
if sysinit_enabled; then
|
||||
exit 0
|
||||
fi
|
||||
cat ${p11conf} | \
|
||||
sed -e 's/^library=$/library=libnsssysinit.so/' \
|
||||
-e '/^NSS/s/\(Flags=internal\)\(,[^m]\)/\1,moduleDBOnly\2/' > \
|
||||
${p11conf}.on
|
||||
mv ${p11conf}.on ${p11conf}
|
||||
;;
|
||||
off | OFF )
|
||||
if ! sysinit_enabled; then
|
||||
exit 0
|
||||
fi
|
||||
cat ${p11conf} | \
|
||||
sed -e 's/^library=libnsssysinit.so/library=/' \
|
||||
-e '/^NSS/s/Flags=internal,moduleDBOnly/Flags=internal/' > \
|
||||
${p11conf}.off
|
||||
mv ${p11conf}.off ${p11conf}
|
||||
;;
|
||||
status )
|
||||
echo -n 'NSS sysinit is '
|
||||
sysinit_enabled && echo 'enabled' || echo 'disabled'
|
||||
;;
|
||||
* )
|
||||
usage 1 1>&2
|
||||
;;
|
||||
esac
|
||||
106
setup-nsssysinit.xml
Normal file
106
setup-nsssysinit.xml
Normal file
@ -0,0 +1,106 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY date SYSTEM "date.xml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
|
||||
<refentry id="setup-nsssysinit">
|
||||
|
||||
<refentryinfo>
|
||||
<date>&date;</date>
|
||||
<title>Network Security Services</title>
|
||||
<productname>nss</productname>
|
||||
<productnumber>&version;</productnumber>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>setup-nsssysinit</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>setup-nsssysinit</refname>
|
||||
<refpurpose>Query or enable the nss-sysinit module</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>setup-nsssysinit</command>
|
||||
<arg><option>on</option></arg>
|
||||
<arg><option>off</option></arg>
|
||||
<arg><option>status</option></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection id="description">
|
||||
<title>Description</title>
|
||||
<para><command>setup-nsssysinit</command> is a shell script to query the status of the nss-sysinit module and when run with root priviledge it can enable or disable it. </para>
|
||||
<para>Turns on or off the nss-sysinit module db by editing the global PKCS #11 configuration file. Displays the status. This script can be invoked by the user as super user. It is invoked at nss-sysinit post install time with argument on.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Options</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>on</option></term>
|
||||
<listitem><simpara>Turn on nss-sysinit.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>off</option></term>
|
||||
<listitem><simpara>Turn on nss-sysinit.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>status</option></term>
|
||||
<listitem><simpara>returns whether nss-syinit is enabled or not.</simpara></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Examples</title>
|
||||
|
||||
<para>The following example will query for the status of nss-sysinit:
|
||||
<programlisting>
|
||||
/usr/bin/setup-nsssysinit status
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>The following example, when run as superuser, will turn on nss-sysinit:
|
||||
<programlisting>
|
||||
/usr/bin/setup-nsssysinit on
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>Files</title>
|
||||
<para><filename>/usr/bin/setup-nsssysinit</filename></para>
|
||||
</refsection>
|
||||
|
||||
<refsection>
|
||||
<title>See also</title>
|
||||
<para>pkg-config(1)</para>
|
||||
</refsection>
|
||||
|
||||
<refsection id="authors">
|
||||
<title>Authors</title>
|
||||
<para>The nss libraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
|
||||
<para>Authors: Elio Maldonado <emaldona@redhat.com>.</para>
|
||||
</refsection>
|
||||
|
||||
<!-- don't change -->
|
||||
<refsection id="license">
|
||||
<title>LICENSE</title>
|
||||
<para>Licensed under 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/.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
</refentry>
|
||||
|
||||
5
system-pkcs11.txt
Normal file
5
system-pkcs11.txt
Normal file
@ -0,0 +1,5 @@
|
||||
library=libnsssysinit.so
|
||||
name=NSS Internal PKCS #11 Module
|
||||
parameters=configdir='sql:/etc/pki/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
|
||||
NSS=Flags=internal,moduleDBOnly,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user