Commit db7008c3 authored by John Schanck's avatar John Schanck
Browse files

Bug 1815980 - land NSS NSS_3_79_4_RTM UPGRADE_NSS_RELEASE, r=keeler a=pascalc


2023-02-09  John M. Schanck  <jschanck@mozilla.com>

	* doc/rst/releases/nss_3_79_4.rst:
	Documentation: release notes for NSS 3.79.4
	[9237a5f9c579] [NSS_3_79_4_RTM] <NSS_3_79_4_BRANCH>

	* lib/nss/nss.h, lib/softoken/softkver.h, lib/util/nssutil.h:
	Set version numbers to 3.79.4 final
	[5e78fe3960fc] <NSS_3_79_4_BRANCH>

	* lib/pkcs12/p12d.c, lib/pkcs12/p12t.h, lib/pkcs12/p12tmpl.c:
	Bug 1804640 - improve handling of unknown PKCS#12 safe bag types.
	r=rrelyea

	[57c60a4da165] <NSS_3_79_4_BRANCH>

2023-01-10  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* .hgtags:
	Fix tag NSS_3_79_3_RTM to changeset 7bd589cacb
	[36cbafe2ccce] <NSS_3_79_3_BRANCH>

Differential Revision: https://phabricator.services.mozilla.com/D169385
parent adecee67
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
NSS_3_79_3_RTM
 No newline at end of file
NSS_3_79_4_RTM
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -10,3 +10,4 @@
 */

#error "Do not include this header file."
+58 −0
Original line number Diff line number Diff line
.. _mozilla_projects_nss_nss_3_79_4_release_notes:

NSS 3.79.4 release notes
======================

`Introduction <#introduction>`__
--------------------------------

.. container::

   Network Security Services (NSS) 3.79.4 was released on **9 February 2023**.


.. _distribution_information:

`Distribution Information <#distribution_information>`__
--------------------------------------------------------

.. container::

   The HG tag is NSS_3_79_4_RTM. NSS 3.79.4 requires NSPR 4.34.1 or newer.

   NSS 3.79.4 source distributions are available on ftp.mozilla.org for secure HTTPS download:

   -  Source tarballs:
      https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_79_4_RTM/src/

   Other releases are available :ref:`mozilla_projects_nss_releases`.

.. _changes_in_nss_3.79.4:

`Changes in NSS 3.79.4 <#changes_in_nss_3.79.4>`__
----------------------------------------------------

.. container::

   - Bug 1804640 - improve handling of unknown PKCS#12 safe bag types.


`Compatibility <#compatibility>`__
----------------------------------

.. container::

   NSS 3.79.4 shared libraries are backwards-compatible with all older NSS 3.x shared
   libraries. A program linked with older NSS 3.x shared libraries will work with
   this new version of the shared libraries without recompiling or
   relinking. Furthermore, applications that restrict their use of NSS APIs to the
   functions listed in NSS Public Functions will remain compatible with future
   versions of the NSS shared libraries.

`Feedback <#feedback>`__
------------------------

.. container::

   Bugs discovered should be reported by filing a bug report on
   `bugzilla.mozilla.org <https://bugzilla.mozilla.org/enter_bug.cgi?product=NSS>`__ (product NSS).
+2 −2
Original line number Diff line number Diff line
@@ -22,10 +22,10 @@
 * The format of the version string should be
 *     "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
 */
#define NSS_VERSION "3.79.3" _NSS_CUSTOMIZED
#define NSS_VERSION "3.79.4" _NSS_CUSTOMIZED
#define NSS_VMAJOR 3
#define NSS_VMINOR 79
#define NSS_VPATCH 3
#define NSS_VPATCH 4
#define NSS_VBUILD 0
#define NSS_BETA PR_FALSE

+15 −8
Original line number Diff line number Diff line
@@ -337,31 +337,38 @@ sec_pkcs12_decoder_safe_bag_update(void *arg, const char *data,
    SEC_PKCS12DecoderContext *p12dcx;
    SECStatus rv;

    /* make sure that we are not skipping the current safeBag,
     * and that there are no errors.  If so, just return rather
     * than continuing to process.
     */
    if (!safeContentsCtx || !safeContentsCtx->p12dcx ||
        safeContentsCtx->p12dcx->error || safeContentsCtx->skipCurrentSafeBag) {
    if (!safeContentsCtx || !safeContentsCtx->p12dcx || !safeContentsCtx->currentSafeBagA1Dcx) {
        return;
    }
    p12dcx = safeContentsCtx->p12dcx;

    /* make sure that there are no errors and we are not skipping the current safeBag */
    if (p12dcx->error || safeContentsCtx->skipCurrentSafeBag) {
        goto loser;
    }

    rv = SEC_ASN1DecoderUpdate(safeContentsCtx->currentSafeBagA1Dcx, data, len);
    if (rv != SECSuccess) {
        p12dcx->errorValue = PORT_GetError();
        p12dcx->error = PR_TRUE;
        goto loser;
    }

    /* The update may have set safeContentsCtx->skipCurrentSafeBag, and we
     * may not get another opportunity to clean up the decoder context.
     */
    if (safeContentsCtx->skipCurrentSafeBag) {
        goto loser;
    }

    return;

loser:
    /* set the error, and finish the decoder context.  because there
    /* Finish the decoder context. Because there
     * is not a way of returning an error message, it may be worth
     * while to do a check higher up and finish any decoding contexts
     * that are still open.
     */
    p12dcx->error = PR_TRUE;
    SEC_ASN1DecoderFinish(safeContentsCtx->currentSafeBagA1Dcx);
    safeContentsCtx->currentSafeBagA1Dcx = NULL;
    return;
Loading