blob: 5f01400ee50006e12e0c405b429d9c2a27a6101c [file]
Name: Network Security Services (NSS)
Short Name: nss
URL: http://www.mozilla.org/projects/security/pki/nss/
Version: 3.14.1 RC0
License: MPL 2
License File: mozilla/security/nss/COPYING
Security Critical: yes
Description:
NSS 3.14.1 RC0 with NSPR 4.9.5 Beta 2
This copy of NSS has been customized for Chromium. NSPR is also put here
rather than in a separate directory to emphasize the fact that Chromium is
using NSPR strictly as an NSS dependency.
We took a subset of NSS, omitting the SSL and SMIME libraries and the
built-in root CA certificates module. This NSS subset satisfies the
dependencies of the NSS SSL library in src/net/third_party/nss. Do NOT use
this copy of NSS on platforms that have NSS as system libraries, such as
Linux.
The source code was checked out from the mozilla.org CVS repository using
the nspr-checkout.sh and nss-checkout.sh scripts in the scripts directory.
The current source code was checked out with the CVS tags -r NSS_3_14_1_RC0
and -r NSPR_4_9_5_BETA2.
Local Modifications:
We made the following local changes to NSPR.
- patches/nspr-static.patch: to build NSPR as static libraries. See NSPR
bug 533014 (https://bugzilla.mozilla.org/show_bug.cgi?id=533014).
- patches/prcpucfg.h: added to the mozilla/nsprpub/pr/include directory.
- patches/nspr-attach-as-system-thread.patch: attach a "foreign" thread
(a thread not created by NSPR) to NSPR as a "system" thread rather than
a "user" thread, which needs to terminate before PR_Cleanup can return.
(The "system" vs. "user" thread distinction comes from Java, and
ultimately from Solaris threads.) This is a workaround for
http://crbug.com/40663.
- patches/nspr-remove-io.patch: Remove IO operations in NSPR to allow NSS
to work in the sandbox. Do not initialize IO when initializing NSPR.
Windows version of NSPR also tried to use getaddrinfo to resolve hostname
in a SSL connection. By removing _PR_HAVE_GETADDRINFO this will force it
to use PR_GetHostByName. Removing _PR_INET6_PROBE will prevent it from
creating an IPv6 socket to probe if IPv6 is there.
DO NOT upstream this patch.
We made the following local changes to NSS.
- patches/nss-static.patch: to build NSS as static libraries and omit
libpkix (the new certification path validation library) and
softoken/legacydb (support for the old Berkeley DB databases). See NSS
bug 534471 (https://bugzilla.mozilla.org/show_bug.cgi?id=534471).
- mozilla/security/nss/exports_win.def: The list of exports to use when
building nss as a dynamic library (crnss.dll).
- mozilla/security/nss/lib/ckfw/builtins/certdata.c: a generated file.
Do an upstream NSS build and copy the generated certdata.c.
- mozilla/security/nss/lib/freebl/build_config_mac.h: a header that defines
the target arch specific configuration macros for lib/freebl on iOS and
Mac OS X. This works around the lack of support for the xcode_settings
GCC_PREPROCESSOR_DEFINITIONS[arch=foo] by the ninja GYP generator
(http://crbug.com/122592).
- mozilla/security/nss/lib/freebl/mpi/mpi_arm_mac.c: a wrapper file for
mpi_arm.c for iOS and Mac OS X. This works around the inability to
specify target arch specific source files in Xcode.
- patches/nss-remove-fortezza.patch: remove Fortezza certificate support
from PK11_ImportPublicKey. See NSS bug 668397
(https://bugzilla.mozilla.org/show_bug.cgi?id=668397).
- patches/nss-curve-p256.patch: add an optimized 32-bit implementation of
the NIST P-256 elliptic curve. See NSS bug 831006
(https://bugzilla.mozilla.org/show_bug.cgi?id=831006).