Add pem module fix, spec file support for AArch64 and document additional fix
- Resolves: rhbz#896651 - PEM module trashes private keys if login fails - Resolves: rhbz#909775 - specfile support for AArch64 - Resolves: rhbz#910584 - certutil -a does not produce ASCII output, upstream fix
This commit is contained in:
parent
b3f05b9f44
commit
0370142fd0
44
Bug-896651-pem-dont-trash-keys-on-failed-login.patch
Normal file
44
Bug-896651-pem-dont-trash-keys-on-failed-login.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
--- mozilla/security/nss/lib/ckfw/pem/psession.c
|
||||||
|
+++ mozilla/security/nss/lib/ckfw/pem/psession.c
|
||||||
|
@@ -230,6 +230,7 @@ pem_mdSession_Login
|
||||||
|
unsigned int len = 0;
|
||||||
|
NSSLOWKEYPrivateKey *lpk = NULL;
|
||||||
|
PLArenaPool *arena;
|
||||||
|
+ SECItem plain;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
fwSlot = NSSCKFWToken_GetFWSlot(fwToken);
|
||||||
|
@@ -306,23 +321,27 @@ pem_mdSession_Login
|
||||||
|
lpk->keyType = NSSLOWKEYRSAKey;
|
||||||
|
prepare_low_rsa_priv_key_for_asn1(lpk);
|
||||||
|
|
||||||
|
- nss_ZFreeIf(io->u.key.key.privateKey->data);
|
||||||
|
- io->u.key.key.privateKey->len = len - output[len - 1];
|
||||||
|
- io->u.key.key.privateKey->data =
|
||||||
|
- (void *) nss_ZAlloc(NULL, io->u.key.key.privateKey->len);
|
||||||
|
- memcpy(io->u.key.key.privateKey->data, output, len - output[len - 1]);
|
||||||
|
|
||||||
|
/* Decode the resulting blob and see if it is a decodable DER that fits
|
||||||
|
* our private key template. If so we declare success and move on. If not
|
||||||
|
* then we return an error.
|
||||||
|
*/
|
||||||
|
+ memset(&plain, 0, sizeof(plain));
|
||||||
|
+ plain.data = output;
|
||||||
|
+ plain.len = len - output[len - 1];
|
||||||
|
rv = SEC_QuickDERDecodeItem(arena, lpk, pem_RSAPrivateKeyTemplate,
|
||||||
|
- io->u.key.key.privateKey);
|
||||||
|
+ &plain);
|
||||||
|
pem_DestroyPrivateKey(lpk);
|
||||||
|
arena = NULL;
|
||||||
|
if (rv != SECSuccess)
|
||||||
|
goto loser;
|
||||||
|
|
||||||
|
+ nss_ZFreeIf(io->u.key.key.privateKey->data);
|
||||||
|
+ io->u.key.key.privateKey->len = len - output[len - 1];
|
||||||
|
+ io->u.key.key.privateKey->data =
|
||||||
|
+ (void *) nss_ZAlloc(NULL, io->u.key.key.privateKey->len);
|
||||||
|
+ memcpy(io->u.key.key.privateKey->data, output, len - output[len - 1]);
|
||||||
|
+
|
||||||
|
rv = CKR_OK;
|
||||||
|
|
||||||
|
loser:
|
9
nss.spec
9
nss.spec
@ -79,6 +79,7 @@ Patch40: nss-3.14.0.0-disble-ocsp-test.patch
|
|||||||
# Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=835919
|
# Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=835919
|
||||||
Patch43: no-softoken-freebl-tests.patch
|
Patch43: no-softoken-freebl-tests.patch
|
||||||
Patch44: 0001-sync-up-with-upstream-softokn-changes.patch
|
Patch44: 0001-sync-up-with-upstream-softokn-changes.patch
|
||||||
|
Patch45: Bug-896651-pem-dont-trash-keys-on-failed-login.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Network Security Services (NSS) is a set of libraries designed to
|
Network Security Services (NSS) is a set of libraries designed to
|
||||||
@ -164,6 +165,7 @@ low level services.
|
|||||||
%patch40 -p1 -b .noocsptest
|
%patch40 -p1 -b .noocsptest
|
||||||
%patch43 -p0 -b .nosoftokentests
|
%patch43 -p0 -b .nosoftokentests
|
||||||
%patch44 -p1 -b .syncupwithupstream
|
%patch44 -p1 -b .syncupwithupstream
|
||||||
|
%patch45 -p0 -b .notrash
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -204,7 +206,7 @@ export USE_SYSTEM_FREEBL=1
|
|||||||
NSS_USE_SYSTEM_SQLITE=1
|
NSS_USE_SYSTEM_SQLITE=1
|
||||||
export NSS_USE_SYSTEM_SQLITE
|
export NSS_USE_SYSTEM_SQLITE
|
||||||
|
|
||||||
%ifarch x86_64 ppc64 ia64 s390x sparc64
|
%ifarch x86_64 ppc64 ia64 s390x sparc64 aarch64
|
||||||
USE_64=1
|
USE_64=1
|
||||||
export USE_64
|
export USE_64
|
||||||
%endif
|
%endif
|
||||||
@ -299,7 +301,7 @@ export FREEBL_NO_DEPEND
|
|||||||
BUILD_OPT=1
|
BUILD_OPT=1
|
||||||
export BUILD_OPT
|
export BUILD_OPT
|
||||||
|
|
||||||
%ifarch x86_64 ppc64 ia64 s390x sparc64
|
%ifarch x86_64 ppc64 ia64 s390x sparc64 aarch64
|
||||||
USE_64=1
|
USE_64=1
|
||||||
export USE_64
|
export USE_64
|
||||||
%endif
|
%endif
|
||||||
@ -612,6 +614,9 @@ rm -f $RPM_BUILD_ROOT/%{_includedir}/nss3/nsslowhash.h
|
|||||||
* Fri Feb 15 2013 Elio Maldonado <emaldona@redhat.com> - 3.14.3-1
|
* Fri Feb 15 2013 Elio Maldonado <emaldona@redhat.com> - 3.14.3-1
|
||||||
- Update to NSS_3_14_3_RTM
|
- Update to NSS_3_14_3_RTM
|
||||||
- sync up pem rsawrapr.c with softoken upstream changes for nss-3.14.3
|
- sync up pem rsawrapr.c with softoken upstream changes for nss-3.14.3
|
||||||
|
- Resolves: rhbz#896651 - PEM module trashes private keys if login fails
|
||||||
|
- Resolves: rhbz#909775 - specfile support for AArch64
|
||||||
|
- Resolves: rhbz#910584 - certutil -a does not produce ASCII output
|
||||||
|
|
||||||
* Mon Feb 04 2013 Elio Maldonado <emaldona@redhat.com> - 3.14.2-2
|
* Mon Feb 04 2013 Elio Maldonado <emaldona@redhat.com> - 3.14.2-2
|
||||||
- Allow building nss against older system sqlite
|
- Allow building nss against older system sqlite
|
||||||
|
Loading…
Reference in New Issue
Block a user