diff --git a/.gitignore b/.gitignore index 46aed9f..2580845 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,14 @@ TestUser51.cert /nss-3.37.3.tar.gz /nss-3.38.0.tar.gz /nss-3.39.tar.gz +/nss-3.40.1.tar.gz +/nss-3.41.tar.gz +/nss-3.42.tar.gz +/nss-3.42.1.tar.gz +/nss-3.43.tar.gz +/nss-3.44.tar.gz +/nss-3.44.1.tar.gz +/nss-3.46.tar.gz +/nss-3.46.1.tar.gz +/nss-3.47.tar.gz +/nss-3.47.1.tar.gz diff --git a/nss-539183.patch b/nss-539183.patch index eda3249..267e71e 100644 --- a/nss-539183.patch +++ b/nss-539183.patch @@ -1,5 +1,5 @@ ---- ./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 +--- 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) { @@ -29,8 +29,8 @@ 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 +--- 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) { diff --git a/nss-softokn-prelink.conf b/nss-softokn-prelink.conf deleted file mode 100644 index 11d7fb0..0000000 --- a/nss-softokn-prelink.conf +++ /dev/null @@ -1,6 +0,0 @@ --b /lib{,64}/libfreeblpriv3.so --b /lib{,64}/libsoftokn3.so --b /lib{,64}/libnssdbm3.so --b /usr/lib{,64}/libfreeblpriv3.so --b /usr/lib{,64}/libsoftokn3.so --b /usr/lib{,64}/libnssdbm3.so diff --git a/nss-tests-paypal-certs-v2.patch b/nss-tests-paypal-certs-v2.patch deleted file mode 100644 index 8f37f8c..0000000 --- a/nss-tests-paypal-certs-v2.patch +++ /dev/null @@ -1,29 +0,0 @@ -# HG changeset patch -# User Daiki Ueno -# 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 diff --git a/nss.spec b/nss.spec index c7f985a..3e93589 100644 --- a/nss.spec +++ b/nss.spec @@ -1,9 +1,7 @@ -%global nspr_version 4.20.0 -%global nss_version 3.39.0 +%global nspr_version 4.23.0 +%global nss_version 3.47.1 %global unsupported_tools_directory %{_libdir}/nss/unsupported-tools -%global allTools "certutil cmsutil crlutil derdump modutil pk12util signtool signver ssltap vfychain vfyserv" %global saved_files_dir %{_libdir}/nss/saved -%global prelink_conf_dir %{_sysconfdir}/prelink.conf.d/ %global dracutlibdir %{_prefix}/lib/dracut %global dracut_modules_dir %{dracutlibdir}/modules.d/05nss-softokn/ %global dracut_conf_dir %{dracutlibdir}/dracut.conf.d @@ -45,9 +43,7 @@ rpm.define(string.format("nss_release_tag NSS_%s_RTM", Summary: Network Security Services Name: nss Version: %{nss_version} -# for Rawhide, please always use release >= 2 -# for Fedora release branches, please use release < 2 (1.0, 1.1, ...) -Release: 4%{?dist} +Release: 1%{?dist} License: MPLv2.0 URL: http://www.mozilla.org/projects/security/pki/nss/ Requires: nspr >= %{nspr_version} @@ -67,13 +63,13 @@ BuildRequires: gawk BuildRequires: psmisc BuildRequires: perl-interpreter BuildRequires: gcc-c++ +BuildRequires: quilt Source0: https://ftp.mozilla.org/pub/security/nss/releases/%{nss_release_tag}/src/%{name}-%{nss_archive_version}.tar.gz Source1: nss-util.pc.in Source2: nss-util-config.in Source3: nss-softokn.pc.in Source4: nss-softokn-config.in -Source5: nss-softokn-prelink.conf Source6: nss-softokn-dracut-module-setup.sh Source7: nss-softokn-dracut.conf Source8: nss.pc.in @@ -94,14 +90,9 @@ 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 -# Fedora / RHEL-only patch, the templates directory was originally introduced to support mod_revocator -Patch3: utilwrap-include-templates.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, @@ -114,10 +105,6 @@ Patch3: utilwrap-include-templates.patch # Once the buildroot aha been bootstrapped the patch may be removed # but it doesn't hurt to keep it. Patch4: iquote.patch -# Local patch for TLS_ECDHE_{ECDSA|RSA}_WITH_3DES_EDE_CBC_SHA ciphers -Patch5: rhbz1185708-enable-ecc-3des-ciphers-by-default.patch -# Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1505317 -Patch6: nss-tests-paypal-certs-v2.patch %description Network Security Services (NSS) is a set of libraries designed to @@ -145,7 +132,7 @@ Summary: System NSS Initialization # providing nss-system-init without version so that it can # be replaced by a better one, e.g. supplied by the os vendor Provides: nss-system-init -Requires: nss = %{version}-%{release} +Requires: nss%{?_isa} = %{version}-%{release} Requires(post): coreutils, sed %description sysinit @@ -212,7 +199,6 @@ Requires: nspr >= 4.12 # For NSS_SecureMemcmpZero() from nss-util >= 3.33 Requires: nss-util >= 3.33 Conflicts: nss < 3.12.2.99.3-5 -Conflicts: prelink < 0.4.3 Conflicts: filesystem < 3 %description softokn-freebl @@ -246,18 +232,14 @@ Header and library files for doing development with Network Security Services. %prep -%setup -q -n %{name}-%{nss_archive_version} - -%patch1 -p0 -b .transitional -%patch2 -p0 -b .539183 -%patch3 -p0 -b .templates -%patch4 -p0 -b .iquote -%patch5 -p0 -b .1185708_3des +%autosetup -N -S quilt -n %{name}-%{nss_archive_version} pushd nss -%patch6 -p1 -b .paypal-certs -cp %{SOURCE29} %{SOURCE30} tests/libpkix/certs +%autopatch -p1 popd +# https://bugzilla.redhat.com/show_bug.cgi?id=1247353 +find nss/lib/libpkix -perm /u+x -type f -exec chmod -x {} \; + %build @@ -467,8 +449,7 @@ 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 +pushd "$DISTBINDIR" ln -s selfserv $RANDSERV popd # man perlrun, man perlrequick @@ -481,7 +462,7 @@ find ./nss/tests -type f |\ killall $RANDSERV || : rm -rf ./tests_results -pushd ./nss/tests/ +pushd nss/tests # all.sh is the test suite script # don't need to run all the tests when testing packaging @@ -498,38 +479,9 @@ pushd ./nss/tests/ # % 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 -# Normally, the grep exit status is 0 if selected lines are found and 1 otherwise, -# Grep exits with status greater than 1 if an error ocurred. -# If there are test failures we expect TEST_FAILURES > 0 and GREP_EXIT_STATUS = 0, -# With no test failures we expect TEST_FAILURES = 0 and GREP_EXIT_STATUS = 1, whereas -# GREP_EXIT_STATUS > 1 would indicate an error in grep such as failure to find the log file. 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" %endif %install @@ -543,7 +495,6 @@ mkdir -p $RPM_BUILD_ROOT/%{_libdir} mkdir -p $RPM_BUILD_ROOT/%{unsupported_tools_directory} mkdir -p $RPM_BUILD_ROOT/%{_libdir}/pkgconfig mkdir -p $RPM_BUILD_ROOT/%{saved_files_dir} -mkdir -p $RPM_BUILD_ROOT/%{prelink_conf_dir} 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 @@ -554,7 +505,6 @@ mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/crypto-policies/local.d mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/nss-tools %endif -install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/%{prelink_conf_dir} 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 @@ -603,7 +553,7 @@ do done # Copy some freebl include files we also want -for file in blapi.h alghmac.h +for file in blapi.h alghmac.h cmac.h do install -p -m 644 dist/private/nss/$file $RPM_BUILD_ROOT/%{_includedir}/nss3 done @@ -638,7 +588,7 @@ 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 +for f in certutil cmsutil crlutil derdump modutil pk12util signtool signver ssltap vfychain vfyserv; do install -c -m 644 ./dist/docs/nroff/${f}.1 $RPM_BUILD_ROOT%{_mandir}/man1/${f}.1 done %if %{defined rhel} @@ -665,10 +615,10 @@ install -p -m 644 %{SOURCE28} $RPM_BUILD_ROOT/%{_sysconfdir}/crypto-policies/loc /usr/bin/setup-nsssysinit.sh on %post -update-crypto-policies +update-crypto-policies &> /dev/null || : %postun -update-crypto-policies +update-crypto-policies &> /dev/null || : %files @@ -887,8 +837,6 @@ update-crypto-policies %{_libdir}/libfreeblpriv3.so %{_libdir}/libfreeblpriv3.chk #shared -%dir %{prelink_conf_dir} -%{prelink_conf_dir}/nss-softokn-prelink.conf %dir %{dracut_modules_dir} %{dracut_modules_dir}/module-setup.sh %{dracut_conf_dir}/50-nss-softokn.conf @@ -898,6 +846,7 @@ update-crypto-policies %{_includedir}/nss3/blapi.h %{_includedir}/nss3/blapit.h %{_includedir}/nss3/alghmac.h +%{_includedir}/nss3/cmac.h %{_includedir}/nss3/lowkeyi.h %{_includedir}/nss3/lowkeyti.h @@ -922,6 +871,61 @@ update-crypto-policies %changelog +* Fri Nov 22 2019 Daiki Ueno - 3.47.1-1 +- Update to NSS 3.47.1 + +* Wed Oct 23 2019 Daiki Ueno - 3.47.0-2 +- Install cmac.h required by blapi.h (#1764513) + +* Tue Oct 22 2019 Daiki Ueno - 3.47.0-1 +- Update to NSS 3.47 + +* Mon Oct 21 2019 Daiki Ueno - 3.46.1-1 +- Update to NSS 3.46.1 + +* Wed Sep 4 2019 Daiki Ueno - 3.46.0-2 +- Rebuild with NSPR 4.22 + +* Tue Sep 3 2019 Daiki Ueno - 3.46.0-1 +- Update to NSS 3.46 + +* Tue Jul 2 2019 Daiki Ueno - 3.44.1-1 +- Update to NSS 3.44.1 + +* Mon May 20 2019 Daiki Ueno - 3.44.0-2 +- Skip TLS 1.3 tests under FIPS mode + +* Fri May 17 2019 Daiki Ueno - 3.44.0-1 +- Update to NSS 3.44 + +* Tue May 7 2019 Daiki Ueno - 3.43.0-2 +- Fix PKCS#11 module leak if C_GetSlotInfo() failed + +* Thu Mar 21 2019 Daiki Ueno - 3.43.0-1 +- Update to NSS 3.43 + +* Mon Feb 11 2019 Daiki Ueno - 3.42.1-1 +- Update to NSS 3.42.1 + +* Fri Feb 8 2019 Daiki Ueno - 3.42.0-1 +- Update to NSS 3.42 + +* Fri Feb 8 2019 Daiki Ueno - 3.41.0-4 +- Simplify test failure detection in %%check + +* Fri Jan 11 2019 Daiki Ueno - 3.41.0-3 +- Remove prelink.conf as prelink was removed in F24, suggested by + Harald Reindl +- Use quilt for %%autopatch +- Make sysinit require arch-dependent nss, suggested by Igor Gnatenko +- Silence %%post/%%postun scriptlets, suggested by Ian Collier + +* Mon Dec 10 2018 Daiki Ueno - 3.41.0-1 +- Update to NSS 3.41 + +* Thu Dec 6 2018 Daiki Ueno - 3.40.1-1.0 +- Update to NSS 3.40.1 + * Wed Nov 14 2018 Daiki Ueno - 3.39.0-4 - Consolidate nss-util, nss-softokn, and nss into a single package - Fix FTBFS with expired test certs diff --git a/renegotiate-transitional.patch b/renegotiate-transitional.patch deleted file mode 100644 index d3aa3bd..0000000 --- a/renegotiate-transitional.patch +++ /dev/null @@ -1,12 +0,0 @@ -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, diff --git a/rhbz1185708-enable-ecc-3des-ciphers-by-default.patch b/rhbz1185708-enable-ecc-3des-ciphers-by-default.patch deleted file mode 100644 index 455c747..0000000 --- a/rhbz1185708-enable-ecc-3des-ciphers-by-default.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- ./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}, diff --git a/sources b/sources index c45fce5..e15e2b4 100644 --- a/sources +++ b/sources @@ -3,6 +3,4 @@ SHA512 (blank-cert9.db) = 2f8eab4c0612210ee47db8a3a80c1b58a0b43849551af78c7da403 SHA512 (blank-key3.db) = 01f7314e9fc8a7c9aa997652624cfcde213d18a6b3bb31840c1a60bbd662e56b5bc3221d13874abb42ce78163b225a6dfce2e1326cf6dd29366ad9c28ba5a71c SHA512 (blank-key4.db) = 8fedae93af7163da23fe9492ea8e785a44c291604fa98e58438448efb69c85d3253fc22b926d5c3209c62e58a86038fd4d78a1c4c068bc00600a7f3e5382ebe7 SHA512 (blank-secmod.db) = 06a2dbd861839ef6315093459328b500d3832333a34b30e6fac4a2503af337f014a4d319f0f93322409e719142904ce8bc08252ae9a4f37f30d4c3312e900310 -SHA512 (nss-3.39.tar.gz) = 16358c2d8660ca301410b1d39b2eae64fe2ebbbfab797872410e5fcc67f802ef48f4e362edeecb0591626c77013537019094a6a5dfc8d24487b6b6e54564da8f -SHA512 (PayPalEE.cert) = 602518b8476b40dd241879923a36a433f3220eb28a8c4f7d941131def6e3d00b01d92050ab498e2a08763b02c3c4709855de0ee23a0053d26f4fa9f9f33aaad3 -SHA512 (PayPalICA.cert) = 013795ebb3f13a1cbd5d9d82eef2f439852e461200f12df9790d0b1d63863dc7755af378ea4758f4c8a3a619dfd2d0d43a59da77553caed57611815d6263946b +SHA512 (nss-3.47.1.tar.gz) = ddee53f58929e5f3849c9f88a3a6735453a258c3c32a7e3e73cc949e0b7ad2dff81b21db31c9c5e1ef3eb79d63c31660e38ce76c06ca54a5681dd611dc2e2ae9 diff --git a/utilwrap-include-templates.patch b/utilwrap-include-templates.patch deleted file mode 100644 index 649b548..0000000 --- a/utilwrap-include-templates.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up nss/lib/nss/config.mk.templates nss/lib/nss/config.mk ---- nss/lib/nss/config.mk.templates 2013-06-18 11:32:07.590089155 -0700 -+++ nss/lib/nss/config.mk 2013-06-18 11:33:28.732763345 -0700 -@@ -3,6 +3,10 @@ - # 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/. - -+#ifeq ($(NSS_BUILD_WITHOUT_SOFTOKEN),1) -+INCLUDES += -I/usr/include/nss3/templates -+#endif -+ - # can't do this in manifest.mn because OS_TARGET isn't defined there. - ifeq (,$(filter-out WIN%,$(OS_TARGET))) -