Architecture specific change in rpms/geos.git
by githook-noreply@fedoraproject.org
The package rpms/geos.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/geos.git/commit/?id=83b3ce5f507c5....
Change:
+%ifarch armv7hl aarch64 s390x ppc64le
Thanks.
Full change:
============
commit 83b3ce5f507c5797a2815ec27d42daf2902eb8f0
Author: Sandro Mani <manisandro(a)gmail.com>
Date: Mon Mar 2 17:51:28 2020 +0100
Update to 3.8.0
diff --git a/.gitignore b/.gitignore
index ab70286..35dfb24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
/geos-3.7.1.tar.bz2
+/geos-3.8.0.tar.bz2
+/check_doxygen_errors.cmake
diff --git a/3fc652822ef3a825784919423d636c9584dbd2ba.patch b/3fc652822ef3a825784919423d636c9584dbd2ba.patch
new file mode 100644
index 0000000..a6ea662
--- /dev/null
+++ b/3fc652822ef3a825784919423d636c9584dbd2ba.patch
@@ -0,0 +1,41 @@
+diff -rupN --no-dereference geos-3.8.0/src/index/chain/MonotoneChainBuilder.cpp geos-3.8.0-new/src/index/chain/MonotoneChainBuilder.cpp
+--- geos-3.8.0/src/index/chain/MonotoneChainBuilder.cpp 2019-10-08 18:20:35.000000000 +0200
++++ geos-3.8.0-new/src/index/chain/MonotoneChainBuilder.cpp 2020-02-24 10:59:48.236555133 +0100
+@@ -96,29 +96,28 @@ MonotoneChainBuilder::findChainEnd(const
+ // (which is the starting quadrant)
+ int chainQuad = Quadrant::quadrant(pts[safeStart],
+ pts[safeStart + 1]);
+- std::size_t last = start + 1;
+
+- const Coordinate* prev = &pts[last-1]; // avoid repeated coordinate access by index (virtual call)
+- const Coordinate* curr = &pts[last];
++ const Coordinate* prev; // avoid repeated coordinate access by index (virtual call)
++ const Coordinate* curr = &pts[start];
++
++ for(size_t last = start + 1; last < npts; last++) {
++ prev = curr;
++ curr = &pts[last];
+
+- while(last < npts) {
+ // skip zero-length segments, but include them in the chain
+ if(!prev->equals2D(*curr)) {
+ // compute quadrant for next possible segment in chain
+ int quad = Quadrant::quadrant(*prev, *curr);
+ if(quad != chainQuad) {
+- break;
++ return last - 1;
+ }
+ }
+- ++last;
+- prev = curr;
+- curr = &pts[last];
+ }
+ #if GEOS_DEBUG
+ std::cerr << "MonotoneChainBuilder::findChainEnd() returning" << std::endl;
+ #endif
+
+- return last - 1;
++ return npts - 1;
+ }
+
+ } // namespace geos.index.chain
diff --git a/geos-gcc43.patch b/geos-gcc43.patch
deleted file mode 100644
index 0612e59..0000000
--- a/geos-gcc43.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- tests/unit/geos_unit.cpp.old 2019-02-04 17:16:13.102348321 +0000
-+++ tests/unit/geos_unit.cpp 2019-02-04 17:16:29.394366926 +0000
-@@ -12,6 +12,7 @@
- #include <tut/tut_reporter.hpp>
- // geos
- #include <geos/unload.h>
-+#include <stdlib.h>
- // std
- #include <cstdlib>
- #include <iomanip>
diff --git a/geos.spec b/geos.spec
index 56c53d4..e3dd66e 100644
--- a/geos.spec
+++ b/geos.spec
@@ -1,17 +1,28 @@
-Name: geos
-Version: 3.7.1
-Release: 3%{?dist}
-Summary: GEOS is a C++ port of the Java Topology Suite
+Name: geos
+Version: 3.8.0
+Release: 1%{?dist}
+Summary: GEOS is a C++ port of the Java Topology Suite
+
+License: LGPLv2
+URL: http://trac.osgeo.org/geos/
+Source0: http://download.osgeo.org/%{name}/%{name}-%{version}.tar.bz2
+# File missing in tarball
+Source1: https://git.osgeo.org/gitea/geos/geos/raw/branch/master/doc/check_doxygen...
+
+# Backport fix for out-of-bounds array access
+# https://github.com/libgeos/geos/commit/3fc652822ef3a825784919423d636c9584...
+Patch0: 3fc652822ef3a825784919423d636c9584dbd2ba.patch
+# Honour libsuffix
+Patch1: geos_libsuffix.patch
+# Fix borken geos-config returning -lgeos instead of -lgeos_c
+Patch2: geos_geosconfig.patch
+
+BuildRequires: cmake
+BuildRequires: doxygen
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: make
-License: LGPLv2
-URL: http://trac.osgeo.org/geos/
-Source0: http://download.osgeo.org/%{name}/%{name}-%{version}.tar.bz2
-Patch0: geos-gcc43.patch
-
-BuildRequires: gcc
-BuildRequires: gcc-c++
-BuildRequires: doxygen
-BuildRequires: libtool
%description
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology
@@ -20,9 +31,10 @@ JTS in C++. This includes all the OpenGIS "Simple Features for SQL" spatial
predicate functions and spatial operators, as well as specific JTS topology
functions such as IsValid()
+
%package devel
-Summary: Development files for GEOS
-Requires: %{name} = %{version}-%{release}
+Summary: Development files for GEOS
+Requires: %{name} = %{version}-%{release}
%description devel
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology
@@ -34,65 +46,56 @@ functions such as IsValid().
This package contains the development files to build applications that
use GEOS.
-%prep
-%setup -q
-%patch0 -p0 -b .gcc43
-
-%build
-
-# fix python path on 64bit
-sed -i -e 's|\/lib\/python|$libdir\/python|g' configure
-sed -i -e 's|.get_python_lib(0|.get_python_lib(1|g' configure
-sed -i -e 's|find \$i -name libpython|find \$i\/lib*\/ -name libpython|g' configure
-
-# isnan is in math.h, std::isnan is in cmath
-sed -i -e 's|= isnan(|= std::isnan(|g' configure
-sed -i -e 's|(isnan(|(std::isnan(|g' include/geos/platform.h.in
-# disable internal libtool to avoid hardcoded r-path
-for makefile in `find . -type f -name 'Makefile.in'`; do
-sed -i 's|@LIBTOOL@|%{_bindir}/libtool|g' $makefile
-done
-
-%configure --disable-static --disable-dependency-tracking --disable-python
+%prep
+%autosetup -p1
+cp -a %{SOURCE1} doc/check_doxygen_errors.cmake
-# Touch the file, since we are not using ruby bindings anymore:
-# Per http://lists.osgeo.org/pipermail/geos-devel/2009-May/004149.html
-touch swig/python/geos_wrap.cxx
-make %{?_smp_mflags}
+%build
+%cmake \
+%ifarch armv7hl aarch64 s390x
+ -DDISABLE_GEOS_INLINE=ON \
+%endif
+ -DBUILD_DOCUMENTATION=ON
+%make_build
-# Make doxygen documentation files
-cd doc
-make doxygen-html
%install
-%{__rm} -rf %{buildroot}
-make DESTDIR=%{buildroot} install
+%make_install
+make docs
+
%check
+%ifarch armv7hl aarch64 s390x ppc64le
+make test || :
+%else
+make test
+%endif
-# test module
-make %{?_smp_mflags} check || exit 0
%ldconfig_scriptlets
+
%files
-%doc AUTHORS COPYING NEWS README.md TODO
-%{_libdir}/libgeos-%{version}.so
+%doc AUTHORS NEWS README.md
+%license COPYING
+%{_libdir}/libgeos.so.%{version}
%{_libdir}/libgeos_c.so.1*
-%exclude %{_libdir}/*.a
%files devel
%doc doc/doxygen_docs
%{_bindir}/geos-config
-%{_includedir}/*
-%{_libdir}/libgeos.so
+%{_includedir}/geos/
+%{_includedir}/geos_c.h
%{_libdir}/libgeos_c.so
-%exclude %{_libdir}/*.la
-%exclude %{_libdir}/*.a
+%{_libdir}/cmake/GEOS/
+
%changelog
+* Thu Feb 20 2020 Sandro Mani <manisandro(a)gmail.com> - 3.8.0-1
+- Update to 3.8.0
+
* Tue Jan 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.7.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/geos_geosconfig.patch b/geos_geosconfig.patch
new file mode 100644
index 0000000..e2d16d4
--- /dev/null
+++ b/geos_geosconfig.patch
@@ -0,0 +1,12 @@
+diff -rupN --no-dereference geos-3.8.0/tools/geos-config.cmake geos-3.8.0-new/tools/geos-config.cmake
+--- geos-3.8.0/tools/geos-config.cmake 2020-02-24 10:59:48.382554848 +0100
++++ geos-3.8.0-new/tools/geos-config.cmake 2020-02-24 10:59:48.383554846 +0100
+@@ -59,7 +59,7 @@ case $1 in
+ echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos -lm
+ ;;
+ --ldflags)
+- echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos
++ echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos_c
+ ;;
+ --includes)
+ echo @CMAKE_INSTALL_PREFIX@/include
diff --git a/geos_libsuffix.patch b/geos_libsuffix.patch
new file mode 100644
index 0000000..8cea9fb
--- /dev/null
+++ b/geos_libsuffix.patch
@@ -0,0 +1,80 @@
+diff -rupN --no-dereference geos-3.8.0/CMakeLists.txt geos-3.8.0-new/CMakeLists.txt
+--- geos-3.8.0/CMakeLists.txt 2019-10-08 18:20:34.000000000 +0200
++++ geos-3.8.0-new/CMakeLists.txt 2020-02-24 10:59:48.306554996 +0100
+@@ -281,16 +281,16 @@ configure_file(cmake/geos-config.cmake
+
+ install(TARGETS geos geos_cxx_flags
+ EXPORT geos-targets
+- LIBRARY DESTINATION lib NAMELINK_SKIP
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION lib${LIB_SUFFIX} NAMELINK_SKIP
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+ INCLUDES DESTINATION include
+ )
+
+ install(TARGETS geos_c
+ EXPORT geos-targets
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+ INCLUDES DESTINATION include
+ )
+@@ -298,12 +298,12 @@ install(TARGETS geos_c
+ install(EXPORT geos-targets
+ FILE geos-targets.cmake
+ NAMESPACE GEOS::
+- DESTINATION lib/cmake/GEOS)
++ DESTINATION lib${LIB_SUFFIX}/cmake/GEOS)
+
+ install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/geos-config.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/geos-config-version.cmake"
+- DESTINATION lib/cmake/GEOS)
++ DESTINATION lib${LIB_SUFFIX}/cmake/GEOS)
+ install(DIRECTORY
+ "${CMAKE_CURRENT_LIST_DIR}/include/geos"
+ "${CMAKE_CURRENT_BINARY_DIR}/include/geos"
+diff -rupN --no-dereference geos-3.8.0/tools/geos-config.cmake geos-3.8.0-new/tools/geos-config.cmake
+--- geos-3.8.0/tools/geos-config.cmake 2019-10-08 18:20:35.000000000 +0200
++++ geos-3.8.0-new/tools/geos-config.cmake 2020-02-24 10:59:48.306554996 +0100
+@@ -2,7 +2,7 @@
+
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@/bin
+-libdir=@CMAKE_INSTALL_PREFIX@/lib
++libdir=@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@
+
+ usage()
+ {
+@@ -44,22 +44,22 @@ case $1 in
+ echo -I@CMAKE_INSTALL_PREFIX@/include
+ ;;
+ --libs)
+- echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos-@GEOS_VERSION_MAJOR@
++ echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos-@GEOS_VERSION_MAJOR@
+ ;;
+ --clibs)
+- echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos_c
++ echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos_c
+ ;;
+ --cclibs)
+- echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos
++ echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos
+ ;;
+ --static-clibs)
+- echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos_c -lgeos -lm
++ echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos_c -lgeos -lm
+ ;;
+ --static-cclibs)
+- echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos -lm
++ echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos -lm
+ ;;
+ --ldflags)
+- echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos
++ echo -L@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -lgeos
+ ;;
+ --includes)
+ echo @CMAKE_INSTALL_PREFIX@/include
diff --git a/geos_outofbounds.patch b/geos_outofbounds.patch
new file mode 100644
index 0000000..cdda83f
--- /dev/null
+++ b/geos_outofbounds.patch
@@ -0,0 +1,22 @@
+diff -rupN geos-3.8.0/src/index/chain/MonotoneChainBuilder.cpp geos-3.8.0-new/src/index/chain/MonotoneChainBuilder.cpp
+--- geos-3.8.0/src/index/chain/MonotoneChainBuilder.cpp 2019-10-08 18:20:35.000000000 +0200
++++ geos-3.8.0-new/src/index/chain/MonotoneChainBuilder.cpp 2020-02-20 13:52:22.737581232 +0100
+@@ -102,6 +102,7 @@ MonotoneChainBuilder::findChainEnd(const
+ const Coordinate* curr = &pts[last];
+
+ while(last < npts) {
++ curr = &pts[last];
+ // skip zero-length segments, but include them in the chain
+ if(!prev->equals2D(*curr)) {
+ // compute quadrant for next possible segment in chain
+@@ -110,9 +111,8 @@ MonotoneChainBuilder::findChainEnd(const
+ break;
+ }
+ }
+- ++last;
+ prev = curr;
+- curr = &pts[last];
++ ++last;
+ }
+ #if GEOS_DEBUG
+ std::cerr << "MonotoneChainBuilder::findChainEnd() returning" << std::endl;
diff --git a/sources b/sources
index 91e4466..d48b0ee 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
-SHA512 (geos-3.7.1.tar.bz2) = 01e8087bcd3cb8f873adb7b56910e1575ccb3336badfdd3f13bc6792095b7010e5ab109ea0d0cd3d1459e2e526e83bcf64d6ee3f7eb47be75639becdaacd2a87
+SHA512 (geos-3.8.0.tar.bz2) = c89b25b42092152ef261090f25ff64b229f30f67d42fdf44c2871e78b66bb2c42e23b9ae21f9aea0e48823bdb0267d609ab2ee77d310abcb76fa672c6614d8f1
+SHA512 (check_doxygen_errors.cmake) = 4764415b279cd7583f8ec2e0150ab2e87f12f7b9c6249ee03bf3a368c12f698c586a6b116ae892395b7d46d620f96d2a1ac6aa16ce4bbf4dc2cdedca9f12e07f
4 years
Architecture specific change in rpms/openvswitch-ovn-kubernetes.git
by githook-noreply@fedoraproject.org
The package rpms/openvswitch-ovn-kubernetes.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/openvswitch-ovn-kubernetes.git/co....
Change:
-ExcludeArch: ppc64
Thanks.
Full change:
============
commit 588fef1a86b2628d26ba840a9900a964794cf0ec
Author: Phil Cameron <pcameron(a)redhat.com>
Date: Mon Mar 2 09:58:59 2020 -0500
openvswitch-ovn-kubernetes
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index f055609..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/ovn-kubernetes-git09d595e.tar.gz
-/v0.1.0.tar.gz
diff --git a/README.md b/README.md
deleted file mode 100644
index d998efe..0000000
--- a/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# openvswitch-ovn-kubernetes
-
-The openvswitch-ovn-kubernetes package contains software needed to permit kubernetes to utilize OVN networking.
-
-The package source is in https://www.github.com/openvswitch/ovn-kubernetes
-
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..ffaa735
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+openvswitch-ovn-kubernetes
diff --git a/openvswitch-ovn-kubernetes.spec b/openvswitch-ovn-kubernetes.spec
deleted file mode 100644
index c50a8db..0000000
--- a/openvswitch-ovn-kubernetes.spec
+++ /dev/null
@@ -1,103 +0,0 @@
-%global project ovn-kubernetes
-%global repo %{project}
-%global debug_package %{nil}
-
-# some distros (e.g: RHEL-7) don't define _rundir macro yet
-# Fedora 15 onwards uses /run as _rundir
-%if 0%{!?_rundir:1}
-%define _rundir /run
-%endif
-
-# define the python package prefix based on distribution version so that we can
-# simultaneously support RHEL-based and later Fedora versions in this spec file.
-%if 0%{?fedora} >= 25
-%define _py2 python2
-%endif
-
-%if 0%{?rhel} || 0%{?fedora} < 25
-%define _py2 python
-%endif
-
-Name: openvswitch-%{project}
-Summary: Open Virtual Networking Kubernetes Wedge
-URL: https://www.github.com/openvswitch/ovn-kubernetes
-Version: 0.1.0
-Release: 8%{?dist}
-# golang not supported
-ExcludeArch: ppc64
-
-License: ASL 2.0
-Source0: https://github.com/openvswitch/ovn-kubernetes/archive/v%{version}.tar.gz
-
-BuildRequires: %{_py2}-devel
-%if 0%{?fedora} > 22 || %{with build_python3}
-BuildRequires: python3-devel
-%endif
-BuildRequires: golang
-
-%description
-This allows kubernetes to use Open Virtual Networking (OVN)
-
-%prep
-%setup -q -n %{repo}-%{version}
-
-%build
-cd go-controller && make
-strip _output/go/bin/ovnkube
-strip _output/go/bin/ovn-kube-util
-strip _output/go/bin/ovn-k8s-overlay
-strip _output/go/bin/ovn-k8s-cni-overlay
-
-%install
-install -d -m 0750 %{buildroot}%{_bindir}
-install -d -m 0750 %{buildroot}%{_libexecdir}/cni
-install -p -m 755 go-controller/_output/go/bin/ovnkube %{buildroot}%{_bindir}
-install -p -m 755 go-controller/_output/go/bin/ovn-kube-util %{buildroot}%{_bindir}
-install -p -m 755 go-controller/_output/go/bin/ovn-k8s-overlay %{buildroot}%{_bindir}
-install -p -m 755 go-controller/_output/go/bin/ovn-k8s-cni-overlay %{buildroot}%{_libexecdir}/cni
-install -d -m 0750 %{buildroot}/etc/openvswitch
-install -p -m 644 go-controller/etc/ovn_k8s.conf %{buildroot}/etc/openvswitch
-install -d -m 0750 %{buildroot}%{_mandir}/man1
-install -p -m 644 docs/ovnkube.1 %{buildroot}%{_mandir}/man1
-install -p -m 644 docs/ovn-kube-util.1 %{buildroot}%{_mandir}/man1
-install -p -m 644 docs/ovn-k8s-overlay.1 %{buildroot}%{_mandir}/man1
-
-%files
-%license COPYING
-%doc CONTRIBUTING.md README.md
-%doc docs/config.md docs/debugging.md docs/INSTALL.K8S.md docs/INSTALL.SSL.md docs/INSTALL.UBUNTU.md
-%{_mandir}/man1/ovnkube.1.*
-%{_mandir}/man1/ovn-kube-util.1.*
-%{_mandir}/man1/ovn-k8s-overlay.1.*
-%{_bindir}/ovnkube
-%{_bindir}/ovn-kube-util
-%{_bindir}/ovn-k8s-overlay
-%{_libexecdir}/cni/ovn-k8s-cni-overlay
-%config(noreplace) %{_sysconfdir}/openvswitch/ovn_k8s.conf
-
-%changelog
-* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.1.0-8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.1.0-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.1.0-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.1.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Tue Jun 19 2018 Miro Hronok <mhroncok(a)redhat.com> - 0.1.0-4
-- Rebuilt for Python 3.7
-
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.1.0-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Thu Jan 25 2018 Phil Cameron <pcameron(a)redhat.com> - 0.1.0-2
-- Changed from referencing a commit to referencing a release
- in the source repo.
-
-* Fri Jan 12 2018 Phil Cameron <pcameron(a)redhat.com> - 0.1.0-1
-- Initial package for Fedora
-
diff --git a/sources b/sources
deleted file mode 100644
index 875b1d3..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (v0.1.0.tar.gz) = 242ae1ef9915e0692def025601227a4455008e8bbc7d6e3457f17f91c47b6d788f76aad43810bd59f2ef7730b924bbfc7cb0f3ec83ecb94ac71888d4714050c3
4 years
Architecture specific change in rpms/php-pecl-redis5.git
by githook-noreply@fedoraproject.org
The package rpms/php-pecl-redis5.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/php-pecl-redis5.git/commit/?id=1e....
Change:
-%ifnarch ppc64
Thanks.
Full change:
============
commit 1e78c646ce84d305882081f2ab94f33bfafb5c08
Author: Remi Collet <remi(a)fedoraproject.org>
Date: Mon Mar 2 10:55:35 2020 +0100
enable msgpack on all arches
diff --git a/php-pecl-redis5.spec b/php-pecl-redis5.spec
index 78f21cd..089190c 100644
--- a/php-pecl-redis5.spec
+++ b/php-pecl-redis5.spec
@@ -38,9 +38,7 @@ BuildRequires: php-devel > 7
BuildRequires: php-pear
BuildRequires: php-json
BuildRequires: php-pecl-igbinary-devel
-%ifnarch ppc64
BuildRequires: php-pecl-msgpack-devel >= 2.0.3
-%endif
BuildRequires: liblzf-devel
BuildRequires: libzstd-devel >= 1.3.0
# to run Test suite
@@ -52,9 +50,7 @@ Requires: php(zend-abi) = %{php_zend_api}
Requires: php(api) = %{php_core_api}
Requires: php-json%{?_isa}
Requires: php-pecl(igbinary)%{?_isa}
-%ifnarch ppc64
Requires: php-pecl-msgpack%{?_isa}
-%endif
Obsoletes: php-%{pecl_name} < 3
Provides: php-%{pecl_name} = %{version}
@@ -161,9 +157,7 @@ cd NTS
--enable-redis \
--enable-redis-session \
--enable-redis-igbinary \
-%ifnarch ppc64
--enable-redis-msgpack \
-%endif
--enable-redis-lzf \
--with-liblzf \
--enable-redis-zstd \
@@ -178,9 +172,7 @@ cd ../ZTS
--enable-redis \
--enable-redis-session \
--enable-redis-igbinary \
-%ifnarch ppc64
--enable-redis-msgpack \
-%endif
--enable-redis-lzf \
--with-liblzf \
--enable-redis-zstd \
@@ -217,9 +209,7 @@ done
# simple module load test
DEPS="--no-php-ini --define extension=json.so"
DEPS="$DEPS --define extension=igbinary.so"
-%ifnarch ppc64
- DEPS="$DEPS --define extension=msgpack.so"
-%endif
+DEPS="$DEPS --define extension=msgpack.so"
%{__php} $DEPS \
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
commit 5ba300df563af6b373052836e2353312d3e7d3bd
Author: Remi Collet <remi(a)fedoraproject.org>
Date: Mon Mar 2 10:53:27 2020 +0100
v5.2.0
diff --git a/.gitignore b/.gitignore
index 7cd36e4..1f25a88 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/redis-5.0.2.tgz
/redis-5.1.0.tgz
/redis-5.1.1.tgz
+/redis-5.2.0.tgz
diff --git a/php-pecl-redis5.spec b/php-pecl-redis5.spec
index edbf5f8..78f21cd 100644
--- a/php-pecl-redis5.spec
+++ b/php-pecl-redis5.spec
@@ -3,7 +3,7 @@
#
# remirepo spec file for php-pecl-redis5
#
-# Copyright (c) 2012-2019 Remi Collet
+# Copyright (c) 2012-2020 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
@@ -22,16 +22,16 @@
%endif
# after 20-json, 40-igbinary and 40-msgpack
%global ini_name 50-%{pecl_name}.ini
-%global upstream_version 5.1.1
+%global upstream_version 5.2.0
#global upstream_prever RC2
Summary: Extension for communicating with the Redis key-value store
Name: php-pecl-redis5
Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}}
-Release: 2%{?dist}
-Source0: http://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_preve...
+Release: 1%{?dist}
+Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prev...
License: PHP
-URL: http://pecl.php.net/package/redis
+URL: https://pecl.php.net/package/redis
BuildRequires: gcc
BuildRequires: php-devel > 7
@@ -283,6 +283,9 @@ exit $ret
%changelog
+* Mon Mar 2 2020 Remi Collet <remi(a)remirepo.net> - 5.2.0-1
+- update to 5.2.0
+
* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/sources b/sources
index 4ab75d8..d0f8c8f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (redis-5.1.1.tgz) = eb6aa538d2ae4115634fd5841e3ccccf788cad13b99e0485fb2af43def85e93328012e5cef66d1be4bdd494be6f68de329a066e41b710e434f94f3ed3401bfee
+SHA512 (redis-5.2.0.tgz) = cb0d64b1e080186a10f2eab8c64b6da3be49bd1fa508021083b597b9375606db40270096b8c9f37c510328a691f2e0b8b149b0f026a6abaa125bcde92a6e1d46
4 years
Architecture specific change in rpms/php-pecl-redis5.git
by githook-noreply@fedoraproject.org
The package rpms/php-pecl-redis5.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/php-pecl-redis5.git/commit/?id=1e....
Change:
-%ifnarch ppc64
Thanks.
Full change:
============
commit 1e78c646ce84d305882081f2ab94f33bfafb5c08
Author: Remi Collet <remi(a)fedoraproject.org>
Date: Mon Mar 2 10:55:35 2020 +0100
enable msgpack on all arches
diff --git a/php-pecl-redis5.spec b/php-pecl-redis5.spec
index 78f21cd..089190c 100644
--- a/php-pecl-redis5.spec
+++ b/php-pecl-redis5.spec
@@ -38,9 +38,7 @@ BuildRequires: php-devel > 7
BuildRequires: php-pear
BuildRequires: php-json
BuildRequires: php-pecl-igbinary-devel
-%ifnarch ppc64
BuildRequires: php-pecl-msgpack-devel >= 2.0.3
-%endif
BuildRequires: liblzf-devel
BuildRequires: libzstd-devel >= 1.3.0
# to run Test suite
@@ -52,9 +50,7 @@ Requires: php(zend-abi) = %{php_zend_api}
Requires: php(api) = %{php_core_api}
Requires: php-json%{?_isa}
Requires: php-pecl(igbinary)%{?_isa}
-%ifnarch ppc64
Requires: php-pecl-msgpack%{?_isa}
-%endif
Obsoletes: php-%{pecl_name} < 3
Provides: php-%{pecl_name} = %{version}
@@ -161,9 +157,7 @@ cd NTS
--enable-redis \
--enable-redis-session \
--enable-redis-igbinary \
-%ifnarch ppc64
--enable-redis-msgpack \
-%endif
--enable-redis-lzf \
--with-liblzf \
--enable-redis-zstd \
@@ -178,9 +172,7 @@ cd ../ZTS
--enable-redis \
--enable-redis-session \
--enable-redis-igbinary \
-%ifnarch ppc64
--enable-redis-msgpack \
-%endif
--enable-redis-lzf \
--with-liblzf \
--enable-redis-zstd \
@@ -217,9 +209,7 @@ done
# simple module load test
DEPS="--no-php-ini --define extension=json.so"
DEPS="$DEPS --define extension=igbinary.so"
-%ifnarch ppc64
- DEPS="$DEPS --define extension=msgpack.so"
-%endif
+DEPS="$DEPS --define extension=msgpack.so"
%{__php} $DEPS \
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
4 years
[Report] Packages Restricting Arches
by root
Package that edited their arches constraints (1)
=============================================
- seamonkey
was ExclusiveArch: %{ix86} x86_64
is ExclusiveArch: x86_64
List of packages currently excluding arches (2752)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: x86_64 %{ix86} %{arm}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- banshee
ExclusiveArch: %{mono_arches}
- banshee-community-extensions
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 %{arm} sparcv9 alpha s390x
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- boo
ExclusiveArch: %{mono_arches}
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- bwa
ExclusiveArch: x86_64
- calamares
ExclusiveArch: %{ix86} x86_64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- carto
ExclusiveArch: %{nodejs_arches} noarch
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- containers
ExclusiveArch: %{ldc_arches}
- cpu-x
ExclusiveArch: i686 x86_64
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- cryptlib
ExclusiveArch: x86_64 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64 ppc64le
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- discord-irc
ExclusiveArch: %{nodejs_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- docco
ExclusiveArch: %{nodejs_arches} noarch
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 armv7l aarch64
- dotnet-build-reference-packages
ExclusiveArch: x86_64
- dotnet3.1
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- edac-utils
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- edb
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elasticdump
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- embree
ExclusiveArch: x86_64
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fes
ExclusiveArch: %{ix86} x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluxcapacitor
ExclusiveArch: %{ix86} x86_64 %{arm}
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fst
ExclusiveArch: i686
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x %{power64}
- ga
ExclusiveArch: %{ix86} x86_64
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gela-asis
ExclusiveArch: %GPRbuild_arches
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-guitar
ExclusiveArch: %{mono_arches}
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- go-compilers
ExclusiveArch: %{go_arches}
- go-rpm-macros
ExclusiveArch: %{golang_arches} %{gccgo_arches}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{nodejs_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- hcc
ExclusiveArch: x86_64 aarch64
- hedgewars
ExclusiveArch: %{fpc_arches}
- heketi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- hip
ExclusiveArch: x86_64
- hsakmt
ExclusiveArch: x86_64 aarch64
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- ikona
ExclusiveArch: %{qt5_qtwebengine_arches}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- insect
ExclusiveArch: %{nodejs_arches} noarch
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: %{arm} %{ix86} x86_64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- jake
ExclusiveArch: %{nodejs_arches} noarch
- jasmine-node
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- josm
ExclusiveArch: %{ix86} x86_64
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- kf5-akonadi-calendar
ExclusiveArch: x86_64 %{arm}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kmailtransport
ExclusiveArch: x86_64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-libgravatar
ExclusiveArch: x86_64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-libkdepim
ExclusiveArch: x86_64 %{arm}
- kf5-libksieve
ExclusiveArch: x86_64 %{arm}
- kf5-mailimporter
ExclusiveArch: x86_64 %{arm}
- kf5-pimcommon
ExclusiveArch: x86_64 %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kosmtik
ExclusiveArch: %{nodejs_arches} noarch
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- lazarus
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 %{arm}
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lightdm
ExclusiveArch: x86_64 ppc64le
- lodash
ExclusiveArch: %{nodejs_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 s390x ppc64le
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mantle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} %{ix86} x86_64
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mnemosyne
ExclusiveArch: noarch %{qt5_qtwebengine_arches}
- mocha
ExclusiveArch: %{nodejs_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monobristol
ExclusiveArch: %{mono_arches}
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mozilla-iot-gateway
ExclusiveArch: %{nodejs_arches} noarch
- mozilla-iot-gateway-addon-node
ExclusiveArch: %{nodejs_arches} noarch
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nacl-binutils
ExclusiveArch: x86_64
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nim
ExclusiveArch: %{nim_arches}
- node-gyp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-Base64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-abbrev
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-dynamic-import
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn-jsx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-agentkeepalive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ain2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-align-text
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgcyan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bggreen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgmagenta
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgwhite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgyellow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-black
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-blue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bold
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-cyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-dim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-escapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-gray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-green
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-grey
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-hidden
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-inverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-italic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-magenta
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-red
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-reset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-strikethrough
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-styles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-underline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-white
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-wrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-yellow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansicolors
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansistyles
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-field
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-archy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-are-we-there-yet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-argparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-argsparser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-union
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-buffer-from-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-differ
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-find
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-find-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-foreach
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-ify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-union
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-unique
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arraybuffer-dot-slice
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arraybuffer-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arrify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ascii-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ascli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-asn1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assert-plus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assertion-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assume
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-async-arrays
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-limiter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-queue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-some
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asynckit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-atob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-auto-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-autoresolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-code-frame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-functions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-generators
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-runtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-babylon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backoff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-balanced-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-plugins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base32-encode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-arraybuffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64id
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-batch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bcrypt
ExclusiveArch: %{nodejs_arches}
- nodejs-bcryptjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-beeper
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-benchmark
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-than-before
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bignumber-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bind-obj-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bindings
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bit-mask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-blob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-block-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bluebird
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-body-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boolbase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-brace-expansion
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-braces
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-browser-stdout
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buf-compare
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-crc32
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bufferutil
ExclusiveArch: %{nodejs_arches}
- nodejs-builtin-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-builtins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bundle-dependencies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-burrito
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-busboy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-byline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cache-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caching-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-call-delayed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-matcher
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-me-maybe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-callback-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsites
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-carrier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caseless
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-center-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-as-promised
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-connect-middleware
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-json-schema
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-oauth2orize-grant
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-spies-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chainer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chalk
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-char-spinner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-character-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-chardet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-charenc
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-charm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-check-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-check-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-child-process-close
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chmodr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chownr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chroma-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chrono
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ci-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-circular-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cjson
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-class-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clean-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clean-yaml-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clear-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-spinner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cliui
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-stats
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-closure-compiler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-co-with-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-code-point-at
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-coffee-coverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-collection-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-collections
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-color-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colour
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-columnify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-combined-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commander
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-common-path-prefix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commondir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-commonmark
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compare-func
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compare-versions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-inherit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-map
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-config-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-livereload
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-dot-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-group
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-consolemd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constantinople
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-disposition
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-angular
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-atom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-ember
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-eslint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-express
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jquery
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jscs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-preset-loader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-filter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-hex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-jar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookiejar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-copy-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-core-assert
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-util-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-couch-login
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coveralls
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-crc
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn-async
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crypt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cryptiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csrf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-select
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-what
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csscomb-core
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cssom
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csurf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-generate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-spectrum
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ctype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-currently-unhandled
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cycle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cyclist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-d
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dargs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-data-uri-to-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dateformat
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-death
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-debug-fabulous
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debuglog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-decamelize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decamelize-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decimal-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dedent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-eql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deep-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-default-require-extensions
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-default-resolution
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defaults
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defence
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defence-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-define-properties
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defined
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-del
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delayed-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delegates
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delete
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dep-graph
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-depd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deprecated
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-newline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detective
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dezalgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dicer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dirty-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-discord-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-docopt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-doctrine
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-prop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dotfile-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dryice
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duration
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ebnf-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-echomd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-editor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ee-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-emojione
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-empty-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-end-of-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-client
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-ex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-abstract
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-to-primitive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es5-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es5-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-iterator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-promisify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escallmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-html
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-regexp-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escape-string-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escodegen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escope
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower-location-detector
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-fb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-harmony-jscs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espurify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esrecurse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse-fb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estree-walker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-event-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eventemitter2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-events-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-everything-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-exit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-brackets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-tilde
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extend-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extended-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eyes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fake
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fancy-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fast-levenshtein
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fastfall
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-faucet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-faye-websocket
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-figures
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-file-entry-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-sync-cmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-filelist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-filename-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fileset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fill-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fill-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-cache-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-findup-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-first-chunk-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flagged-respawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flat-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flush-write-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fmix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-dot-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-in
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-for-own
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-foreach
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-foreground-child
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forever-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-form-data
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-formatio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-formidable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forwarded
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fragment-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-freetree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fresh
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-dot-notify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-cached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fs-ext
ExclusiveArch: %{nodejs_arches}
- nodejs-fs-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-temp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-vacuum
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-write-stream-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-ignore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-npm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-loop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gauge
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gaze
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gdal
ExclusiveArch: %{nodejs_arches}
- nodejs-generate-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generate-object-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-port
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-getobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-git-remote-origin-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-tails
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gitconfiglocal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-username-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob-base
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-expand
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-parent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-global-modules
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-global-prefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globby
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globule
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glogg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gnode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gonzales-pe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-graceful-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-graceful-readlink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-growl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-banner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-cli
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-compare-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-clean
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-concat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-internal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-nodeunit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-uglify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-watch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-git-authors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-init
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-known-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-lib-contrib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-sed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-simple-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gzip-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-handlebars
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-har-validator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-flag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-unicode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hash_file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hawk
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-heap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hex-to-array-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-highlight-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-historic-readline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hoek
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-homedir-polyfill
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hook-std
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hooker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hosted-git-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hsluv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-htmlparser2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-deceiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-errors
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-http-signature
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-humanize-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-i18n-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i2c
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv-lite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-iferr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ignore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-image-size
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-immutable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-import-local
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imul
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imurmurhash
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-indent-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inflight
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-info-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-inherits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherits1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ini
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-int64-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-intercept-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-interpret
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-invert-kv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ip
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ipaddr-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-irc-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-formatting
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-upd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irregular-plurals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-accessor-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrayish
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-boolean-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-builtin-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-callable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-data-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-date-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-dotfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-equal-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-extendable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-finite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-fullwidth-code-point
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-generator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-my-json-valid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-negated-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-number
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-number-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-odd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-path-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-in-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-inside
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-plain-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-plain-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-primitive
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-registered
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-relative
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-subset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-text-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-typedarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-unc-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-valid-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-valid-instance
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-windows
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-isexe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-iso8601
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isodate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-coverage
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-hook
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-report
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-source-maps
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-reports
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jade
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-growl-reporter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-reporters
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jest-mock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison-lex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joose
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-namespace-depended
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-simplerequest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-base64
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-string-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-js-tokens
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-yaml
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jschardet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jscoverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-localizer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-parse-helpfulerror
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stable-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stringify-safe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer-dot-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonselect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jwt-simple
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keep-alive-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-keygrip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keypress
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-kind-of
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-klaw
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-kuler2gpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lazy-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazystream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lcid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lcov-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-leaflet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-formbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-hash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leche
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-left-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less-plugin-clean-css
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-levn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-libpq
ExclusiveArch: %{nodejs_arches}
- nodejs-libxmljs
ExclusiveArch: %{nodejs_arches}
- nodejs-line-numbers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-line-reader
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linkify-it
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-grunt-tasks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-locate-character
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lockfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-log-driver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-ok
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lolex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-long
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-longest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loophole
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loud-rejection
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lru-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ltx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-magic-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-make-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-generator-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makeerror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik
ExclusiveArch: %{nodejs_arches}
- nodejs-mapnik-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik-vector-tile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-markdown
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-markdown-it-testgen
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-matched
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-max-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-maxmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mbtiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-md5
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-hex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-o-matic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mdn-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mdurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-media-typer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoizee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-merge-descriptors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-metascript
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-micromatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-millstone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mime-db
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mimeparse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimalistic-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minipass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-bin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-modify-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-module-not-found-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb-core
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-monocle
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-morgan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-muffin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multimatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiparty
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multipipe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-murmur-32
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mustache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mutate-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mute-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mysql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mz
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nan0
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomsg
ExclusiveArch: %{nodejs_arches}
- nodejs-nanoseconds
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ncp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-needle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-negative-zero
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-net-browserify-alt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-netmask
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-next-tick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-expat
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-node-int64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-static
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-stringprep
ExclusiveArch: %{nodejs_arches}
- nodejs-node-uuid
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nomnom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-noncharacters
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt-usage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-noptify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-normalize-git-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-cache-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-install-checks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-package-arg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-run-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-user-validate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npmlog
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nth-check
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-number-is-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-numeral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth2orize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-entries
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-omit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-pick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-observable-to-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-obuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-okay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-finished
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-headers
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-once
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-only-shallow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opal-runtime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opener
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optionator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opts
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-orchestrator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ordered-read-streams
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-os-homedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-locale
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-tmpdir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-osenv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-output-file-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-own-or
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-own-or-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-finally
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-locate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-try
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-package
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packet-reader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pad-left
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-paperboy
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parallel-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-github-repo-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parse-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-passwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parsejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseqs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseuri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pascalcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-http-bearer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2-client-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-array
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-dirname
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-exists
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-inside
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-key
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-parse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pathval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pause
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pbkdf2-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pedding
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-connection-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-cursor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-int8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-native
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-numeric
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-packet-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pgpass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkg-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkginfo
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-platform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-plur
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-posix-character-classes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-bytea
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-date
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-interval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-precond
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prelude-ls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-preserve
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-hrtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pretty-time
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prism-media
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-process-nextick-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proclaim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promises-aplus-tests
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prompt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promzard
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-propagate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-propget
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proto-list
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy-addr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-proxyquire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pruddy-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pseudomap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pubcontrol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pumpify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-q
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-q-io
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qtdatastream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-queue-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-quick-lru
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qunit-extras
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rainbowsocks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-random-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-random-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-randomatic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-range-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-raw-body
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-re-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-all-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-json-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readable-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-readdir-enhanced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdir-scoped-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-realize-package-specifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rechoir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-redent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reduce-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-not
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-remove-trailing-separator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repeat-element
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeat-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeating
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-request
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-cs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-require-directory
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-inject
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-main-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-relative
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-uncached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-yaml
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-requirejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-cwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-pkg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-response-time
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resumer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ret
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-retry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reusify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-revalidator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rewire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rhea
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-right-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rimraf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rndm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup-plugin-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-commonjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-node-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-pluginutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ronn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-runforcover
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safe-json-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safecb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-samsam
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sax
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-secure-random
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-seedrandom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-select-hose
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-semver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sentiment
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sequencify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serialize-error
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-server-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-blocking
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-getter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-set-immediate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-immediate-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-setimmediate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-setprototypeof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sha
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shallow-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-command
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs-nodecli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-format
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-http
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-showdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sigmund
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-signal-exit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-asyncify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-fmt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-single-line-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon-chai
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sinon-restore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slash
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sliced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slide
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-snapdragon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture-set
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snekfetch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snockets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sntp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socket-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sorted-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-fixtures
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sparkles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-spawn-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spawn-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-exceptions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-license-ids
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-speedometer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sqlite3
ExclusiveArch: %{nodejs_arches}
- nodejs-srs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ssri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-trace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-utils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-static-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-static-favicon
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-statuses
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-combiner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-consume
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-counter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-pair
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-replace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-shift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-spigot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-streamsearch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamtest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-repeat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-trim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string-width
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string_decoder
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringmap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-ansi
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-bom-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-color
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-eof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-json-comments
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strong-log-transformer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-success-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-superagent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-supertest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supports-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-suspend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-symbol-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-mocha-reporter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-out
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-spec
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-pack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp-write
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tempfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temporary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-cordovajs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-liferay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-terst
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testdata-w3c-json-form
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testswarm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testutil
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-extensions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-thenify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thenify-all
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-through2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through2-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thunkify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tildify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tilelive-mapnik
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tiletype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-diff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-stamp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-timekeeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-timers-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tiny-lr-fork
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tippex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tlds
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-absolute-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-object-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-regex-range
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-toidentifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-touch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tough-cookie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tracejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-transformers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-traverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-treeify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tressa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-trim-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim-off-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trivial-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-try-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-try-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tryor
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tsame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tslib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tsscmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tunnel-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tv4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-check
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-type-detect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-name
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-typeahead.js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uc-dot-micro
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uglify-to-browserify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid-number
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uid-safe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ultron
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-umask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unc-path-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore-dot-logger
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unicode-length
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-union-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unique-filename
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-slug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unpipe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unset-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uri-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-urix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-url2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-use
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-user-home
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-deprecate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utilities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utils-merge
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uuid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vali-date
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-validate-npm-package-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vasync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vhost
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vlq
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vow-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vows
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-walkdir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-walker
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ware
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-warning-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-watchit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-watershed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wbuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wcwidth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-websocket-driver
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-when
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-whet-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-which
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-win-spawn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-window-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-winston
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-with
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wolfy87-eventemitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-woothee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wordwrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrap-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wrap-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrappy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-write-file-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ws
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xdg-basedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xml2js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest-ssl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xtend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-y18n
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yallist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yapool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yargs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yargs-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yeast
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zeropad
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zipfile
ExclusiveArch: %{nodejs_arches}
- nodejs-zlib-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zlibjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodeunit
ExclusiveArch: %{nodejs_arches} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: x86_64 %{ix86}
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- ocitools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onedrive
ExclusiveArch: %{ldc_arches}
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: %{ix86} x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openssl-ibmca
ExclusiveArch: s390 s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- oshinko-cli
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- paflib
ExclusiveArch: ppc %{power64}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdfmod
ExclusiveArch: %mono_arches
- peripety
ExclusiveArch: %{rust_arches}
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: i686 x86_64 ia64 aarch64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- pocl
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- publican-jboss
ExclusiveArch: i686 x86_64
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-javabridge
ExclusiveArch: i686 x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- reactfx
ExclusiveArch: %{ix86} x86_64 noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- reg
ExclusiveArch: x86_64
- renderdoc
ExclusiveArch: %{ix86} x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rocminfo
ExclusiveArch: x86_64 aarch64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-connect
ExclusiveArch: %{rust_arches}
- rust-actix-files
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-server-config
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-testing
ExclusiveArch: %{rust_arches}
- rust-actix-threadpool
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-utils
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aes
ExclusiveArch: %{rust_arches}
- rust-aes-soft
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-alphanumeric-sort
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-anyhow
ExclusiveArch: %{rust_arches}
- rust-aom-sys
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arbitrary
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-array-init
ExclusiveArch: %{rust_arches}
- rust-arraydeque
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomicwrites
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-base64-0.10
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-battery
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-better-panic
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitmaps
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-blake2
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-cipher-trait
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-brotli-sys
ExclusiveArch: %{rust_arches}
- rust-brotli2
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-buf_redux
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-byte-unit
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-bytemuck
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bytestring
ExclusiveArch: %{rust_arches}
- rust-c2-chacha
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-caps
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-bloat
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chbs
ExclusiveArch: %{rust_arches}
- rust-checked_int_cast
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-chunked_transfer
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copyless
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.3
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.1
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.6
ExclusiveArch: %{rust_arches}
- rust-crossterm
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-darling
ExclusiveArch: %{rust_arches}
- rust-darling_core
ExclusiveArch: %{rust_arches}
- rust-darling_macro
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus0.2
ExclusiveArch: %{rust_arches}
- rust-dbus0.6
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-digest
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dissimilar
ExclusiveArch: %{rust_arches}
- rust-dns-parser
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elasticlunr-rs
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-envsubst
ExclusiveArch: %{rust_arches}
- rust-erased-serde
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fedora-coreos-pinger
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-channel
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor
ExclusiveArch: %{rust_arches}
- rust-futures-io
ExclusiveArch: %{rust_arches}
- rust-futures-macro
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-task
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gcsf
ExclusiveArch: %{rust_arches}
- rust-gdk
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf-sys
ExclusiveArch: %{rust_arches}
- rust-gdk-sys
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gio
ExclusiveArch: %{rust_arches}
- rust-gio-sys
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-groupable
ExclusiveArch: %{rust_arches}
- rust-gspell
ExclusiveArch: %{rust_arches}
- rust-gspell-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.5
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-headers-derive
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-html5ever
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-staticfile
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnet
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-iron
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-jetscii
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jql
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-jwalk
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-letter-avatar
ExclusiveArch: %{rust_arches}
- rust-lexical-core
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-lockfree
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maxminddb
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide_c_api
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-muldiv
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-multipart
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nalgebra
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nickel
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-oorandom
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-open
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-owned-alloc
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-pango
ExclusiveArch: %{rust_arches}
- rust-pango-sys
ExclusiveArch: %{rust_arches}
- rust-pangocairo
ExclusiveArch: %{rust_arches}
- rust-pangocairo-sys
ExclusiveArch: %{rust_arches}
- rust-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-partial-io
ExclusiveArch: %{rust_arches}
- rust-paste
ExclusiveArch: %{rust_arches}
- rust-paste-impl
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pbr
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.7
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_codegen0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.7
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.7
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.7
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plugin
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-ppv-lite86
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates-core
ExclusiveArch: %{rust_arches}
- rust-predicates-tree
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro-nested
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-process_path
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest-derive
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-quoted_printable
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-restson
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rust-stemmers
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_normal_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_sys
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustio
ExclusiveArch: %{rust_arches}
- rust-rustversion
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-sass-rs
ExclusiveArch: %{rust_arches}
- rust-sass-sys
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_repr
ExclusiveArch: %{rust_arches}
- rust-serde_stacker
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-sha-1
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slice-deque
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slotmap
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smallvec0.6
ExclusiveArch: %{rust_arches}
- rust-smart-default
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-starship
ExclusiveArch: %{rust_arches}
- rust-starship_module_config_derive
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-stream-cipher
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn-mid
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysinfo
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target-lexicon
ExclusiveArch: %{rust_arches}
- rust-teloxide
ExclusiveArch: %{rust_arches}
- rust-teloxide-macros
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-thiserror
ExclusiveArch: %{rust_arches}
- rust-thiserror-impl
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-async-await
ExclusiveArch: %{rust_arches}
- rust-tokio-buf
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-io-pool
ExclusiveArch: %{rust_arches}
- rust-tokio-macros
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-mockstream
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-process
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-service
ExclusiveArch: %{rust_arches}
- rust-tokio-signal
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-tls0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-trace-core
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-try_from
ExclusiveArch: %{rust_arches}
- rust-try_or
ExclusiveArch: %{rust_arches}
- rust-trybuild
ExclusiveArch: %{rust_arches}
- rust-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typemap
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-category
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-unindent
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uom
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlshortener
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-uuid0.6
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-v_escape
ExclusiveArch: %{rust_arches}
- rust-v_escape_derive
ExclusiveArch: %{rust_arches}
- rust-v_htmlescape
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-version-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-websocket-base
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-which1
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-ws
ExclusiveArch: %{rust_arches}
- rust-x11
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xml5ever
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- sagemath
ExclusiveArch: aarch64 %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seamonkey
ExclusiveArch: x86_64
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- source-to-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- springlobby
ExclusiveArch: %{ix86} x86_64
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supermin
ExclusiveArch: x86_64
- svt-av1
ExclusiveArch: x86_64
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64 armv7hl armv7hnl
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- termy-qt
ExclusiveArch: %{ix86} x86_64
- ternimal
ExclusiveArch: %{rust_arches}
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- toolbox
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- ursa-major
ExclusiveArch: %{ix86} x86_64 noarch
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vapoursynth
ExclusiveArch: %{ix86} x86_64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virt-p2v
ExclusiveArch: x86_64
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vmem
ExclusiveArch: x86_64
- vmemcache
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- webkit2-sharp
ExclusiveArch: %mono_arches
- wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- ycssmin
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zola
ExclusiveArch: %{rust_arches}
4 years
Architecture specific change in rpms/seamonkey.git
by githook-noreply@fedoraproject.org
The package rpms/seamonkey.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/seamonkey.git/commit/?id=ba13db23....
Change:
-%ifnarch %{ix86} x86_64
Thanks.
Full change:
============
commit ba13db235b9c67e92bd67c0b0d793205a47e0bcb
Author: Dmitry Butskoy <dmitry(a)butskoy.name>
Date: Mon Mar 2 04:16:31 2020 +0300
Upgrade to 2.53.1
diff --git a/firefox-33-rhbz-966424.patch b/firefox-33-rhbz-966424.patch
deleted file mode 100644
index 7579d09..0000000
--- a/firefox-33-rhbz-966424.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm
---- firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 2014-10-14 08:12:14.358697255 +0200
-+++ firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm 2014-10-14 08:17:59.962181908 +0200
-@@ -174,7 +174,9 @@ this.checkCert =
- }
-
- function isBuiltinToken(tokenName) {
-- return tokenName == "Builtin Object Token";
-+ return tokenName == "Builtin Object Token" ||
-+ tokenName == "Default Trust" ||
-+ tokenName == "System Trust";
- }
-
- /**
diff --git a/firefox-48-jemalloc-ppc.patch b/firefox-48-jemalloc-ppc.patch
deleted file mode 100644
index b2aaae6..0000000
--- a/firefox-48-jemalloc-ppc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc firefox-48.0/memory/mozjemalloc/jemalloc.c
---- firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2016-07-26 10:51:46.385434384 +0200
-+++ firefox-48.0/memory/mozjemalloc/jemalloc.c 2016-07-26 10:53:49.061023106 +0200
-@@ -1090,7 +1090,7 @@ static const bool config_recycle = false
- * controlling the malloc behavior are defined as compile-time constants
- * for best performance and cannot be altered at runtime.
- */
--#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
-+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !(defined(__powerpc__))
- #define MALLOC_STATIC_SIZES 1
- #endif
-
diff --git a/firefox-50-mozilla-440908.patch b/firefox-50-mozilla-440908.patch
deleted file mode 100644
index 2d4a609..0000000
--- a/firefox-50-mozilla-440908.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff -up firefox-50.0/modules/libpref/prefapi.cpp.440908 firefox-50.0/modules/libpref/prefapi.cpp
---- firefox-50.0/modules/libpref/prefapi.cpp.440908 2016-10-31 21:15:26.000000000 +0100
-+++ firefox-50.0/modules/libpref/prefapi.cpp 2016-11-10 10:32:48.796115692 +0100
-@@ -997,8 +997,8 @@ void PREF_ReaderCallback(void *clo
- PrefValue value,
- PrefType type,
- bool isDefault,
-- bool isStickyDefault)
--
-+ bool isStickyDefault,
-+ bool isLocked)
- {
- uint32_t flags = 0;
- if (isDefault) {
-@@ -1010,4 +1010,6 @@ void PREF_ReaderCallback(void *clo
- flags |= kPrefForceSet;
- }
- pref_HashPref(pref, value, type, flags);
-+ if (isLocked)
-+ PREF_LockPref(pref, true);
- }
-diff -up firefox-50.0/modules/libpref/prefapi.h.440908 firefox-50.0/modules/libpref/prefapi.h
---- firefox-50.0/modules/libpref/prefapi.h.440908 2016-11-10 10:32:48.796115692 +0100
-+++ firefox-50.0/modules/libpref/prefapi.h 2016-11-10 10:34:58.013159112 +0100
-@@ -243,8 +243,8 @@ void PREF_ReaderCallback( void *closure,
- PrefValue value,
- PrefType type,
- bool isDefault,
-- bool isStickyDefault);
--
-+ bool isStickyDefault,
-+ bool isLocked);
-
- /*
- * Callback whenever we change a preference
-diff -up firefox-50.0/modules/libpref/prefread.cpp.440908 firefox-50.0/modules/libpref/prefread.cpp
---- firefox-50.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
-+++ firefox-50.0/modules/libpref/prefread.cpp 2016-11-10 10:32:48.796115692 +0100
-@@ -43,6 +43,7 @@ enum {
- #define BITS_PER_HEX_DIGIT 4
-
- static const char kUserPref[] = "user_pref";
-+static const char kLockPref[] = "lockPref";
- static const char kPref[] = "pref";
- static const char kPrefSticky[] = "sticky_pref";
- static const char kTrue[] = "true";
-@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
- break;
- }
- (*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
-- ps->fstickydefault);
-+ ps->fstickydefault, ps->flock);
- return true;
- }
-
-@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
- ps->vtype = PrefType::Invalid;
- ps->fdefault = false;
- ps->fstickydefault = false;
-+ ps->flock = false;
- }
- switch (c) {
- case '/': /* begin comment block or line? */
-@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
- break;
- case 'u': /* indicating user_pref */
- case 's': /* indicating sticky_pref */
-+ case 'l': /* indicating lockPref */
- case 'p': /* indicating pref */
- if (c == 'u') {
- ps->smatch = kUserPref;
- } else if (c == 's') {
- ps->smatch = kPrefSticky;
-+ } else if (c == 'l') {
-+ ps->smatch = kLockPref;
- } else {
- ps->smatch = kPref;
- }
-@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
- /* name parsing */
- case PREF_PARSE_UNTIL_NAME:
- if (c == '\"' || c == '\'') {
-- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
-+ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
-+ || ps->smatch == kLockPref);
- ps->fstickydefault = (ps->smatch == kPrefSticky);
-+ ps->flock = (ps->smatch == kLockPref);
- ps->quotechar = c;
- ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
- state = PREF_PARSE_QUOTED_STRING;
-diff -up firefox-50.0/modules/libpref/prefread.h.440908 firefox-50.0/modules/libpref/prefread.h
---- firefox-50.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
-+++ firefox-50.0/modules/libpref/prefread.h 2016-11-10 10:32:48.796115692 +0100
-@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
- PrefValue val,
- PrefType type,
- bool defPref,
-- bool stickyPref);
-+ bool stickyPref,
-+ bool lockPref);
-
- /**
- * Report any errors or warnings we encounter during parsing.
-@@ -62,6 +63,7 @@ typedef struct PrefParseState {
- PrefType vtype; /* PREF_STRING,INT,BOOL */
- bool fdefault; /* true if (default) pref */
- bool fstickydefault; /* true if (sticky) pref */
-+ bool flock; /* true if pref to be locked */
- } PrefParseState;
-
- /**
-@@ -90,7 +92,7 @@ void PREF_InitParseState(PrefParseState
- *
- * @param ps
- * PrefParseState instance.
-- */
-+ */
- void PREF_FinalizeParseState(PrefParseState *ps);
-
- /**
diff --git a/firefox-51-mozilla-1324096.patch b/firefox-51-mozilla-1324096.patch
deleted file mode 100644
index 4a2691e..0000000
--- a/firefox-51-mozilla-1324096.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/security/certverifier/CertVerifier.cpp b/security/certverifier/CertVerifier.cpp
---- a/security/certverifier/CertVerifier.cpp
-+++ b/security/certverifier/CertVerifier.cpp
-@@ -120,16 +120,20 @@ IsCertChainRootBuiltInRoot(const UniqueC
- }
- CERTCertificate* root = rootNode->cert;
- if (!root) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
- }
- return IsCertBuiltInRoot(root, result);
- }
-
-+// The term "builtin root" traditionally refers to a root CA certificate that
-+// has been added to the NSS trust store, because it has been approved
-+// for inclusion according to the Mozilla CA policy, and might be accepted
-+// by Mozilla applications as an issuer for certificates seen on the public web.
- Result
- IsCertBuiltInRoot(CERTCertificate* cert, bool& result)
- {
- result = false;
- #ifdef DEBUG
- nsCOMPtr<nsINSSComponent> component(do_GetService(PSM_COMPONENT_CONTRACTID));
- if (!component) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
-@@ -142,25 +146,38 @@ IsCertBuiltInRoot(CERTCertificate* cert,
- return Success;
- }
- #endif // DEBUG
- AutoSECMODListReadLock lock;
- for (SECMODModuleList* list = SECMOD_GetDefaultModuleList(); list;
- list = list->next) {
- for (int i = 0; i < list->module->slotCount; i++) {
- PK11SlotInfo* slot = list->module->slots[i];
-- // PK11_HasRootCerts should return true if and only if the given slot has
-- // an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST, which
-- // should be true only of the builtin root list.
-- // If we can find a copy of the given certificate on the slot with the
-- // builtin root list, that certificate must be a builtin.
-- if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot) &&
-- PK11_FindCertInSlot(slot, cert, nullptr) != CK_INVALID_HANDLE) {
-- result = true;
-- return Success;
-+ // We're searching for the "builtin root module", which is a module that
-+ // contains an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST.
-+ // We use PK11_HasRootCerts() to identify a module with that property.
-+ // In the past, we exclusively used the PKCS#11 module named nssckbi,
-+ // which is provided by the NSS library.
-+ // Nowadays, some distributions use a replacement module, which contains
-+ // the builtin roots, but which also contains additional CA certificates,
-+ // such as CAs trusted in a local deployment.
-+ // We want to be able to distinguish between these two categories,
-+ // because a CA, which may issue certificates for the public web,
-+ // is expected to comply with additional requirements.
-+ // If the certificate has attribute CKA_NSS_MOZILLA_CA_POLICY set to true,
-+ // then we treat it as a "builtin root".
-+ if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot)) {
-+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(slot, cert, nullptr);
-+ if (handle != CK_INVALID_HANDLE &&
-+ PK11_HasAttributeSet(slot, handle, CKA_NSS_MOZILLA_CA_POLICY,
-+ false)) {
-+ // Attribute was found, and is set to true
-+ result = true;
-+ break;
-+ }
- }
- }
- }
- return Success;
- }
-
- static Result
- BuildCertChainForOneKeyUsage(NSSCertDBTrustDomain& trustDomain, Input certDER,
diff --git a/firefox-52-build-prbool.patch b/firefox-52-build-prbool.patch
deleted file mode 100644
index f271631..0000000
--- a/firefox-52-build-prbool.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -up firefox-52.0/dom/u2f/U2F.cpp.prbool firefox-52.0/dom/u2f/U2F.cpp
---- firefox-52.0/dom/u2f/U2F.cpp.prbool 2017-03-03 13:42:22.613691228 +0100
-+++ firefox-52.0/dom/u2f/U2F.cpp 2017-03-03 13:48:20.864647727 +0100
-@@ -4,6 +4,7 @@
- * 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/. */
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/dom/CallbackFunction.h"
- #include "mozilla/dom/ContentChild.h"
-diff -up firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool firefox-52.0/security/certverifier/CTLogVerifier.cpp
---- firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
-+++ firefox-52.0/security/certverifier/CTLogVerifier.cpp 2017-03-03 13:42:22.613691228 +0100
-@@ -7,6 +7,7 @@
- #include "CTLogVerifier.h"
-
- #include "CTSerialization.h"
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/ArrayUtils.h"
- #include "mozilla/Assertions.h"
-diff -up firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool firefox-52.0/security/certverifier/CTObjectsExtractor.cpp
---- firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
-+++ firefox-52.0/security/certverifier/CTObjectsExtractor.cpp 2017-03-03 13:42:22.613691228 +0100
-@@ -6,6 +6,7 @@
-
- #include "CTObjectsExtractor.h"
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/Assertions.h"
- #include "mozilla/Casting.h"
-diff -up firefox-52.0/security/certverifier/OCSPCache.h.prbool firefox-52.0/security/certverifier/OCSPCache.h
---- firefox-52.0/security/certverifier/OCSPCache.h.prbool 2017-02-27 17:11:06.000000000 +0100
-+++ firefox-52.0/security/certverifier/OCSPCache.h 2017-03-03 13:42:22.613691228 +0100
-@@ -25,6 +25,7 @@
- #ifndef mozilla_psm_OCSPCache_h
- #define mozilla_psm_OCSPCache_h
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/Mutex.h"
- #include "mozilla/Vector.h"
diff --git a/firefox-52-mozilla-revert-1148544.patch b/firefox-52-mozilla-revert-1148544.patch
deleted file mode 100644
index fd02549..0000000
--- a/firefox-52-mozilla-revert-1148544.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-diff -Nrbu mozilla/netwerk/base/nsILoadGroup.idl mozilla-OK/netwerk/base/nsILoadGroup.idl
---- mozilla/netwerk/base/nsILoadGroup.idl 2017-10-16 10:19:26.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsILoadGroup.idl 2017-10-21 01:54:08.905610277 +0300
-@@ -95,10 +95,4 @@
- * the docShell has created the default request.)
- */
- attribute nsLoadFlags defaultLoadFlags;
--
-- /**
-- * The cached user agent override created by UserAgentOverrides.jsm. Used
-- * for all sub-resource requests in the loadgroup.
-- */
-- attribute ACString userAgentOverrideCache;
- };
-diff -Nrbu mozilla/netwerk/base/nsLoadGroup.cpp mozilla-OK/netwerk/base/nsLoadGroup.cpp
---- mozilla/netwerk/base/nsLoadGroup.cpp 2017-10-16 10:19:28.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsLoadGroup.cpp 2017-10-21 01:54:08.905610277 +0300
-@@ -809,20 +809,6 @@
- return NS_OK;
- }
-
--NS_IMETHODIMP
--nsLoadGroup::GetUserAgentOverrideCache(nsACString & aUserAgentOverrideCache)
--{
-- aUserAgentOverrideCache = mUserAgentOverrideCache;
-- return NS_OK;
--}
--
--NS_IMETHODIMP
--nsLoadGroup::SetUserAgentOverrideCache(const nsACString & aUserAgentOverrideCache)
--{
-- mUserAgentOverrideCache = aUserAgentOverrideCache;
-- return NS_OK;
--}
--
-
- ////////////////////////////////////////////////////////////////////////////////
-
-diff -Nrbu mozilla/netwerk/base/nsLoadGroup.h mozilla-OK/netwerk/base/nsLoadGroup.h
---- mozilla/netwerk/base/nsLoadGroup.h 2017-10-16 10:19:26.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsLoadGroup.h 2017-10-21 01:54:08.905610277 +0300
-@@ -95,8 +95,6 @@
-
- /* For nsPILoadGroupInternal */
- uint32_t mTimedNonCachedRequestsUntilOnEndPageLoad;
--
-- nsCString mUserAgentOverrideCache;
- };
-
- } // namespace net
-diff -Nrbu mozilla/netwerk/protocol/http/UserAgentOverrides.jsm mozilla-OK/netwerk/protocol/http/UserAgentOverrides.jsm
---- mozilla/netwerk/protocol/http/UserAgentOverrides.jsm 2017-10-16 10:19:32.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/UserAgentOverrides.jsm 2017-10-21 01:54:08.906610227 +0300
-@@ -46,9 +46,9 @@
- Services.prefs.addObserver(PREF_OVERRIDES_ENABLED, buildOverrides, false);
-
- try {
-- Services.obs.addObserver(HTTP_on_useragent_request, "http-on-useragent-request", false);
-+ Services.obs.addObserver(HTTP_on_modify_request, "http-on-modify-request", false);
- } catch (x) {
-- // The http-on-useragent-request notification is disallowed in content processes.
-+ // The http-on-modify-request notification is disallowed in content processes.
- }
-
- UserAgentUpdates.init(function(overrides) {
-@@ -118,7 +118,7 @@
-
- Services.prefs.removeObserver(PREF_OVERRIDES_ENABLED, buildOverrides);
-
-- Services.obs.removeObserver(HTTP_on_useragent_request, "http-on-useragent-request");
-+ Services.obs.removeObserver(HTTP_on_modify_request, "http-on-modify-request");
- },
-
- receiveMessage: function(aMessage) {
-@@ -169,7 +169,7 @@
- }
- }
-
--function HTTP_on_useragent_request(aSubject, aTopic, aData) {
-+function HTTP_on_modify_request(aSubject, aTopic, aData) {
- let channel = aSubject.QueryInterface(Ci.nsIHttpChannel);
-
- for (let callback of gOverrideFunctions) {
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpChannel.cpp mozilla-OK/netwerk/protocol/http/nsHttpChannel.cpp
---- mozilla/netwerk/protocol/http/nsHttpChannel.cpp 2017-10-16 10:19:27.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpChannel.cpp 2017-10-21 01:58:52.158525720 +0300
-@@ -6031,8 +6031,6 @@
- // notify "http-on-modify-request" observers
- CallOnModifyRequestObservers();
-
-- SetLoadGroupUserAgentOverride();
--
- // Check if request was cancelled during on-modify-request or on-useragent.
- if (mCanceled) {
- return mStatus;
-@@ -8369,50 +8367,6 @@
- }
-
- void
--nsHttpChannel::SetLoadGroupUserAgentOverride()
--{
-- nsCOMPtr<nsIURI> uri;
-- GetURI(getter_AddRefs(uri));
-- nsAutoCString uriScheme;
-- if (uri) {
-- uri->GetScheme(uriScheme);
-- }
--
-- // We don't need a UA for file: protocols.
-- if (uriScheme.EqualsLiteral("file")) {
-- gHttpHandler->OnUserAgentRequest(this);
-- return;
-- }
--
-- nsIRequestContextService* rcsvc = gHttpHandler->GetRequestContextService();
-- nsCOMPtr<nsIRequestContext> rc;
-- if (rcsvc) {
-- rcsvc->GetRequestContext(mRequestContextID,
-- getter_AddRefs(rc));
-- }
--
-- nsAutoCString ua;
-- if (nsContentUtils::IsNonSubresourceRequest(this)) {
-- gHttpHandler->OnUserAgentRequest(this);
-- if (rc) {
-- GetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua);
-- rc->SetUserAgentOverride(ua);
-- }
-- } else {
-- GetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua);
-- // Don't overwrite the UA if it is already set (eg by an XHR with explicit UA).
-- if (ua.IsEmpty()) {
-- if (rc) {
-- rc->GetUserAgentOverride(ua);
-- SetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua, false);
-- } else {
-- gHttpHandler->OnUserAgentRequest(this);
-- }
-- }
-- }
--}
--
--void
- nsHttpChannel::SetDoNotTrack()
- {
- /**
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpChannel.h mozilla-OK/netwerk/protocol/http/nsHttpChannel.h
---- mozilla/netwerk/protocol/http/nsHttpChannel.h 2017-10-16 10:19:32.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpChannel.h 2017-10-21 01:54:08.908610126 +0300
-@@ -459,8 +459,6 @@
-
- void MaybeWarnAboutAppCache();
-
-- void SetLoadGroupUserAgentOverride();
--
- void SetDoNotTrack();
-
- private:
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpHandler.h mozilla-OK/netwerk/protocol/http/nsHttpHandler.h
---- mozilla/netwerk/protocol/http/nsHttpHandler.h 2017-10-16 10:19:30.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpHandler.h 2017-10-21 01:54:08.908610126 +0300
-@@ -280,12 +280,6 @@
- NotifyObservers(chan, NS_HTTP_ON_MODIFY_REQUEST_TOPIC);
- }
-
-- // Called by the channel and cached in the loadGroup
-- void OnUserAgentRequest(nsIHttpChannel *chan)
-- {
-- NotifyObservers(chan, NS_HTTP_ON_USERAGENT_REQUEST_TOPIC);
-- }
--
- // Called by the channel once headers are available
- void OnExamineResponse(nsIHttpChannel *chan)
- {
-diff -Nrbu mozilla/netwerk/protocol/http/nsIHttpProtocolHandler.idl mozilla-OK/netwerk/protocol/http/nsIHttpProtocolHandler.idl
---- mozilla/netwerk/protocol/http/nsIHttpProtocolHandler.idl 2017-10-16 10:19:28.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsIHttpProtocolHandler.idl 2017-10-21 01:54:08.908610126 +0300
-@@ -113,14 +113,5 @@
- */
- #define NS_HTTP_ON_EXAMINE_CACHED_RESPONSE_TOPIC "http-on-examine-cached-response"
-
--/**
-- * Before an HTTP request corresponding to a channel with the LOAD_DOCUMENT_URI
-- * flag is sent to the server, this observer topic is notified. The observer of
-- * this topic can then choose to modify the user agent for this request before
-- * the request is actually sent to the server. Additionally, the modified user
-- * agent will be propagated to sub-resource requests from the same load group.
-- */
--#define NS_HTTP_ON_USERAGENT_REQUEST_TOPIC "http-on-useragent-request"
--
-
- %}
diff --git a/firefox-56-build-prbool.patch b/firefox-56-build-prbool.patch
new file mode 100644
index 0000000..05e7503
--- /dev/null
+++ b/firefox-56-build-prbool.patch
@@ -0,0 +1,44 @@
+diff -Nrbu firefox-56/dom/u2f/U2F.cpp firefox-56-OK/dom/u2f/U2F.cpp
+--- firefox-56/dom/u2f/U2F.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/dom/u2f/U2F.cpp 2020-01-02 23:10:06.690248726 +0300
+@@ -4,6 +4,7 @@
+ * 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/. */
+
++#include "prtypes.h"
+ #include "mozilla/dom/U2F.h"
+ #include "mozilla/dom/WebCryptoCommon.h"
+ #include "nsContentUtils.h"
+diff -Nrbu firefox-56/security/certverifier/CTLogVerifier.cpp firefox-56-OK/security/certverifier/CTLogVerifier.cpp
+--- firefox-56/security/certverifier/CTLogVerifier.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/CTLogVerifier.cpp 2020-01-02 23:08:51.035792314 +0300
+@@ -9,6 +9,7 @@
+ #include <stdint.h>
+
+ #include "CTSerialization.h"
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/ArrayUtils.h"
+ #include "mozilla/Assertions.h"
+diff -Nrbu firefox-56/security/certverifier/CTObjectsExtractor.cpp firefox-56-OK/security/certverifier/CTObjectsExtractor.cpp
+--- firefox-56/security/certverifier/CTObjectsExtractor.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/CTObjectsExtractor.cpp 2020-01-02 23:08:51.036792307 +0300
+@@ -6,6 +6,7 @@
+
+ #include "CTObjectsExtractor.h"
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Assertions.h"
+ #include "mozilla/Casting.h"
+diff -Nrbu firefox-56/security/certverifier/OCSPCache.h firefox-56-OK/security/certverifier/OCSPCache.h
+--- firefox-56/security/certverifier/OCSPCache.h 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/OCSPCache.h 2020-01-02 23:08:51.036792307 +0300
+@@ -25,6 +25,7 @@
+ #ifndef mozilla_psm_OCSPCache_h
+ #define mozilla_psm_OCSPCache_h
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Mutex.h"
+ #include "mozilla/Vector.h"
diff --git a/firefox-56-mozilla-440908.patch b/firefox-56-mozilla-440908.patch
new file mode 100644
index 0000000..9163193
--- /dev/null
+++ b/firefox-56-mozilla-440908.patch
@@ -0,0 +1,111 @@
+diff -up firefox-50.0/modules/libpref/prefapi.cpp.440908 firefox-50.0/modules/libpref/prefapi.cpp
+--- firefox-50.0/modules/libpref/prefapi.cpp.440908 2016-10-31 21:15:26.000000000 +0100
++++ firefox-50.0/modules/libpref/prefapi.cpp 2016-11-10 10:32:48.796115692 +0100
+@@ -997,8 +997,8 @@ void PREF_ReaderCallback(void *clo
+ PrefValue value,
+ PrefType type,
+ bool isDefault,
+- bool isStickyDefault)
+-
++ bool isStickyDefault,
++ bool isLocked)
+ {
+ uint32_t flags = 0;
+ if (isDefault) {
+@@ -1010,4 +1010,6 @@ void PREF_ReaderCallback(void *clo
+ flags |= kPrefForceSet;
+ }
+ pref_HashPref(pref, value, type, flags);
++ if (isLocked)
++ PREF_LockPref(pref, true);
+ }
+diff -up firefox-50.0/modules/libpref/prefapi.h.440908 firefox-50.0/modules/libpref/prefapi.h
+--- firefox-50.0/modules/libpref/prefapi.h.440908 2016-11-10 10:32:48.796115692 +0100
++++ firefox-50.0/modules/libpref/prefapi.h 2016-11-10 10:34:58.013159112 +0100
+@@ -243,8 +243,8 @@ void PREF_ReaderCallback( void *closure,
+ PrefValue value,
+ PrefType type,
+ bool isDefault,
+- bool isStickyDefault);
+-
++ bool isStickyDefault,
++ bool isLocked);
+
+ /*
+ * Callback whenever we change a preference
+diff -up firefox-50.0/modules/libpref/prefread.cpp.440908 firefox-50.0/modules/libpref/prefread.cpp
+--- firefox-50.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
++++ firefox-50.0/modules/libpref/prefread.cpp 2016-11-10 10:32:48.796115692 +0100
+@@ -43,6 +43,7 @@ enum {
+ #define BITS_PER_HEX_DIGIT 4
+
+ static const char kUserPref[] = "user_pref";
++static const char kLockPref[] = "lockPref";
+ static const char kPref[] = "pref";
+ static const char kPrefSticky[] = "sticky_pref";
+ static const char kTrue[] = "true";
+@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
+ break;
+ }
+ (*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
+- ps->fstickydefault);
++ ps->fstickydefault, ps->flock);
+ return true;
+ }
+
+@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
+ ps->vtype = PrefType::Invalid;
+ ps->fdefault = false;
+ ps->fstickydefault = false;
++ ps->flock = false;
+ }
+ switch (c) {
+ case '/': /* begin comment block or line? */
+@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
+ break;
+ case 'u': /* indicating user_pref */
+ case 's': /* indicating sticky_pref */
++ case 'l': /* indicating lockPref */
+ case 'p': /* indicating pref */
+ if (c == 'u') {
+ ps->smatch = kUserPref;
+ } else if (c == 's') {
+ ps->smatch = kPrefSticky;
++ } else if (c == 'l') {
++ ps->smatch = kLockPref;
+ } else {
+ ps->smatch = kPref;
+ }
+@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
+ /* name parsing */
+ case PREF_PARSE_UNTIL_NAME:
+ if (c == '\"' || c == '\'') {
+- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
++ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
++ || ps->smatch == kLockPref);
+ ps->fstickydefault = (ps->smatch == kPrefSticky);
++ ps->flock = (ps->smatch == kLockPref);
+ ps->quotechar = c;
+ ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
+ state = PREF_PARSE_QUOTED_STRING;
+diff -up firefox-50.0/modules/libpref/prefread.h.440908 firefox-50.0/modules/libpref/prefread.h
+--- firefox-50.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
++++ firefox-50.0/modules/libpref/prefread.h 2016-11-10 10:32:48.796115692 +0100
+@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
+ PrefValue val,
+ PrefType type,
+ bool defPref,
+- bool stickyPref);
++ bool stickyPref,
++ bool lockPref);
+
+ /**
+ * Report any errors or warnings we encounter during parsing.
+@@ -62,6 +63,7 @@ typedef struct PrefParseState {
+ PrefType vtype; /* PREF_STRING,INT,BOOL */
+ bool fdefault; /* true if (default) pref */
+ bool fstickydefault; /* true if (sticky) pref */
++ bool flock; /* true if pref to be locked */
+ } PrefParseState;
+
+ /**
diff --git a/firefox-56-no_rust_lto.patch b/firefox-56-no_rust_lto.patch
new file mode 100644
index 0000000..3f62ce7
--- /dev/null
+++ b/firefox-56-no_rust_lto.patch
@@ -0,0 +1,11 @@
+--- mozilla/config/rules.mk.orig 2020-01-04 22:02:35.559712770 +0300
++++ mozilla/config/rules.mk 2020-01-04 22:02:41.261673487 +0300
+@@ -878,7 +878,7 @@
+ ifndef DEVELOPER_OPTIONS
+ ifndef MOZ_DEBUG_RUST
+ # Enable link-time optimization for release builds.
+-cargo_rustc_flags += -C lto
++#cargo_rustc_flags += -C lto
+ endif
+ endif
+
diff --git a/firefox-60-mozilla-1436242.patch b/firefox-60-mozilla-1436242.patch
new file mode 100644
index 0000000..570b7c5
--- /dev/null
+++ b/firefox-60-mozilla-1436242.patch
@@ -0,0 +1,56 @@
+
+# HG changeset patch
+# User Jed Davis <jld(a)mozilla.com>
+# Date 1526943705 21600
+# Node ID 6bb3adfa15c6877f7874429462dad88f8c978c4f
+# Parent 4c71c8454879c841871ecf3afb7dbdc96bad97fc
+Bug 1436242 - Avoid undefined behavior in IPC fd-passing code. r=froydnj
+
+MozReview-Commit-ID: 3szIPUssgF5
+
+diff --git a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+--- a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
++++ b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+@@ -418,20 +418,37 @@ bool Channel::ChannelImpl::ProcessIncomi
+ const int* fds;
+ unsigned num_fds;
+ unsigned fds_i = 0; // the index of the first unused descriptor
+
+ if (input_overflow_fds_.empty()) {
+ fds = wire_fds;
+ num_fds = num_wire_fds;
+ } else {
+- const size_t prev_size = input_overflow_fds_.size();
+- input_overflow_fds_.resize(prev_size + num_wire_fds);
+- memcpy(&input_overflow_fds_[prev_size], wire_fds,
+- num_wire_fds * sizeof(int));
++ // This code may look like a no-op in the case where
++ // num_wire_fds == 0, but in fact:
++ //
++ // 1. wire_fds will be nullptr, so passing it to memcpy is
++ // undefined behavior according to the C standard, even though
++ // the memcpy length is 0.
++ //
++ // 2. prev_size will be an out-of-bounds index for
++ // input_overflow_fds_; this is undefined behavior according to
++ // the C++ standard, even though the element only has its
++ // pointer taken and isn't accessed (and the corresponding
++ // operation on a C array would be defined).
++ //
++ // UBSan makes #1 a fatal error, and assertions in libstdc++ do
++ // the same for #2 if enabled.
++ if (num_wire_fds > 0) {
++ const size_t prev_size = input_overflow_fds_.size();
++ input_overflow_fds_.resize(prev_size + num_wire_fds);
++ memcpy(&input_overflow_fds_[prev_size], wire_fds,
++ num_wire_fds * sizeof(int));
++ }
+ fds = &input_overflow_fds_[0];
+ num_fds = input_overflow_fds_.size();
+ }
+
+ // The data for the message we're currently reading consists of any data
+ // stored in incoming_message_ followed by data in input_buf_ (followed by
+ // other messages).
+
+
diff --git a/firefox-60-mozilla-1516803.patch b/firefox-60-mozilla-1516803.patch
new file mode 100644
index 0000000..3e88737
--- /dev/null
+++ b/firefox-60-mozilla-1516803.patch
@@ -0,0 +1,11 @@
+--- mozilla/security/sandbox/linux/moz.build.orig 2019-12-29 20:38:43.000000000 +0300
++++ mozilla/security/sandbox/linux/moz.build 2020-01-13 22:07:08.152645892 +0300
+@@ -97,7 +97,7 @@
+ # from the function using it which breaks the build. Work around that by
+ # forcing there to be only one partition.
+ if '-flto' in CONFIG['OS_CXXFLAGS'] and CONFIG['CC_TYPE'] != 'clang':
+- LDFLAGS += ['--param lto-partitions=1']
++ LDFLAGS += ['--param', 'lto-partitions=1']
+
+ DEFINES['NS_NO_XPCOM'] = True
+ DisableStlWrapping()
diff --git a/nss-3.28-mozilla-1334976-1336487.patch b/nss-3.28-mozilla-1334976-1336487.patch
deleted file mode 100644
index fcf23cd..0000000
--- a/nss-3.28-mozilla-1334976-1336487.patch
+++ /dev/null
@@ -1,3304 +0,0 @@
-diff --git a/cmd/addbuiltin/addbuiltin.c b/cmd/addbuiltin/addbuiltin.c
---- a/cmd/addbuiltin/addbuiltin.c
-+++ b/cmd/addbuiltin/addbuiltin.c
-@@ -26,16 +26,39 @@ dumpbytes(unsigned char *buf, int len)
- if ((i != 0) && ((i & 0xf) == 0)) {
- printf("\n");
- }
- printf("\\%03o", buf[i]);
- }
- printf("\n");
- }
-
-+int
-+hasPositiveTrust(unsigned int trust)
-+{
-+ if (trust & CERTDB_TRUSTED) {
-+ if (trust & CERTDB_TRUSTED_CA) {
-+ return PR_TRUE;
-+ } else {
-+ return PR_FALSE;
-+ }
-+ } else {
-+ if (trust & CERTDB_TRUSTED_CA) {
-+ return PR_TRUE;
-+ } else if (trust & CERTDB_VALID_CA) {
-+ return PR_TRUE;
-+ } else if (trust & CERTDB_TERMINAL_RECORD) {
-+ return PR_FALSE;
-+ } else {
-+ return PR_FALSE;
-+ }
-+ }
-+ return PR_FALSE;
-+}
-+
- char *
- getTrustString(unsigned int trust)
- {
- if (trust & CERTDB_TRUSTED) {
- if (trust & CERTDB_TRUSTED_CA) {
- return "CKT_NSS_TRUSTED_DELEGATOR";
- } else {
- return "CKT_NSS_TRUSTED";
-@@ -197,16 +220,21 @@ ConvertCertificate(SECItem *sdder, char
- dumpbytes(cert->derIssuer.data, cert->derIssuer.len);
- printf("END\n");
- printf("CKA_SERIAL_NUMBER MULTILINE_OCTAL\n");
- dumpbytes(serial->data, serial->len);
- printf("END\n");
- printf("CKA_VALUE MULTILINE_OCTAL\n");
- dumpbytes(sdder->data, sdder->len);
- printf("END\n");
-+ if (hasPositiveTrust(trust->sslFlags) ||
-+ hasPositiveTrust(trust->emailFlags) ||
-+ hasPositiveTrust(trust->objectSigningFlags)) {
-+ printf("CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE\n");
-+ }
- }
-
- if ((trust->sslFlags | trust->emailFlags | trust->objectSigningFlags) ==
- CERTDB_TERMINAL_RECORD)
- trust_info = "Distrust";
- else
- trust_info = "Trust for";
-
-diff --git a/cmd/lib/secutil.c b/cmd/lib/secutil.c
---- a/cmd/lib/secutil.c
-+++ b/cmd/lib/secutil.c
-@@ -27,17 +27,17 @@
- #include <unistd.h>
- #endif
-
- /* for SEC_TraverseNames */
- #include "cert.h"
- #include "certt.h"
- #include "certdb.h"
-
--/* #include "secmod.h" */
-+#include "secmod.h"
- #include "pk11func.h"
- #include "secoid.h"
-
- static char consoleName[] = {
- #ifdef XP_UNIX
- "/dev/tty"
- #else
- #ifdef XP_OS2
-@@ -3224,25 +3224,58 @@ SECU_PrintSignedContent(FILE *out, SECIt
- SECStatus
- SEC_PrintCertificateAndTrust(CERTCertificate *cert,
- const char *label,
- CERTCertTrust *trust)
- {
- SECStatus rv;
- SECItem data;
- CERTCertTrust certTrust;
-+ PK11SlotList *slotList;
-+ PRBool falseAttributeFound = PR_FALSE;
-+ PRBool trueAttributeFound = PR_FALSE;
-+ const char *moz_policy_ca_info = NULL;
-
- data.data = cert->derCert.data;
- data.len = cert->derCert.len;
-
- rv = SECU_PrintSignedData(stdout, &data, label, 0,
- (SECU_PPFunc)SECU_PrintCertificate);
- if (rv) {
- return (SECFailure);
- }
-+
-+ slotList = PK11_GetAllSlotsForCert(cert, NULL);
-+ if (slotList) {
-+ PK11SlotListElement *se = PK11_GetFirstSafe(slotList);
-+ for (; se; se = PK11_GetNextSafe(slotList, se, PR_FALSE)) {
-+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(se->slot, cert, NULL);
-+ if (handle != CK_INVALID_HANDLE) {
-+ PORT_SetError(0);
-+ if (PK11_HasAttributeSet(se->slot, handle,
-+ CKA_NSS_MOZILLA_CA_POLICY, PR_FALSE)) {
-+ trueAttributeFound = PR_TRUE;
-+ } else if (!PORT_GetError()) {
-+ falseAttributeFound = PR_TRUE;
-+ }
-+ }
-+ }
-+ PK11_FreeSlotList(slotList);
-+ }
-+
-+ if (trueAttributeFound) {
-+ moz_policy_ca_info = "true (attribute present)";
-+ } else if (falseAttributeFound) {
-+ moz_policy_ca_info = "false (attribute present)";
-+ } else {
-+ moz_policy_ca_info = "false (attribute missing)";
-+ }
-+ SECU_Indent(stdout, 1);
-+ printf("Mozilla-CA-Policy: %s\n", moz_policy_ca_info);
-+
- if (trust) {
- SECU_PrintTrustFlags(stdout, trust,
- "Certificate Trust Flags", 1);
- } else if (CERT_GetCertTrust(cert, &certTrust) == SECSuccess) {
- SECU_PrintTrustFlags(stdout, &certTrust,
- "Certificate Trust Flags", 1);
- }
-
-diff --git a/lib/ckfw/builtins/certdata.txt b/lib/ckfw/builtins/certdata.txt
---- a/lib/ckfw/builtins/certdata.txt
-+++ b/lib/ckfw/builtins/certdata.txt
-@@ -186,16 +186,17 @@ CKA_VALUE MULTILINE_OCTAL
- \034\161\142\356\312\310\227\254\027\135\212\302\370\107\206\156
- \052\304\126\061\225\320\147\211\205\053\371\154\246\135\106\235
- \014\252\202\344\231\121\335\160\267\333\126\075\141\344\152\341
- \134\326\366\376\075\336\101\314\007\256\143\122\277\123\123\364
- \053\351\307\375\266\367\202\137\205\322\101\030\333\201\263\004
- \034\305\037\244\200\157\025\040\311\336\014\210\012\035\326\146
- \125\342\374\110\311\051\046\151\340
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA"
- # Issuer: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
- # Serial Number:04:00:00:00:00:01:15:4b:5a:c3:94
- # Subject: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
- # Not Valid Before: Tue Sep 01 12:00:00 1998
- # Not Valid After : Fri Jan 28 12:00:00 2028
- # Fingerprint (MD5): 3E:45:52:15:09:51:92:E1:B7:5D:37:9F:B1:87:29:8A
-@@ -319,16 +320,17 @@ CKA_VALUE MULTILINE_OCTAL
- \176\273\363\171\030\221\273\364\157\235\301\360\214\065\214\135
- \001\373\303\155\271\357\104\155\171\106\061\176\012\376\251\202
- \301\377\357\253\156\040\304\120\311\137\235\115\233\027\214\014
- \345\001\311\240\101\152\163\123\372\245\120\264\156\045\017\373
- \114\030\364\375\122\331\216\151\261\350\021\017\336\210\330\373
- \035\111\367\252\336\225\317\040\170\302\140\022\333\045\100\214
- \152\374\176\102\070\100\144\022\367\236\201\341\223\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA - R2"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
- # Serial Number:04:00:00:00:00:01:0f:86:26:e6:0d
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
- # Not Valid Before: Fri Dec 15 08:00:00 2006
- # Not Valid After : Wed Dec 15 08:00:00 2021
- # Fingerprint (MD5): 94:14:77:7E:3E:5E:FD:8F:30:BD:41:B0:CF:E7:D0:30
-@@ -474,16 +476,17 @@ CKA_VALUE MULTILINE_OCTAL
- \114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354
- \245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216
- \274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042
- \171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170
- \023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043
- \363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243
- \113\336\006\226\161\054\362\333\266\037\244\357\077\356
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:00:8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4
- # Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73
-@@ -638,16 +641,17 @@ CKA_VALUE MULTILINE_OCTAL
- \301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110
- \260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153
- \106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045
- \342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317
- \162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263
- \377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125
- \311\130\020\371\252\357\132\266\317\113\113\337\052
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a
- # Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6
-@@ -802,16 +806,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151
- \027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246
- \124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156
- \352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255
- \117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126
- \200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255
- \153\271\012\172\116\117\113\204\356\113\361\175\335\021
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:00:9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09
-@@ -1076,16 +1081,17 @@ CKA_VALUE MULTILINE_OCTAL
- \273\377\043\357\150\031\313\022\223\047\134\003\055\157\060\320
- \036\266\032\254\336\132\367\321\252\250\047\246\376\171\201\304
- \171\231\063\127\272\022\260\251\340\102\154\223\312\126\336\376
- \155\204\013\010\213\176\215\352\327\230\041\306\363\347\074\171
- \057\136\234\321\114\025\215\341\354\042\067\314\232\103\013\227
- \334\200\220\215\263\147\233\157\110\010\025\126\317\277\361\053
- \174\136\232\166\351\131\220\305\174\203\065\021\145\121
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust.net Premium 2048 Secure Server CA"
- # Issuer: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
- # Serial Number: 946069240 (0x3863def8)
- # Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
- # Not Valid Before: Fri Dec 24 17:50:51 1999
- # Not Valid After : Tue Jul 24 14:15:12 2029
- # Fingerprint (MD5): EE:29:31:BC:32:7E:9A:E6:E8:B5:F7:51:B4:34:71:90
-@@ -1213,16 +1219,17 @@ CKA_VALUE MULTILINE_OCTAL
- \056\310\244\236\116\010\024\113\155\375\160\155\153\032\143\275
- \144\346\037\267\316\360\362\237\056\273\033\267\362\120\210\163
- \222\302\342\343\026\215\232\062\002\253\216\030\335\351\020\021
- \356\176\065\253\220\257\076\060\224\172\320\063\075\247\145\017
- \365\374\216\236\142\317\107\104\054\001\135\273\035\265\062\322
- \107\322\070\056\320\376\201\334\062\152\036\265\356\074\325\374
- \347\201\035\031\303\044\102\352\143\071\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Baltimore CyberTrust Root"
- # Issuer: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
- # Serial Number: 33554617 (0x20000b9)
- # Subject: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
- # Not Valid Before: Fri May 12 18:46:00 2000
- # Not Valid After : Mon May 12 23:59:00 2025
- # Fingerprint (MD5): AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4
-@@ -1356,16 +1363,17 @@ CKA_VALUE MULTILINE_OCTAL
- \213\375\273\034\126\066\362\376\262\266\345\166\273\325\042\145
- \247\077\376\321\146\255\013\274\153\231\206\357\077\175\363\030
- \062\312\173\306\343\253\144\106\225\370\046\151\331\125\203\173
- \054\226\007\377\131\054\104\243\306\345\351\251\334\241\143\200
- \132\041\136\041\317\123\124\360\272\157\211\333\250\252\225\317
- \213\343\161\314\036\033\040\104\010\300\172\266\100\375\304\344
- \065\341\035\026\034\320\274\053\216\326\161\331
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Low-Value Services Root"
- # Issuer: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:38:31 2000
- # Not Valid After : Sat May 30 10:38:31 2020
- # Fingerprint (MD5): 1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC
-@@ -1504,16 +1512,17 @@ CKA_VALUE MULTILINE_OCTAL
- \335\217\212\303\366\366\214\032\102\005\121\324\105\365\237\247
- \142\041\150\025\040\103\074\231\347\174\275\044\330\251\221\027
- \163\210\077\126\033\061\070\030\264\161\017\232\315\310\016\236
- \216\056\033\341\214\230\203\313\037\061\361\104\114\306\004\163
- \111\166\140\017\307\370\275\027\200\153\056\351\314\114\016\132
- \232\171\017\040\012\056\325\236\143\046\036\125\222\224\330\202
- \027\132\173\320\274\307\217\116\206\004
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust External Root"
- # Issuer: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:48:38 2000
- # Not Valid After : Sat May 30 10:48:38 2020
- # Fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F
-@@ -1649,16 +1658,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\032\214\307\355\234\116\232\340\022\273\265\152\114\204\341
- \341\042\015\207\000\144\376\214\175\142\071\145\246\357\102\266
- \200\045\022\141\001\250\044\023\160\000\021\046\137\372\065\120
- \305\110\314\006\107\350\047\330\160\215\137\144\346\241\104\046
- \136\042\354\222\315\377\102\232\104\041\155\134\305\343\042\035
- \137\107\022\347\316\137\135\372\330\252\261\063\055\331\166\362
- \116\072\063\014\053\263\055\220\006
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Public Services Root"
- # Issuer: CN=AddTrust Public CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Public CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:41:50 2000
- # Not Valid After : Sat May 30 10:41:50 2020
- # Fingerprint (MD5): C1:62:3E:23:C5:82:73:9C:03:59:4B:2B:E9:77:49:7F
-@@ -1794,16 +1804,17 @@ CKA_VALUE MULTILINE_OCTAL
- \077\240\261\007\326\351\117\334\336\105\161\060\062\177\033\056
- \011\371\277\122\241\356\302\200\076\006\134\056\125\100\301\033
- \365\160\105\260\334\135\372\366\162\132\167\322\143\315\317\130
- \211\000\102\143\077\171\071\320\104\260\202\156\101\031\350\335
- \340\301\210\132\321\036\161\223\037\044\060\164\345\036\250\336
- \074\047\067\177\203\256\236\167\317\360\060\261\377\113\231\350
- \306\241
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Qualified Certificates Root"
- # Issuer: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:44:50 2000
- # Not Valid After : Sat May 30 10:44:50 2020
- # Fingerprint (MD5): 27:EC:39:47:CD:DA:5A:AF:E2:9A:01:65:21:A9:4C:BB
-@@ -1956,16 +1967,17 @@ CKA_VALUE MULTILINE_OCTAL
- \175\352\261\355\060\045\301\204\332\064\322\133\170\203\126\354
- \234\066\303\046\342\021\366\147\111\035\222\253\214\373\353\377
- \172\356\205\112\247\120\200\360\247\134\112\224\056\137\005\231
- \074\122\101\340\315\264\143\317\001\103\272\234\203\334\217\140
- \073\363\132\264\264\173\256\332\013\220\070\165\357\201\035\146
- \322\367\127\160\066\263\277\374\050\257\161\045\205\133\023\376
- \036\177\132\264\074
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Entrust Root Certification Authority"
- # Issuer: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
- # Serial Number: 1164660820 (0x456b5054)
- # Subject: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
- # Not Valid Before: Mon Nov 27 20:23:42 2006
- # Not Valid After : Fri Nov 27 20:53:42 2026
- # Fingerprint (MD5): D6:A5:C3:ED:5D:DD:3E:00:C1:3D:87:92:1F:1D:3F:E4
-@@ -2089,16 +2101,17 @@ CKA_VALUE MULTILINE_OCTAL
- \270\234\344\035\266\253\346\224\245\301\307\203\255\333\365\047
- \207\016\004\154\325\377\335\240\135\355\207\122\267\053\025\002
- \256\071\246\152\164\351\332\304\347\274\115\064\036\251\134\115
- \063\137\222\011\057\210\146\135\167\227\307\035\166\023\251\325
- \345\361\026\011\021\065\325\254\333\044\161\160\054\230\126\013
- \331\027\264\321\343\121\053\136\165\350\325\320\334\117\064\355
- \302\005\146\200\241\313\346\063
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Global CA"
- # Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
- # Serial Number: 144470 (0x23456)
- # Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
- # Not Valid Before: Tue May 21 04:00:00 2002
- # Not Valid After : Sat May 21 04:00:00 2022
- # Fingerprint (MD5): F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5
-@@ -2216,16 +2229,17 @@ CKA_VALUE MULTILINE_OCTAL
- \151\266\362\377\341\032\320\014\321\166\205\313\212\045\275\227
- \136\054\157\025\231\046\347\266\051\377\042\354\311\002\307\126
- \000\315\111\271\263\154\173\123\004\032\342\250\311\252\022\005
- \043\302\316\347\273\004\002\314\300\107\242\344\304\051\057\133
- \105\127\211\121\356\074\353\122\010\377\007\065\036\237\065\152
- \107\112\126\230\321\132\205\037\214\365\042\277\253\316\203\363
- \342\042\051\256\175\203\100\250\272\154
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Global CA 2"
- # Issuer: CN=GeoTrust Global CA 2,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Global CA 2,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Mon Mar 04 05:00:00 2019
- # Fingerprint (MD5): 0E:40:A7:6C:DE:03:5D:8F:D1:0F:E4:D1:8D:F9:6C:A9
-@@ -2375,16 +2389,17 @@ CKA_VALUE MULTILINE_OCTAL
- \121\173\327\251\234\006\241\066\335\325\211\224\274\331\344\055
- \014\136\011\154\010\227\174\243\075\174\223\377\077\241\024\247
- \317\265\135\353\333\333\034\304\166\337\210\271\275\105\005\225
- \033\256\374\106\152\114\257\110\343\316\256\017\322\176\353\346
- \154\234\117\201\152\172\144\254\273\076\325\347\313\166\056\305
- \247\110\301\134\220\017\313\310\077\372\346\062\341\215\033\157
- \244\346\216\330\371\051\110\212\316\163\376\054
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Universal CA"
- # Issuer: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Sun Mar 04 05:00:00 2029
- # Fingerprint (MD5): 92:65:58:8B:A2:1A:31:72:73:68:5C:B4:A5:7A:07:48
-@@ -2534,16 +2549,17 @@ CKA_VALUE MULTILINE_OCTAL
- \227\124\167\332\075\022\267\340\036\357\010\006\254\371\205\207
- \351\242\334\257\176\030\022\203\375\126\027\101\056\325\051\202
- \175\231\364\061\366\161\251\317\054\001\047\245\005\271\252\262
- \110\116\052\357\237\223\122\121\225\074\122\163\216\126\114\027
- \100\300\011\050\344\213\152\110\123\333\354\315\125\125\361\306
- \370\351\242\054\114\246\321\046\137\176\257\132\114\332\037\246
- \362\034\054\176\256\002\026\322\126\320\057\127\123\107\350\222
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Universal CA 2"
- # Issuer: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Sun Mar 04 05:00:00 2029
- # Fingerprint (MD5): 34:FC:B8:D0:36:DB:9E:14:B3:C2:F2:DB:8F:E4:94:C7
-@@ -2670,16 +2686,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\074\154\151\227\333\256\137\071\232\160\057\005\074\031\106
- \004\231\040\066\320\140\156\141\006\273\026\102\214\160\367\060
- \373\340\333\146\243\000\001\275\346\054\332\221\137\240\106\213
- \115\152\234\075\075\335\005\106\376\166\277\240\012\074\344\000
- \346\047\267\377\204\055\336\272\042\047\226\020\161\353\042\355
- \337\337\063\234\317\343\255\256\216\324\216\346\117\121\257\026
- \222\340\134\366\007\017
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Visa eCommerce Root"
- # Issuer: CN=Visa eCommerce Root,OU=Visa International Service Association,O=VISA,C=US
- # Serial Number:13:86:35:4d:1d:3f:06:f2:c1:f9:65:05:d5:90:1c:62
- # Subject: CN=Visa eCommerce Root,OU=Visa International Service Association,O=VISA,C=US
- # Not Valid Before: Wed Jun 26 02:18:36 2002
- # Not Valid After : Fri Jun 24 00:16:12 2022
- # Fingerprint (MD5): FC:11:B8:D8:08:93:30:00:6D:23:F9:7E:EB:52:1E:02
-@@ -2792,16 +2809,17 @@ CKA_VALUE MULTILINE_OCTAL
- \012\072\223\023\233\073\024\043\023\143\234\077\321\207\047\171
- \345\114\121\343\001\255\205\135\032\073\261\325\163\020\244\323
- \362\274\156\144\365\132\126\220\250\307\016\114\164\017\056\161
- \073\367\310\107\364\151\157\025\362\021\136\203\036\234\174\122
- \256\375\002\332\022\250\131\147\030\333\274\160\335\233\261\151
- \355\200\316\211\100\110\152\016\065\312\051\146\025\041\224\054
- \350\140\052\233\205\112\100\363\153\212\044\354\006\026\054\163
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certum Root CA"
- # Issuer: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL
- # Serial Number: 65568 (0x10020)
- # Subject: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL
- # Not Valid Before: Tue Jun 11 10:46:39 2002
- # Not Valid After : Fri Jun 11 10:46:39 2027
- # Fingerprint (MD5): 2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9
-@@ -2937,16 +2955,17 @@ CKA_VALUE MULTILINE_OCTAL
- \154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
- \372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
- \227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
- \156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
- \343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
- \262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
- \225\351\066\226\230\156
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo AAA Services root"
- # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): 49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0
-@@ -3087,16 +3106,17 @@ CKA_VALUE MULTILINE_OCTAL
- \223\367\252\023\313\322\023\342\267\056\073\315\153\120\027\011
- \150\076\265\046\127\356\266\340\266\335\271\051\200\171\175\217
- \243\360\244\050\244\025\304\205\364\047\324\153\277\345\134\344
- \145\002\166\124\264\343\067\146\044\323\031\141\310\122\020\345
- \213\067\232\271\251\371\035\277\352\231\222\141\226\377\001\315
- \241\137\015\274\161\274\016\254\013\035\107\105\035\301\354\174
- \354\375\051
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo Secure Services root"
- # Issuer: CN=Secure Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=Secure Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): D3:D9:BD:AE:9F:AC:67:24:B3:C8:1B:52:E1:B9:A9:BD
-@@ -3239,16 +3259,17 @@ CKA_VALUE MULTILINE_OCTAL
- \201\170\057\050\300\176\323\314\102\012\365\256\120\240\321\076
- \306\241\161\354\077\240\040\214\146\072\211\264\216\324\330\261
- \115\045\107\356\057\210\310\265\341\005\105\300\276\024\161\336
- \172\375\216\173\175\115\010\226\245\022\163\360\055\312\067\047
- \164\022\047\114\313\266\227\351\331\256\010\155\132\071\100\335
- \005\107\165\152\132\041\263\243\030\317\116\367\056\127\267\230
- \160\136\310\304\170\260\142
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo Trusted Services root"
- # Issuer: CN=Trusted Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=Trusted Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): 91:1B:3F:6E:CD:9E:AB:EE:07:FE:1F:71:D2:B3:61:27
-@@ -3417,16 +3438,17 @@ CKA_VALUE MULTILINE_OCTAL
- \231\003\072\212\314\124\045\071\061\201\173\023\042\121\272\106
- \154\241\273\236\372\004\154\111\046\164\217\322\163\353\314\060
- \242\346\352\131\042\207\370\227\365\016\375\352\314\222\244\026
- \304\122\030\352\041\316\261\361\346\204\201\345\272\251\206\050
- \362\103\132\135\022\235\254\036\331\250\345\012\152\247\177\240
- \207\051\317\362\211\115\324\354\305\342\346\172\320\066\043\212
- \112\164\066\371
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA"
- # Issuer: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM
- # Serial Number: 985026699 (0x3ab6508b)
- # Subject: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM
- # Not Valid Before: Mon Mar 19 18:33:33 2001
- # Not Valid After : Wed Mar 17 18:33:33 2021
- # Fingerprint (MD5): 27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24
-@@ -3585,16 +3607,17 @@ CKA_VALUE MULTILINE_OCTAL
- \226\136\234\307\357\047\142\010\342\221\031\134\322\361\041\335
- \272\027\102\202\227\161\201\123\061\251\237\366\175\142\277\162
- \341\243\223\035\314\212\046\132\011\070\320\316\327\015\200\026
- \264\170\245\072\207\114\215\212\245\325\106\227\362\054\020\271
- \274\124\042\300\001\120\151\103\236\364\262\357\155\370\354\332
- \361\343\261\357\337\221\217\124\052\013\045\301\046\031\304\122
- \020\005\145\325\202\020\352\302\061\315\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA 2"
- # Issuer: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
- # Serial Number: 1289 (0x509)
- # Subject: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
- # Not Valid Before: Fri Nov 24 18:27:00 2006
- # Not Valid After : Mon Nov 24 18:23:33 2031
- # Fingerprint (MD5): 5E:39:7B:DD:F8:BA:EC:82:E9:AC:62:BA:0C:54:00:2B
-@@ -3764,16 +3787,17 @@ CKA_VALUE MULTILINE_OCTAL
- \340\164\053\262\353\175\276\101\033\265\300\106\305\241\042\313
- \137\116\301\050\222\336\030\272\325\052\050\273\021\213\027\223
- \230\231\140\224\134\043\317\132\047\227\136\013\005\006\223\067
- \036\073\151\066\353\251\236\141\035\217\062\332\216\014\326\164
- \076\173\011\044\332\001\167\107\304\073\315\064\214\231\365\312
- \341\045\141\063\262\131\033\342\156\327\067\127\266\015\251\022
- \332
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA 3"
- # Issuer: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM
- # Serial Number: 1478 (0x5c6)
- # Subject: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Fri Nov 24 19:11:23 2006
- # Not Valid After : Mon Nov 24 19:06:44 2031
- # Fingerprint (MD5): 31:85:3C:62:94:97:63:B9:AA:FD:89:4E:AF:6F:E0:CF
-@@ -3892,16 +3916,17 @@ CKA_VALUE MULTILINE_OCTAL
- \161\245\062\252\057\306\211\166\103\100\023\023\147\075\242\124
- \045\020\313\361\072\362\331\372\333\111\126\273\246\376\247\101
- \065\303\340\210\141\311\210\307\337\066\020\042\230\131\352\260
- \112\373\126\026\163\156\254\115\367\042\241\117\255\035\172\055
- \105\047\345\060\301\136\362\332\023\313\045\102\121\225\107\003
- \214\154\041\314\164\102\355\123\377\063\213\217\017\127\001\026
- \057\317\246\356\311\160\042\024\275\375\276\154\013\003
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication Root CA"
- # Issuer: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP
- # Not Valid Before: Tue Sep 30 04:20:49 2003
- # Not Valid After : Sat Sep 30 04:20:49 2023
- # Fingerprint (MD5): F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A
-@@ -4014,16 +4039,17 @@ CKA_VALUE MULTILINE_OCTAL
- \066\276\246\133\015\152\154\232\037\221\173\371\371\357\102\272
- \116\116\236\314\014\215\224\334\331\105\234\136\354\102\120\143
- \256\364\135\304\261\022\334\312\073\250\056\235\024\132\005\165
- \267\354\327\143\342\272\065\266\004\010\221\350\332\235\234\366
- \146\265\030\254\012\246\124\046\064\063\322\033\301\324\177\032
- \072\216\013\252\062\156\333\374\117\045\237\331\062\307\226\132
- \160\254\337\114
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Sonera Class 2 Root CA"
- # Issuer: CN=Sonera Class2 CA,O=Sonera,C=FI
- # Serial Number: 29 (0x1d)
- # Subject: CN=Sonera Class2 CA,O=Sonera,C=FI
- # Not Valid Before: Fri Apr 06 07:29:40 2001
- # Not Valid After : Tue Apr 06 07:29:40 2021
- # Fingerprint (MD5): A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB
-@@ -4175,16 +4201,17 @@ CKA_VALUE MULTILINE_OCTAL
- \211\272\061\035\305\020\150\122\236\337\242\205\305\134\010\246
- \170\346\123\117\261\350\267\323\024\236\223\246\303\144\343\254
- \176\161\315\274\237\351\003\033\314\373\351\254\061\301\257\174
- \025\164\002\231\303\262\107\246\302\062\141\327\307\157\110\044
- \121\047\241\325\207\125\362\173\217\230\075\026\236\356\165\266
- \370\320\216\362\363\306\256\050\133\247\360\363\066\027\374\303
- \005\323\312\003\112\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Email Root CA"
- # Issuer: CN=UTN-USERFirst-Client Authentication and Email,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:25:25:67:c9:89
- # Subject: CN=UTN-USERFirst-Client Authentication and Email,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 17:28:50 1999
- # Not Valid After : Tue Jul 09 17:36:58 2019
- # Fingerprint (MD5): D7:34:3D:EF:1D:27:09:28:E1:31:02:5B:13:2B:DD:F7
-@@ -4338,16 +4365,17 @@ CKA_VALUE MULTILINE_OCTAL
- \370\323\157\133\036\226\343\340\164\167\164\173\212\242\156\055
- \335\166\326\071\060\202\360\253\234\122\362\052\307\257\111\136
- \176\307\150\345\202\201\310\152\047\371\047\210\052\325\130\120
- \225\037\360\073\034\127\273\175\024\071\142\053\232\311\224\222
- \052\243\042\014\377\211\046\175\137\043\053\107\327\025\035\251
- \152\236\121\015\052\121\236\201\371\324\073\136\160\022\177\020
- \062\234\036\273\235\370\146\250
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Hardware Root CA"
- # Issuer: CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:2a:fe:65:0a:fd
- # Subject: CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 18:10:42 1999
- # Not Valid After : Tue Jul 09 18:19:22 2019
- # Fingerprint (MD5): 4C:56:41:E5:0D:BB:2B:E8:CA:A3:ED:18:08:AD:43:39
-@@ -4498,16 +4526,17 @@ CKA_VALUE MULTILINE_OCTAL
- \261\104\252\152\317\027\172\317\157\017\324\370\044\125\137\360
- \064\026\111\146\076\120\106\311\143\161\070\061\142\270\142\271
- \363\123\255\154\265\053\242\022\252\031\117\011\332\136\347\223
- \306\216\024\010\376\360\060\200\030\240\206\205\115\310\175\327
- \213\003\376\156\325\367\235\026\254\222\054\240\043\345\234\221
- \122\037\224\337\027\224\163\303\263\301\301\161\005\040\000\170
- \275\023\122\035\250\076\315\000\037\310
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Object Root CA"
- # Issuer: CN=UTN-USERFirst-Object,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:2d:e0:b3:5f:1b
- # Subject: CN=UTN-USERFirst-Object,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 18:31:20 1999
- # Not Valid After : Tue Jul 09 18:40:36 2019
- # Fingerprint (MD5): A7:F2:E4:16:06:41:11:50:30:6B:9C:E3:B4:9C:B0:C9
-@@ -4661,16 +4690,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\351\007\106\101\316\357\101\201\256\130\337\203\242\256\312
- \327\167\037\347\000\074\235\157\216\344\062\011\035\115\170\064
- \170\064\074\224\233\046\355\117\161\306\031\172\275\040\042\110
- \132\376\113\175\003\267\347\130\276\306\062\116\164\036\150\335
- \250\150\133\263\076\356\142\175\331\200\350\012\165\172\267\356
- \264\145\232\041\220\340\252\320\230\274\070\265\163\074\213\370
- \334
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Camerfirma Chambers of Commerce Root"
- # Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Serial Number: 0 (0x0)
- # Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Not Valid Before: Tue Sep 30 16:13:43 2003
- # Not Valid After : Wed Sep 30 16:13:44 2037
- # Fingerprint (MD5): B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84
-@@ -4820,16 +4850,17 @@ CKA_VALUE MULTILINE_OCTAL
- \222\025\323\137\076\306\000\111\072\156\130\262\321\321\047\015
- \045\310\062\370\040\021\315\175\062\063\110\224\124\114\335\334
- \171\304\060\237\353\216\270\125\265\327\210\134\305\152\044\075
- \262\323\005\003\121\306\007\357\314\024\162\164\075\156\162\316
- \030\050\214\112\240\167\345\011\053\105\104\107\254\267\147\177
- \001\212\005\132\223\276\241\301\377\370\347\016\147\244\107\111
- \166\135\165\220\032\365\046\217\360
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Camerfirma Global Chambersign Root"
- # Issuer: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Serial Number: 0 (0x0)
- # Subject: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Not Valid Before: Tue Sep 30 16:14:18 2003
- # Not Valid After : Wed Sep 30 16:14:18 2037
- # Fingerprint (MD5): C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19
-@@ -4972,16 +5003,17 @@ CKA_VALUE MULTILINE_OCTAL
- \212\144\101\061\270\016\154\220\044\244\233\134\161\217\272\273
- \176\034\033\333\152\200\017\041\274\351\333\246\267\100\364\262
- \213\251\261\344\357\232\032\320\075\151\231\356\250\050\243\341
- \074\263\360\262\021\234\317\174\100\346\335\347\103\175\242\330
- \072\265\251\215\362\064\231\304\324\020\341\006\375\011\204\020
- \073\356\304\114\364\354\047\174\102\302\164\174\202\212\011\311
- \264\003\045\274
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "XRamp Global CA Root"
- # Issuer: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
- # Serial Number:50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad
- # Subject: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
- # Not Valid Before: Mon Nov 01 17:14:04 2004
- # Not Valid After : Mon Jan 01 05:37:19 2035
- # Fingerprint (MD5): A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1
-@@ -5118,16 +5150,17 @@ CKA_VALUE MULTILINE_OCTAL
- \216\222\204\162\071\353\040\352\203\355\203\315\227\156\010\274
- \353\116\046\266\163\053\344\323\366\114\376\046\161\342\141\021
- \164\112\377\127\032\207\017\165\110\056\317\121\151\027\240\002
- \022\141\225\325\321\100\262\020\114\356\304\254\020\103\246\245
- \236\012\325\225\142\232\015\317\210\202\305\062\014\344\053\237
- \105\346\015\237\050\234\261\271\052\132\127\255\067\017\257\035
- \177\333\275\237
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Go Daddy Class 2 CA"
- # Issuer: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US
- # Serial Number: 0 (0x0)
- # Subject: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US
- # Not Valid Before: Tue Jun 29 17:06:20 2004
- # Not Valid After : Thu Jun 29 17:06:20 2034
- # Fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67
-@@ -5262,16 +5295,17 @@ CKA_VALUE MULTILINE_OCTAL
- \055\225\276\365\161\220\103\314\215\037\232\000\012\207\051\351
- \125\042\130\000\043\352\343\022\103\051\133\107\010\335\214\101
- \152\145\006\250\345\041\252\101\264\225\041\225\271\175\321\064
- \253\023\326\255\274\334\342\075\071\315\275\076\165\160\241\030
- \131\003\311\042\264\217\234\325\136\052\327\245\266\324\012\155
- \370\267\100\021\106\232\037\171\016\142\277\017\227\354\340\057
- \037\027\224
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Class 2 CA"
- # Issuer: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US
- # Serial Number: 0 (0x0)
- # Subject: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US
- # Not Valid Before: Tue Jun 29 17:39:16 2004
- # Not Valid After : Thu Jun 29 17:39:16 2034
- # Fingerprint (MD5): 32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24
-@@ -5467,16 +5501,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\340\167\055\341\145\231\162\151\004\032\107\011\346\017\001
- \126\044\373\037\277\016\171\251\130\056\271\304\011\001\176\225
- \272\155\000\006\076\262\352\112\020\071\330\320\053\365\277\354
- \165\277\227\002\305\011\033\010\334\125\067\342\201\373\067\204
- \103\142\040\312\347\126\113\145\352\376\154\301\044\223\044\241
- \064\353\005\377\232\042\256\233\175\077\361\145\121\012\246\060
- \152\263\364\210\034\200\015\374\162\212\350\203\136
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "StartCom Certification Authority"
- # Issuer: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Serial Number: 1 (0x1)
- # Subject: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Not Valid Before: Sun Sep 17 19:46:36 2006
- # Not Valid After : Wed Sep 17 19:46:36 2036
- # Fingerprint (MD5): 22:4D:8F:8A:FC:F7:35:C2:BB:57:34:90:7B:8B:22:16
-@@ -5631,16 +5666,17 @@ CKA_VALUE MULTILINE_OCTAL
- \262\304\060\231\043\116\135\362\110\241\022\014\334\022\220\011
- \220\124\221\003\074\107\345\325\311\145\340\267\113\175\354\107
- \323\263\013\076\255\236\320\164\000\016\353\275\121\255\300\336
- \054\300\303\152\376\357\334\013\247\372\106\337\140\333\234\246
- \131\120\165\043\151\163\223\262\371\374\002\323\107\346\161\316
- \020\002\356\047\214\204\377\254\105\015\023\134\203\062\340\045
- \245\206\054\174\364\022
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Taiwan GRCA"
- # Issuer: O=Government Root Certification Authority,C=TW
- # Serial Number:1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6
- # Subject: O=Government Root Certification Authority,C=TW
- # Not Valid Before: Thu Dec 05 13:23:33 2002
- # Not Valid After : Sun Dec 05 13:23:33 2032
- # Fingerprint (MD5): 37:85:44:53:32:45:1F:20:F0:F3:95:E1:25:C4:43:4E
-@@ -5803,16 +5839,17 @@ CKA_VALUE MULTILINE_OCTAL
- \204\126\141\276\161\027\376\035\023\017\376\306\207\105\351\376
- \062\240\032\015\023\244\224\125\161\245\026\213\272\312\211\260
- \262\307\374\217\330\124\265\223\142\235\316\317\131\373\075\030
- \316\052\313\065\025\202\135\377\124\042\133\161\122\373\267\311
- \376\140\233\000\101\144\360\252\052\354\266\102\103\316\211\146
- \201\310\213\237\071\124\003\045\323\026\065\216\204\320\137\372
- \060\032\365\232\154\364\016\123\371\072\133\321\034
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Swisscom Root CA 1"
- # Issuer: CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:5c:0b:85:5c:0b:e7:59:41:df:57:cc:3f:7f:9d:a8:36
- # Subject: CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Thu Aug 18 12:06:20 2005
- # Not Valid After : Mon Aug 18 22:06:20 2025
- # Fingerprint (MD5): F8:38:7C:77:88:DF:2C:16:68:2E:C2:E2:52:4B:B8:F9
-@@ -5943,16 +5980,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\267\372\214\036\335\142\361\276\120\147\267\154\275\363\361
- \037\153\014\066\007\026\177\067\174\251\133\155\172\361\022\106
- \140\203\327\047\004\276\113\316\227\276\303\147\052\150\021\337
- \200\347\014\063\146\277\023\015\024\156\363\177\037\143\020\036
- \372\215\033\045\155\154\217\245\267\141\001\261\322\243\046\241
- \020\161\235\255\342\303\371\303\231\121\267\053\007\010\316\056
- \346\120\262\247\372\012\105\057\242\360\362
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert Assured ID Root CA"
- # Issuer: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39
- # Subject: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): 87:CE:0B:7B:2A:0E:49:00:E1:58:71:9B:37:A8:93:72
-@@ -6083,16 +6121,17 @@ CKA_VALUE MULTILINE_OCTAL
- \076\052\271\066\123\317\072\120\006\367\056\350\304\127\111\154
- \141\041\030\325\004\255\170\074\054\072\200\153\247\353\257\025
- \024\351\330\211\301\271\070\154\342\221\154\212\377\144\271\167
- \045\127\060\300\033\044\243\341\334\351\337\107\174\265\264\044
- \010\005\060\354\055\275\013\277\105\277\120\271\251\363\353\230
- \001\022\255\310\210\306\230\064\137\215\012\074\306\351\325\225
- \225\155\336
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert Global Root CA"
- # Issuer: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a
- # Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): 79:E4:A9:84:0D:7D:3A:96:D7:C0:4F:E2:43:4C:89:2E
-@@ -6224,16 +6263,17 @@ CKA_VALUE MULTILINE_OCTAL
- \143\070\275\104\244\177\344\046\053\012\304\227\151\015\351\214
- \342\300\020\127\270\310\166\022\221\125\362\110\151\330\274\052
- \002\133\017\104\324\040\061\333\364\272\160\046\135\220\140\236
- \274\113\027\011\057\264\313\036\103\150\311\007\047\301\322\134
- \367\352\041\271\150\022\234\074\234\277\236\374\200\134\233\143
- \315\354\107\252\045\047\147\240\067\363\000\202\175\124\327\251
- \370\351\056\023\243\167\350\037\112
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert High Assurance EV Root CA"
- # Issuer: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77
- # Subject: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): D4:74:DE:57:5C:39:B2:D3:9C:85:83:C5:C0:65:49:8A
-@@ -6356,16 +6396,17 @@ CKA_VALUE MULTILINE_OCTAL
- \311\273\211\176\156\200\210\036\057\024\264\003\044\250\062\157
- \003\232\107\054\060\276\126\306\247\102\002\160\033\352\100\330
- \272\005\003\160\007\244\226\377\375\110\063\012\341\334\245\201
- \220\233\115\335\175\347\347\262\315\134\310\152\225\370\245\366
- \215\304\135\170\010\276\173\006\326\111\317\031\066\120\043\056
- \010\346\236\005\115\107\030\325\026\351\261\326\266\020\325\273
- \227\277\242\216\264\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certplus Class 2 Primary CA"
- # Issuer: CN=Class 2 Primary CA,O=Certplus,C=FR
- # Serial Number:00:85:bd:4b:f3:d8:da:e3:69:f6:94:d7:5f:c3:a5:44:23
- # Subject: CN=Class 2 Primary CA,O=Certplus,C=FR
- # Not Valid Before: Wed Jul 07 17:05:00 1999
- # Not Valid After : Sat Jul 06 23:59:59 2019
- # Fingerprint (MD5): 88:2C:8C:52:B8:A2:3C:F3:F7:BB:03:EA:AE:AC:42:0B
-@@ -6482,16 +6523,17 @@ CKA_VALUE MULTILINE_OCTAL
- \162\062\207\306\360\104\273\123\162\155\103\365\046\110\232\122
- \147\267\130\253\376\147\166\161\170\333\015\242\126\024\023\071
- \044\061\205\242\250\002\132\060\107\341\335\120\007\274\002\011
- \220\000\353\144\143\140\233\026\274\210\311\022\346\322\175\221
- \213\371\075\062\215\145\264\351\174\261\127\166\352\305\266\050
- \071\277\025\145\034\310\366\167\226\152\012\215\167\013\330\221
- \013\004\216\007\333\051\266\012\356\235\202\065\065\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DST Root CA X3"
- # Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co.
- # Serial Number:44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b
- # Subject: CN=DST Root CA X3,O=Digital Signature Trust Co.
- # Not Valid Before: Sat Sep 30 21:12:19 2000
- # Not Valid After : Thu Sep 30 14:01:15 2021
- # Fingerprint (MD5): 41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5
-@@ -6623,16 +6665,17 @@ CKA_VALUE MULTILINE_OCTAL
- \343\062\213\372\340\301\206\115\162\074\056\330\223\170\012\052
- \370\330\322\047\075\031\211\137\132\173\212\073\314\014\332\121
- \256\307\013\367\053\260\067\005\354\274\127\043\342\070\322\233
- \150\363\126\022\210\117\102\174\270\061\304\265\333\344\310\041
- \064\351\110\021\065\356\372\307\222\127\305\237\064\344\307\366
- \367\016\013\114\234\150\170\173\161\061\307\353\036\340\147\101
- \363\267\240\247\315\345\172\063\066\152\372\232\053
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DST ACES CA X6"
- # Issuer: CN=DST ACES CA X6,OU=DST ACES,O=Digital Signature Trust,C=US
- # Serial Number:0d:5e:99:0a:d6:9d:b7:78:ec:d8:07:56:3b:86:15:d9
- # Subject: CN=DST ACES CA X6,OU=DST ACES,O=Digital Signature Trust,C=US
- # Not Valid Before: Thu Nov 20 21:19:58 2003
- # Not Valid After : Mon Nov 20 21:19:58 2017
- # Fingerprint (MD5): 21:D8:4C:82:2B:99:09:33:A2:EB:14:24:8D:8E:5F:E8
-@@ -6790,16 +6833,17 @@ CKA_VALUE MULTILINE_OCTAL
- \137\373\140\130\321\373\304\301\155\211\242\273\040\037\235\161
- \221\313\062\233\023\075\076\175\222\122\065\254\222\224\242\323
- \030\302\174\307\352\257\166\005\026\335\147\047\302\176\034\007
- \042\041\363\100\012\033\064\007\104\023\302\204\152\216\337\031
- \132\277\177\353\035\342\032\070\321\134\257\107\222\153\200\265
- \060\245\311\215\330\253\061\201\037\337\302\146\067\323\223\251
- \205\206\171\145\322
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Platinum CA - G2"
- # Issuer: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH
- # Serial Number:4e:b2:00:67:0c:03:5d:4f
- # Subject: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:36:00 2006
- # Not Valid After : Sat Oct 25 08:36:00 2036
- # Fingerprint (MD5): C9:98:27:77:28:1E:3D:0E:15:3C:84:00:B8:85:03:E6
-@@ -6954,16 +6998,17 @@ CKA_VALUE MULTILINE_OCTAL
- \001\320\277\150\236\143\140\153\065\115\013\155\272\241\075\300
- \223\340\177\043\263\125\255\162\045\116\106\371\322\026\357\260
- \144\301\001\236\351\312\240\152\230\016\317\330\140\362\057\111
- \270\344\102\341\070\065\026\364\310\156\117\367\201\126\350\272
- \243\276\043\257\256\375\157\003\340\002\073\060\166\372\033\155
- \101\317\001\261\351\270\311\146\364\333\046\363\072\244\164\362
- \111\044\133\311\260\320\127\301\372\076\172\341\227\311
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Gold CA - G2"
- # Issuer: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
- # Serial Number:00:bb:40:1c:43:f5:5e:4f:b0
- # Subject: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:30:35 2006
- # Not Valid After : Sat Oct 25 08:30:35 2036
- # Fingerprint (MD5): 24:77:D9:A8:91:D1:3B:FA:88:2D:C2:FF:F8:CD:33:93
-@@ -7119,16 +7164,17 @@ CKA_VALUE MULTILINE_OCTAL
- \212\060\372\215\345\232\153\025\001\116\147\252\332\142\126\076
- \204\010\146\322\304\066\175\247\076\020\374\210\340\324\200\345
- \000\275\252\363\116\006\243\172\152\371\142\162\343\011\117\353
- \233\016\001\043\361\237\273\174\334\334\154\021\227\045\262\362
- \264\143\024\322\006\052\147\214\203\365\316\352\007\330\232\152
- \036\354\344\012\273\052\114\353\011\140\071\316\312\142\330\056
- \156
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Silver CA - G2"
- # Issuer: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH
- # Serial Number:4f:1b:d4:2f:54:bb:2f:4b
- # Subject: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:32:46 2006
- # Not Valid After : Sat Oct 25 08:32:46 2036
- # Fingerprint (MD5): E0:06:A1:C9:7D:CF:C9:FC:0D:C0:56:75:96:D8:62:13
-@@ -7250,16 +7296,17 @@ CKA_VALUE MULTILINE_OCTAL
- \254\257\031\240\163\022\055\374\302\101\272\201\221\332\026\132
- \061\267\371\264\161\200\022\110\231\162\163\132\131\123\301\143
- \122\063\355\247\311\322\071\002\160\372\340\261\102\146\051\252
- \233\121\355\060\124\042\024\137\331\253\035\301\344\224\360\370
- \365\053\367\352\312\170\106\326\270\221\375\246\015\053\032\024
- \001\076\200\360\102\240\225\007\136\155\315\314\113\244\105\215
- \253\022\350\263\336\132\345\240\174\350\017\042\035\132\351\131
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority"
- # Issuer: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US
- # Serial Number:18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1
- # Subject: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US
- # Not Valid Before: Mon Nov 27 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): 02:26:C3:01:5E:08:30:37:43:A9:D0:7D:CF:37:E6:BF
-@@ -7404,16 +7451,17 @@ CKA_VALUE MULTILINE_OCTAL
- \376\254\100\171\345\254\020\157\075\217\033\171\166\213\304\067
- \263\041\030\204\345\066\000\353\143\040\231\271\351\376\063\004
- \273\101\310\301\002\371\104\143\040\236\201\316\102\323\326\077
- \054\166\323\143\234\131\335\217\246\341\016\240\056\101\367\056
- \225\107\317\274\375\063\363\366\013\141\176\176\221\053\201\107
- \302\047\060\356\247\020\135\067\217\134\071\053\344\004\360\173
- \215\126\214\150
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA"
- # Issuer: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Serial Number:34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d
- # Subject: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Not Valid Before: Fri Nov 17 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): 8C:CA:DC:0B:22:CE:F5:BE:72:AC:41:1A:11:A8:D8:12
-@@ -7578,16 +7626,17 @@ CKA_VALUE MULTILINE_OCTAL
- \336\375\250\202\052\155\050\037\015\013\304\345\347\032\046\031
- \341\364\021\157\020\265\225\374\347\102\005\062\333\316\235\121
- \136\050\266\236\205\323\133\357\245\175\105\100\162\216\267\016
- \153\016\006\373\063\065\110\161\270\235\047\213\304\145\137\015
- \206\166\234\104\172\366\225\134\366\135\062\010\063\244\124\266
- \030\077\150\134\362\102\112\205\070\124\203\137\321\350\054\362
- \254\021\326\250\355\143\152
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G5"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Wed Nov 08 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): CB:17:E4:31:67:3E:E2:09:FE:45:57:93:F3:0A:FA:1C
-@@ -7720,16 +7769,17 @@ CKA_VALUE MULTILINE_OCTAL
- \144\122\066\137\140\147\331\234\305\005\164\013\347\147\043\322
- \010\374\210\351\256\213\177\341\060\364\067\176\375\306\062\332
- \055\236\104\060\060\154\356\007\336\322\064\374\322\377\100\366
- \113\364\146\106\006\124\246\362\062\012\143\046\060\153\233\321
- \334\213\107\272\341\271\325\142\320\242\240\364\147\005\170\051
- \143\032\157\004\326\370\306\114\243\232\261\067\264\215\345\050
- \113\035\236\054\302\270\150\274\355\002\356\061
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SecureTrust CA"
- # Issuer: CN=SecureTrust CA,O=SecureTrust Corporation,C=US
- # Serial Number:0c:f0:8e:5c:08:16:a5:ad:42:7f:f0:eb:27:18:59:d0
- # Subject: CN=SecureTrust CA,O=SecureTrust Corporation,C=US
- # Not Valid Before: Tue Nov 07 19:31:18 2006
- # Not Valid After : Mon Dec 31 19:40:55 2029
- # Fingerprint (MD5): DC:32:C3:A7:6D:25:57:C7:68:09:9D:EA:2D:A9:A2:D1
-@@ -7854,16 +7904,17 @@ CKA_VALUE MULTILINE_OCTAL
- \103\265\113\055\024\237\371\334\046\015\277\246\107\164\006\330
- \210\321\072\051\060\204\316\322\071\200\142\033\250\307\127\111
- \274\152\125\121\147\025\112\276\065\007\344\325\165\230\067\171
- \060\024\333\051\235\154\305\151\314\107\125\242\060\367\314\134
- \177\302\303\230\034\153\116\026\200\353\172\170\145\105\242\000
- \032\257\014\015\125\144\064\110\270\222\271\361\264\120\051\362
- \117\043\037\332\154\254\037\104\341\335\043\170\121\133\307\026
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Secure Global CA"
- # Issuer: CN=Secure Global CA,O=SecureTrust Corporation,C=US
- # Serial Number:07:56:22:a4:e8:d4:8a:89:4d:f4:13:c8:f0:f8:ea:a5
- # Subject: CN=Secure Global CA,O=SecureTrust Corporation,C=US
- # Not Valid Before: Tue Nov 07 19:42:28 2006
- # Not Valid After : Mon Dec 31 19:52:06 2029
- # Fingerprint (MD5): CF:F4:27:0D:D4:ED:DC:65:16:49:6D:3D:DA:BF:6E:DE
-@@ -8003,16 +8054,17 @@ CKA_VALUE MULTILINE_OCTAL
- \314\225\122\223\360\160\045\131\234\040\147\304\356\371\213\127
- \141\364\222\166\175\077\204\215\125\267\350\345\254\325\361\365
- \031\126\246\132\373\220\034\257\223\353\345\034\324\147\227\135
- \004\016\276\013\203\246\027\203\271\060\022\240\305\063\025\005
- \271\015\373\307\005\166\343\330\112\215\374\064\027\243\306\041
- \050\276\060\105\061\036\307\170\276\130\141\070\254\073\342\001
- \145
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "COMODO Certification Authority"
- # Issuer: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:4e:81:2d:8a:82:65:e0:0b:02:ee:3e:35:02:46:e5:3d
- # Subject: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Fri Dec 01 00:00:00 2006
- # Not Valid After : Mon Dec 31 23:59:59 2029
- # Fingerprint (MD5): 5C:48:DC:F7:42:72:EC:56:94:6D:1C:CC:71:35:80:75
-@@ -8148,16 +8200,17 @@ CKA_VALUE MULTILINE_OCTAL
- \056\044\137\313\130\017\353\050\354\257\021\226\363\334\173\157
- \300\247\210\362\123\167\263\140\136\256\256\050\332\065\054\157
- \064\105\323\046\341\336\354\133\117\047\153\026\174\275\104\004
- \030\202\263\211\171\027\020\161\075\172\242\026\116\365\001\315
- \244\154\145\150\241\111\166\134\103\311\330\274\066\147\154\245
- \224\265\324\314\271\275\152\065\126\041\336\330\303\353\373\313
- \244\140\114\260\125\240\240\173\127\262
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Network Solutions Certificate Authority"
- # Issuer: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
- # Serial Number:57:cb:33:6f:c2:5c:16:e6:47:16:17:e3:90:31:68:e0
- # Subject: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
- # Not Valid Before: Fri Dec 01 00:00:00 2006
- # Not Valid After : Mon Dec 31 23:59:59 2029
- # Fingerprint (MD5): D3:F3:A6:16:C0:FA:6B:1D:59:B1:2D:96:4D:0E:11:2E
-@@ -8308,16 +8361,17 @@ CKA_VALUE MULTILINE_OCTAL
- \332\245\223\127\216\076\155\065\046\010\131\325\347\104\327\166
- \040\143\347\254\023\147\303\155\261\160\106\174\325\226\021\075
- \211\157\135\250\241\353\215\012\332\303\035\063\154\243\352\147
- \031\232\231\177\113\075\203\121\052\035\312\057\206\014\242\176
- \020\055\053\324\026\225\013\007\252\056\024\222\111\267\051\157
- \330\155\061\175\365\374\241\020\007\207\316\057\131\334\076\130
- \333
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "WellsSecure Public Root Certificate Authority"
- # Issuer: CN=WellsSecure Public Root Certificate Authority,OU=Wells Fargo Bank NA,O=Wells Fargo WellsSecure,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=WellsSecure Public Root Certificate Authority,OU=Wells Fargo Bank NA,O=Wells Fargo WellsSecure,C=US
- # Not Valid Before: Thu Dec 13 17:07:54 2007
- # Not Valid After : Wed Dec 14 00:07:54 2022
- # Fingerprint (MD5): 15:AC:A5:C2:92:2D:79:BC:E8:7F:CB:67:ED:02:CF:36
-@@ -8434,16 +8488,17 @@ CKA_VALUE MULTILINE_OCTAL
- \004\003\003\003\150\000\060\145\002\061\000\357\003\133\172\254
- \267\170\012\162\267\210\337\377\265\106\024\011\012\372\240\346
- \175\010\306\032\207\275\030\250\163\275\046\312\140\014\235\316
- \231\237\317\134\017\060\341\276\024\061\352\002\060\024\364\223
- \074\111\247\063\172\220\106\107\263\143\175\023\233\116\267\157
- \030\067\200\123\376\335\040\340\065\232\066\321\307\001\271\346
- \334\335\363\377\035\054\072\026\127\331\222\071\326
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "COMODO ECC Certification Authority"
- # Issuer: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:1f:47:af:aa:62:00:70:50:54:4c:01:9e:9b:63:99:2a
- # Subject: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Mar 06 00:00:00 2008
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 7C:62:FF:74:9D:31:53:5E:68:4A:D5:78:AA:1E:BF:23
-@@ -8741,16 +8796,17 @@ CKA_VALUE MULTILINE_OCTAL
- \250\215\376\206\076\007\026\222\341\173\347\035\354\063\166\176
- \102\056\112\205\371\221\211\150\204\003\201\245\233\232\276\343
- \067\305\124\253\126\073\030\055\101\244\014\370\102\333\231\240
- \340\162\157\273\135\341\026\117\123\012\144\371\116\364\277\116
- \124\275\170\154\210\352\277\234\023\044\302\160\151\242\177\017
- \310\074\255\010\311\260\230\100\243\052\347\210\203\355\167\217
- \164
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication EV RootCA1"
- # Issuer: OU=Security Communication EV RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication EV RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Not Valid Before: Wed Jun 06 02:12:32 2007
- # Not Valid After : Sat Jun 06 02:12:32 2037
- # Fingerprint (MD5): 22:2D:A6:01:EA:7C:0A:F7:F0:6C:56:43:3F:77:76:D3
-@@ -8888,16 +8944,17 @@ CKA_VALUE MULTILINE_OCTAL
- \204\325\120\003\266\342\204\243\246\066\252\021\072\001\341\030
- \113\326\104\150\263\075\371\123\164\204\263\106\221\106\226\000
- \267\200\054\266\341\343\020\342\333\242\347\050\217\001\226\142
- \026\076\000\343\034\245\066\201\030\242\114\122\166\300\021\243
- \156\346\035\272\343\132\276\066\123\305\076\165\217\206\151\051
- \130\123\265\234\273\157\237\134\305\030\354\335\057\341\230\311
- \374\276\337\012\015
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "OISTE WISeKey Global Root GA CA"
- # Issuer: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH
- # Serial Number:41:3d:72:c7:f4:6b:1f:81:43:7d:f1:d2:28:54:df:9a
- # Subject: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH
- # Not Valid Before: Sun Dec 11 16:03:44 2005
- # Not Valid After : Fri Dec 11 16:09:51 2037
- # Fingerprint (MD5): BC:6C:51:33:A7:E9:D3:66:63:54:15:72:1B:21:92:93
-@@ -9095,16 +9152,17 @@ CKA_VALUE MULTILINE_OCTAL
- \254\106\155\114\364\062\207\264\040\004\340\154\170\260\167\321
- \205\106\113\246\022\267\165\350\112\311\126\154\327\222\253\235
- \365\111\070\322\117\123\343\125\220\021\333\230\226\306\111\362
- \076\364\237\033\340\367\210\334\045\142\231\104\330\163\277\077
- \060\363\014\067\076\324\302\050\200\163\261\001\267\235\132\226
- \024\001\113\251\021\235\051\152\056\320\135\201\300\317\262\040
- \103\307\003\340\067\116\135\012\334\131\040\045
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Microsec e-Szigno Root CA"
- # Issuer: CN=Microsec e-Szigno Root CA,OU=e-Szigno CA,O=Microsec Ltd.,L=Budapest,C=HU
- # Serial Number:00:cc:b8:e7:bf:4e:29:1a:fd:a2:dc:66:a5:1c:2c:0f:11
- # Subject: CN=Microsec e-Szigno Root CA,OU=e-Szigno CA,O=Microsec Ltd.,L=Budapest,C=HU
- # Not Valid Before: Wed Apr 06 12:28:44 2005
- # Not Valid After : Thu Apr 06 12:28:44 2017
- # Fingerprint (MD5): F0:96:B6:2F:C5:10:D5:67:8E:83:25:32:E8:5E:2E:E5
-@@ -9228,16 +9286,17 @@ CKA_VALUE MULTILINE_OCTAL
- \013\221\003\165\054\154\162\265\141\225\232\015\213\271\015\347
- \365\337\124\315\336\346\330\326\011\010\227\143\345\301\056\260
- \267\104\046\300\046\300\257\125\060\236\073\325\066\052\031\004
- \364\134\036\377\317\054\267\377\320\375\207\100\021\325\021\043
- \273\110\300\041\251\244\050\055\375\025\370\260\116\053\364\060
- \133\041\374\021\221\064\276\101\357\173\235\227\165\377\227\225
- \300\226\130\057\352\273\106\327\273\344\331\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certigna"
- # Issuer: CN=Certigna,O=Dhimyotis,C=FR
- # Serial Number:00:fe:dc:e3:01:0f:c9:48:ff
- # Subject: CN=Certigna,O=Dhimyotis,C=FR
- # Not Valid Before: Fri Jun 29 15:13:05 2007
- # Not Valid After : Tue Jun 29 15:13:05 2027
- # Fingerprint (MD5): AB:57:A6:5B:7D:42:82:19:B5:D8:58:26:28:5E:FD:FF
-@@ -9409,16 +9468,17 @@ CKA_VALUE MULTILINE_OCTAL
- \104\276\141\106\241\204\075\010\047\114\201\040\167\211\010\352
- \147\100\136\154\010\121\137\064\132\214\226\150\315\327\367\211
- \302\034\323\062\000\257\122\313\323\140\133\052\072\107\176\153
- \060\063\241\142\051\177\112\271\341\055\347\024\043\016\016\030
- \107\341\171\374\025\125\320\261\374\045\161\143\165\063\034\043
- \053\257\134\331\355\107\167\140\016\073\017\036\322\300\334\144
- \005\211\374\170\326\134\054\046\103\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AC Raiz Certicamara S.A."
- # Issuer: CN=AC Ra..z Certic..mara S.A.,O=Sociedad Cameral de Certificaci..n Digital - Certic..mara S.A.,C=CO
- # Serial Number:07:7e:52:93:7b:e0:15:e3:57:f0:69:8c:cb:ec:0c
- # Subject: CN=AC Ra..z Certic..mara S.A.,O=Sociedad Cameral de Certificaci..n Digital - Certic..mara S.A.,C=CO
- # Not Valid Before: Mon Nov 27 20:46:29 2006
- # Not Valid After : Tue Apr 02 21:42:02 2030
- # Fingerprint (MD5): 93:2A:3E:F6:FD:23:69:0D:71:20:D4:2B:47:99:2B:A6
-@@ -9566,16 +9626,17 @@ CKA_VALUE MULTILINE_OCTAL
- \334\071\361\305\162\243\021\003\375\073\102\122\051\333\350\001
- \367\233\136\214\326\215\206\116\031\372\274\034\276\305\041\245
- \207\236\170\056\066\333\011\161\243\162\064\370\154\343\006\011
- \362\136\126\245\323\335\230\372\324\346\006\364\360\266\040\143
- \113\352\051\275\252\202\146\036\373\201\252\247\067\255\023\030
- \346\222\303\201\301\063\273\210\036\241\347\342\264\275\061\154
- \016\121\075\157\373\226\126\200\342\066\027\321\334\344
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TC TrustCenter Class 3 CA II"
- # Issuer: CN=TC TrustCenter Class 3 CA II,OU=TC TrustCenter Class 3 CA,O=TC TrustCenter GmbH,C=DE
- # Serial Number:4a:47:00:01:00:02:e5:a0:5d:d6:3f:00:51:bf
- # Subject: CN=TC TrustCenter Class 3 CA II,OU=TC TrustCenter Class 3 CA,O=TC TrustCenter GmbH,C=DE
- # Not Valid Before: Thu Jan 12 14:41:57 2006
- # Not Valid After : Wed Dec 31 22:59:59 2025
- # Fingerprint (MD5): 56:5F:AA:80:61:12:17:F6:67:21:E6:2B:6D:61:56:8E
-@@ -9706,16 +9767,17 @@ CKA_VALUE MULTILINE_OCTAL
- \332\347\212\067\041\276\131\143\340\362\205\210\061\123\324\124
- \024\205\160\171\364\056\006\167\047\165\057\037\270\212\371\376
- \305\272\330\066\344\203\354\347\145\267\277\143\132\363\106\257
- \201\224\067\324\101\214\326\043\326\036\317\365\150\033\104\143
- \242\132\272\247\065\131\241\345\160\005\233\016\043\127\231\224
- \012\155\272\071\143\050\206\222\363\030\204\330\373\321\317\005
- \126\144\127
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Deutsche Telekom Root CA 2"
- # Issuer: CN=Deutsche Telekom Root CA 2,OU=T-TeleSec Trust Center,O=Deutsche Telekom AG,C=DE
- # Serial Number: 38 (0x26)
- # Subject: CN=Deutsche Telekom Root CA 2,OU=T-TeleSec Trust Center,O=Deutsche Telekom AG,C=DE
- # Not Valid Before: Fri Jul 09 12:11:00 1999
- # Not Valid After : Tue Jul 09 23:59:00 2019
- # Fingerprint (MD5): 74:01:4A:91:B1:08:C4:58:CE:47:CD:F0:DD:11:53:08
-@@ -9838,16 +9900,17 @@ CKA_VALUE MULTILINE_OCTAL
- \205\272\115\355\050\062\353\371\141\112\344\304\066\036\031\334
- \157\204\021\037\225\365\203\050\030\250\063\222\103\047\335\135
- \023\004\105\117\207\325\106\315\075\250\272\360\363\270\126\044
- \105\353\067\307\341\166\117\162\071\030\337\176\164\162\307\163
- \055\071\352\140\346\255\021\242\126\207\173\303\150\232\376\370
- \214\160\250\337\145\062\364\244\100\214\241\302\104\003\016\224
- \000\147\240\161\000\202\110
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ComSign CA"
- # Issuer: C=IL,O=ComSign,CN=ComSign CA
- # Serial Number:14:13:96:83:14:55:8c:ea:7b:63:e5:fc:34:87:77:44
- # Subject: C=IL,O=ComSign,CN=ComSign CA
- # Not Valid Before: Wed Mar 24 11:32:18 2004
- # Not Valid After : Mon Mar 19 15:02:18 2029
- # Fingerprint (MD5): CD:F4:39:F3:B5:18:50:D7:3E:A4:C5:91:A0:3E:21:4B
-@@ -9968,16 +10031,17 @@ CKA_VALUE MULTILINE_OCTAL
- \275\224\000\231\277\021\245\334\340\171\305\026\013\175\002\141
- \035\352\205\371\002\025\117\347\132\211\116\024\157\343\067\113
- \205\365\301\074\141\340\375\005\101\262\222\177\303\035\240\320
- \256\122\144\140\153\030\306\046\234\330\365\144\344\066\032\142
- \237\212\017\076\377\155\116\031\126\116\040\221\154\237\064\063
- \072\064\127\120\072\157\201\136\006\306\365\076\174\116\216\053
- \316\145\006\056\135\322\052\123\164\136\323\156\047\236\217
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ComSign Secured CA"
- # Issuer: C=IL,O=ComSign,CN=ComSign Secured CA
- # Serial Number:00:c7:28:47:09:b3:b8:6c:45:8c:1d:fa:24:f5:36:4e:e9
- # Subject: C=IL,O=ComSign,CN=ComSign Secured CA
- # Not Valid Before: Wed Mar 24 11:37:20 2004
- # Not Valid After : Fri Mar 16 15:04:56 2029
- # Fingerprint (MD5): 40:01:25:06:8D:21:43:6A:0E:43:00:9C:E7:43:F3:D5
-@@ -10097,16 +10161,17 @@ CKA_VALUE MULTILINE_OCTAL
- \017\124\335\203\273\237\321\217\247\123\163\303\313\377\060\354
- \174\004\270\330\104\037\223\137\161\011\042\267\156\076\352\034
- \003\116\235\032\040\141\373\201\067\354\136\374\012\105\253\327
- \347\027\125\320\240\352\140\233\246\366\343\214\133\051\302\006
- \140\024\235\055\227\114\251\223\025\235\141\304\001\137\110\326
- \130\275\126\061\022\116\021\310\041\340\263\021\221\145\333\264
- \246\210\070\316\125
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Cybertrust Global Root"
- # Issuer: CN=Cybertrust Global Root,O="Cybertrust, Inc"
- # Serial Number:04:00:00:00:00:01:0f:85:aa:2d:48
- # Subject: CN=Cybertrust Global Root,O="Cybertrust, Inc"
- # Not Valid Before: Fri Dec 15 08:00:00 2006
- # Not Valid After : Wed Dec 15 08:00:00 2021
- # Fingerprint (MD5): 72:E4:4A:87:E3:69:40:80:77:EA:BC:E3:F4:FF:F0:E1
-@@ -10263,16 +10328,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\343\061\325\307\354\350\362\260\376\222\036\026\012\032\374
- \331\363\370\047\266\311\276\035\264\154\144\220\177\364\344\304
- \133\327\067\256\102\016\335\244\032\157\174\210\124\305\026\156
- \341\172\150\056\370\072\277\015\244\074\211\073\170\247\116\143
- \203\004\041\010\147\215\362\202\111\320\133\375\261\315\017\203
- \204\324\076\040\205\367\112\075\053\234\375\052\012\011\115\352
- \201\370\021\234
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ePKI Root Certification Authority"
- # Issuer: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW
- # Serial Number:15:c8:bd:65:47:5c:af:b8:97:00:5e:e4:06:d2:bc:9d
- # Subject: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW
- # Not Valid Before: Mon Dec 20 02:31:27 2004
- # Not Valid After : Wed Dec 20 02:31:27 2034
- # Fingerprint (MD5): 1B:2E:00:CA:26:06:90:3D:AD:FE:6F:15:68:D3:6B:B3
-@@ -10447,16 +10513,17 @@ CKA_VALUE MULTILINE_OCTAL
- \200\262\136\014\112\023\236\040\330\142\100\253\220\352\144\112
- \057\254\015\001\022\171\105\250\057\207\031\150\310\342\205\307
- \060\262\165\371\070\077\262\300\223\264\153\342\003\104\316\147
- \240\337\211\326\255\214\166\243\023\303\224\141\053\153\331\154
- \301\007\012\042\007\205\154\205\044\106\251\276\077\213\170\204
- \202\176\044\014\235\375\201\067\343\045\250\355\066\116\225\054
- \311\234\220\332\354\251\102\074\255\266\002
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TUBITAK UEKAE Kok Sertifika Hizmet Saglayicisi - Surum 3"
- # Issuer: CN=T..B..TAK UEKAE K..k Sertifika Hizmet Sa..lay..c..s.. - S..r..m ...,OU=Kamu Sertifikasyon Merkezi,OU=Ulusal Elektronik ve Kriptoloji Ara..t..rma Enstit..s.. - UEKAE,O=T..rkiye Bilimsel ve Teknolojik Ara..t..rma Kurumu - T..B..TAK,L=Gebze - Kocaeli,C=TR
- # Serial Number: 17 (0x11)
- # Subject: CN=T..B..TAK UEKAE K..k Sertifika Hizmet Sa..lay..c..s.. - S..r..m ...,OU=Kamu Sertifikasyon Merkezi,OU=Ulusal Elektronik ve Kriptoloji Ara..t..rma Enstit..s.. - UEKAE,O=T..rkiye Bilimsel ve Teknolojik Ara..t..rma Kurumu - T..B..TAK,L=Gebze - Kocaeli,C=TR
- # Not Valid Before: Fri Aug 24 11:37:07 2007
- # Not Valid After : Mon Aug 21 11:37:07 2017
- # Fingerprint (MD5): ED:41:F5:8C:50:C5:2B:9C:73:E6:EE:6C:EB:C2:A8:26
-@@ -10583,16 +10650,17 @@ CKA_VALUE MULTILINE_OCTAL
- \045\335\141\047\043\034\265\061\007\004\066\264\032\220\275\240
- \164\161\120\211\155\274\024\343\017\206\256\361\253\076\307\240
- \011\314\243\110\321\340\333\144\347\222\265\317\257\162\103\160
- \213\371\303\204\074\023\252\176\222\233\127\123\223\372\160\302
- \221\016\061\371\233\147\135\351\226\070\136\137\263\163\116\210
- \025\147\336\236\166\020\142\040\276\125\151\225\103\000\071\115
- \366\356\260\132\116\111\104\124\130\137\102\203
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "certSIGN ROOT CA"
- # Issuer: OU=certSIGN ROOT CA,O=certSIGN,C=RO
- # Serial Number:20:06:05:16:70:02
- # Subject: OU=certSIGN ROOT CA,O=certSIGN,C=RO
- # Not Valid Before: Tue Jul 04 17:20:04 2006
- # Not Valid After : Fri Jul 04 17:20:04 2031
- # Fingerprint (MD5): 18:98:C0:D6:E9:3A:FC:F9:B0:F5:0C:F7:4B:01:44:17
-@@ -10706,16 +10774,17 @@ CKA_VALUE MULTILINE_OCTAL
- \125\171\373\116\206\231\270\224\332\206\070\152\223\243\347\313
- \156\345\337\352\041\125\211\234\175\175\177\230\365\000\211\356
- \343\204\300\134\226\265\305\106\352\106\340\205\125\266\033\311
- \022\326\301\315\315\200\363\002\001\074\310\151\313\105\110\143
- \330\224\320\354\205\016\073\116\021\145\364\202\214\246\075\256
- \056\042\224\011\310\134\352\074\201\135\026\052\003\227\026\125
- \011\333\212\101\202\236\146\233\021
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "CNNIC ROOT"
- # Issuer: CN=CNNIC ROOT,O=CNNIC,C=CN
- # Serial Number: 1228079105 (0x49330001)
- # Subject: CN=CNNIC ROOT,O=CNNIC,C=CN
- # Not Valid Before: Mon Apr 16 07:09:14 2007
- # Not Valid After : Fri Apr 16 07:09:14 2027
- # Fingerprint (MD5): 21:BC:82:AB:49:C4:13:3B:4B:B2:2B:5C:6B:90:9C:19
-@@ -10836,16 +10905,17 @@ CKA_VALUE MULTILINE_OCTAL
- \246\176\264\222\027\374\043\224\201\275\156\247\305\214\302\353
- \021\105\333\370\101\311\226\166\352\160\137\171\022\153\344\243
- \007\132\005\357\047\111\317\041\237\212\114\011\160\146\251\046
- \301\053\021\116\063\322\016\374\326\154\322\016\062\144\150\377
- \255\005\170\137\003\035\250\343\220\254\044\340\017\100\247\113
- \256\213\050\267\202\312\030\007\346\267\133\164\351\040\031\177
- \262\033\211\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ApplicationCA - Japanese Government"
- # Issuer: OU=ApplicationCA,O=Japanese Government,C=JP
- # Serial Number: 49 (0x31)
- # Subject: OU=ApplicationCA,O=Japanese Government,C=JP
- # Not Valid Before: Wed Dec 12 15:00:00 2007
- # Not Valid After : Tue Dec 12 15:00:00 2017
- # Fingerprint (MD5): 7E:23:4E:5B:A7:A5:B4:25:E9:00:07:74:11:62:AE:D6
-@@ -10984,16 +11054,17 @@ CKA_VALUE MULTILINE_OCTAL
- \207\174\015\015\317\056\010\134\112\100\015\076\354\201\141\346
- \044\333\312\340\016\055\007\262\076\126\334\215\365\101\205\007
- \110\233\014\013\313\111\077\175\354\267\375\313\215\147\211\032
- \253\355\273\036\243\000\010\010\027\052\202\134\061\135\106\212
- \055\017\206\233\164\331\105\373\324\100\261\172\252\150\055\206
- \262\231\042\341\301\053\307\234\370\363\137\250\202\022\353\031
- \021\055
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority - G3"
- # Issuer: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Serial Number:15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
- # Subject: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): B5:E8:34:36:C9:10:44:58:48:70:6D:2E:83:D4:B8:05
-@@ -11112,16 +11183,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\335\370\340\127\107\133\247
- \346\012\303\275\365\200\212\227\065\015\033\211\074\124\206\167
- \050\312\241\364\171\336\265\346\070\260\360\145\160\214\177\002
- \124\302\277\377\330\241\076\331\317\002\061\000\304\215\224\374
- \334\123\322\334\235\170\026\037\025\063\043\123\122\343\132\061
- \135\235\312\256\275\023\051\104\015\047\133\250\347\150\234\022
- \367\130\077\056\162\002\127\243\217\241\024\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA - G2"
- # Issuer: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US
- # Serial Number:35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56
- # Subject: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 74:9D:EA:60:24:C4:FD:22:53:3E:CC:3A:72:D9:29:4F
-@@ -11271,16 +11343,17 @@ CKA_VALUE MULTILINE_OCTAL
- \051\101\221\042\074\151\247\273\002\362\266\134\047\003\211\364
- \006\352\233\344\162\202\343\241\011\301\351\000\031\323\076\324
- \160\153\272\161\246\252\130\256\364\273\351\154\266\357\207\314
- \233\273\377\071\346\126\141\323\012\247\304\134\114\140\173\005
- \167\046\172\277\330\007\122\054\142\367\160\143\331\071\274\157
- \034\302\171\334\166\051\257\316\305\054\144\004\136\210\066\156
- \061\324\100\032\142\064\066\077\065\001\256\254\143\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA - G3"
- # Issuer: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Serial Number:60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb
- # Subject: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): FB:1B:5D:43:8A:94:CD:44:C6:76:F2:43:4B:47:E7:31
-@@ -11406,16 +11479,17 @@ CKA_VALUE MULTILINE_OCTAL
- \144\226\131\246\350\011\336\213\272\372\132\210\210\360\037\221
- \323\106\250\362\112\114\002\143\373\154\137\070\333\056\101\223
- \251\016\346\235\334\061\034\262\240\247\030\034\171\341\307\066
- \002\060\072\126\257\232\164\154\366\373\203\340\063\323\010\137
- \241\234\302\133\237\106\326\266\313\221\006\143\242\006\347\063
- \254\076\250\201\022\320\313\272\320\222\013\266\236\226\252\004
- \017\212
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority - G2"
- # Issuer: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Serial Number:3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b
- # Subject: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 01:5E:D8:6B:BD:6F:3D:8E:A1:31:F8:12:E0:98:73:6A
-@@ -11575,16 +11649,17 @@ CKA_VALUE MULTILINE_OCTAL
- \007\021\360\325\333\335\345\214\360\325\062\260\203\346\127\342
- \217\277\276\241\252\277\075\035\265\324\070\352\327\260\134\072
- \117\152\077\217\300\146\154\143\252\351\331\244\026\364\201\321
- \225\024\016\175\315\225\064\331\322\217\160\163\201\173\234\176
- \275\230\141\330\105\207\230\220\305\353\206\060\306\065\277\360
- \377\303\125\210\203\113\357\005\222\006\161\362\270\230\223\267
- \354\315\202\141\361\070\346\117\227\230\052\132\215
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Universal Root Certification Authority"
- # Issuer: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:40:1a:c4:64:21:b3:13:21:03:0e:bb:e4:12:1a:c5:1d
- # Subject: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): 8E:AD:B5:01:AA:4D:81:E4:8C:1D:D1:E1:14:00:95:19
-@@ -11729,16 +11804,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\060\145\002\060\146\041\014\030\046\140\132\070\173\126\102
- \340\247\374\066\204\121\221\040\054\166\115\103\075\304\035\204
- \043\320\254\326\174\065\006\316\315\151\275\220\015\333\154\110
- \102\035\016\252\102\002\061\000\234\075\110\071\043\071\130\032
- \025\022\131\152\236\357\325\131\262\035\122\054\231\161\315\307
- \051\337\033\052\141\173\161\321\336\363\300\345\015\072\112\252
- \055\247\330\206\052\335\056\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G4"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:2f:80:fe:23:8c:0e:22:0f:48:67:12:28:91:87:ac:b3
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 3A:52:E1:E7:FD:6F:3A:E3:6F:F3:6F:99:1B:F9:22:41
-@@ -11888,16 +11964,17 @@ CKA_VALUE MULTILINE_OCTAL
- \276\245\025\143\241\324\225\207\361\236\271\363\211\363\075\205
- \270\270\333\276\265\271\051\371\332\067\005\000\111\224\003\204
- \104\347\277\103\061\317\165\213\045\321\364\246\144\365\222\366
- \253\005\353\075\351\245\013\066\142\332\314\006\137\066\213\266
- \136\061\270\052\373\136\366\161\337\104\046\236\304\346\015\221
- \264\056\165\225\200\121\152\113\060\246\260\142\241\223\361\233
- \330\316\304\143\165\077\131\107\261
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "NetLock Arany (Class Gold) Ftanstvny"
- # Issuer: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
- # Serial Number:49:41:2c:e4:00:10
- # Subject: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
- # Not Valid Before: Thu Dec 11 15:08:21 2008
- # Not Valid After : Wed Dec 06 15:08:21 2028
- # Fingerprint (MD5): C5:A1:B7:FF:73:DD:D6:D7:34:32:18:DF:FC:3C:AD:88
-@@ -12061,16 +12138,17 @@ CKA_VALUE MULTILINE_OCTAL
- \120\346\105\020\107\170\266\116\322\145\311\303\067\337\341\102
- \143\260\127\067\105\055\173\212\234\277\005\352\145\125\063\367
- \071\020\305\050\052\041\172\033\212\304\044\371\077\025\310\232
- \025\040\365\125\142\226\355\155\223\120\274\344\252\170\255\331
- \313\012\145\207\246\146\301\304\201\243\167\072\130\036\013\356
- \203\213\235\036\322\122\244\314\035\157\260\230\155\224\061\265
- \370\161\012\334\271\374\175\062\140\346\353\257\212\001
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Staat der Nederlanden Root CA - G2"
- # Issuer: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
- # Serial Number: 10000012 (0x98968c)
- # Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Wed Mar 26 11:18:17 2008
- # Not Valid After : Wed Mar 25 11:03:10 2020
- # Fingerprint (MD5): 7C:A5:0F:F8:5B:9A:7D:6D:30:AE:54:5A:E3:42:A2:8A
-@@ -12186,16 +12264,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\024\344\141\215\254\020\220\236\204\120\273\360\226\157\105
- \237\212\363\312\154\117\372\021\072\025\025\106\303\315\037\203
- \133\055\101\022\355\120\147\101\023\075\041\253\224\212\252\116
- \174\301\261\373\247\326\265\047\057\227\253\156\340\035\342\321
- \034\054\037\104\342\374\276\221\241\234\373\326\051\123\163\206
- \237\123\330\103\016\135\326\143\202\161\035\200\164\312\366\342
- \002\153\331\132
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Hongkong Post Root CA 1"
- # Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK
- # Serial Number: 1000 (0x3e8)
- # Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK
- # Not Valid Before: Thu May 15 05:13:14 2003
- # Not Valid After : Mon May 15 04:52:29 2023
- # Fingerprint (MD5): A8:0D:6F:39:78:B9:43:6D:77:42:6D:98:5A:CC:23:CA
-@@ -12316,16 +12395,17 @@ CKA_VALUE MULTILINE_OCTAL
- \143\173\132\151\226\002\041\250\275\122\131\351\175\065\313\310
- \122\312\177\201\376\331\153\323\367\021\355\045\337\370\347\371
- \244\372\162\227\204\123\015\245\320\062\030\121\166\131\024\154
- \017\353\354\137\200\214\165\103\203\303\205\230\377\114\236\055
- \015\344\167\203\223\116\265\226\007\213\050\023\233\214\031\215
- \101\047\111\100\356\336\346\043\104\071\334\241\042\326\272\003
- \362
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SecureSign RootCA11"
- # Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP
- # Serial Number: 1 (0x1)
- # Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP
- # Not Valid Before: Wed Apr 08 04:56:47 2009
- # Not Valid After : Sun Apr 08 04:56:47 2029
- # Fingerprint (MD5): B7:52:74:E2:92:B4:80:93:F2:75:E4:CC:D7:F2:EA:26
-@@ -12481,16 +12561,17 @@ CKA_VALUE MULTILINE_OCTAL
- \307\202\066\076\247\070\143\251\060\054\027\020\140\222\237\125
- \207\022\131\020\302\017\147\151\021\314\116\036\176\112\232\255
- \257\100\250\165\254\126\220\164\270\240\234\245\171\157\334\351
- \032\310\151\005\351\272\372\003\263\174\344\340\116\302\316\235
- \350\266\106\015\156\176\127\072\147\224\302\313\037\234\167\112
- \147\116\151\206\103\223\070\373\266\333\117\203\221\324\140\176
- \113\076\053\070\007\125\230\136\244
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ACEDICOM Root"
- # Issuer: C=ES,O=EDICOM,OU=PKI,CN=ACEDICOM Root
- # Serial Number:61:8d:c7:86:3b:01:82:05
- # Subject: C=ES,O=EDICOM,OU=PKI,CN=ACEDICOM Root
- # Not Valid Before: Fri Apr 18 16:24:22 2008
- # Not Valid After : Thu Apr 13 16:24:22 2028
- # Fingerprint (MD5): 42:81:A0:E2:1C:E3:55:10:DE:55:89:42:65:96:22:E6
-@@ -12627,16 +12708,17 @@ CKA_VALUE MULTILINE_OCTAL
- \255\234\032\303\004\074\355\002\141\326\036\006\363\137\072\207
- \362\053\361\105\207\345\075\254\321\307\127\204\275\153\256\334
- \330\371\266\033\142\160\013\075\066\311\102\362\062\327\172\141
- \346\322\333\075\317\310\251\311\233\334\333\130\104\327\157\070
- \257\177\170\323\243\255\032\165\272\034\301\066\174\217\036\155
- \034\303\165\106\256\065\005\246\366\134\075\041\356\126\360\311
- \202\042\055\172\124\253\160\303\175\042\145\202\160\226
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Microsec e-Szigno Root CA 2009"
- # Issuer: E=info(a)e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU
- # Serial Number:00:c2:7e:43:04:4e:47:3f:19
- # Subject: E=info(a)e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU
- # Not Valid Before: Tue Jun 16 11:30:18 2009
- # Not Valid After : Sun Dec 30 11:30:18 2029
- # Fingerprint (MD5): F8:49:F4:03:BC:44:2D:83:BE:48:69:7D:29:64:FC:B1
-@@ -12758,16 +12840,17 @@ CKA_VALUE MULTILINE_OCTAL
- \231\302\037\172\016\343\055\010\255\012\034\054\377\074\253\125
- \016\017\221\176\066\353\303\127\111\276\341\056\055\174\140\213
- \303\101\121\023\043\235\316\367\062\153\224\001\250\231\347\054
- \063\037\072\073\045\322\206\100\316\073\054\206\170\311\141\057
- \024\272\356\333\125\157\337\204\356\005\011\115\275\050\330\162
- \316\323\142\120\145\036\353\222\227\203\061\331\263\265\312\107
- \130\077\137
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA - R3"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
- # Serial Number:04:00:00:00:00:01:21:58:53:08:a2
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
- # Not Valid Before: Wed Mar 18 10:00:00 2009
- # Not Valid After : Sun Mar 18 10:00:00 2029
- # Fingerprint (MD5): C5:DF:B8:49:CA:05:13:55:EE:2D:BA:1A:C3:3E:B0:28
-@@ -12930,16 +13013,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\153\044\254\227\130\104\107\255\131\030\361\041\145\160\336
- \316\064\140\250\100\361\363\074\244\303\050\043\214\376\047\063
- \103\100\240\027\074\353\352\073\260\162\246\243\271\112\113\136
- \026\110\364\262\274\310\214\222\305\235\237\254\162\066\274\064
- \200\064\153\251\213\222\300\270\027\355\354\166\123\365\044\001
- \214\263\042\350\113\174\125\306\235\372\243\024\273\145\205\156
- \156\117\022\176\012\074\235\225
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
- # Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
- # Serial Number:53:ec:3b:ee:fb:b2:48:5f
- # Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
- # Not Valid Before: Wed May 20 08:38:15 2009
- # Not Valid After : Tue Dec 31 08:38:15 2030
- # Fingerprint (MD5): 73:3A:74:7A:EC:BB:A3:96:A6:C2:E4:E2:C8:9B:C0:C3
-@@ -13098,16 +13182,17 @@ CKA_VALUE MULTILINE_OCTAL
- \150\103\110\262\333\353\163\044\347\221\177\124\244\266\200\076
- \235\243\074\114\162\302\127\304\240\324\314\070\047\316\325\006
- \236\242\110\331\351\237\316\202\160\066\223\232\073\337\226\041
- \343\131\267\014\332\221\067\360\375\131\132\263\231\310\151\154
- \103\046\001\065\143\140\125\211\003\072\165\330\272\112\331\124
- \377\356\336\200\330\055\321\070\325\136\055\013\230\175\076\154
- \333\374\046\210\307
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Izenpe.com"
- # Issuer: CN=Izenpe.com,O=IZENPE S.A.,C=ES
- # Serial Number:00:b0:b7:5a:16:48:5f:bf:e1:cb:f5:8b:d7:19:e6:7d
- # Subject: CN=Izenpe.com,O=IZENPE S.A.,C=ES
- # Not Valid Before: Thu Dec 13 13:08:28 2007
- # Not Valid After : Sun Dec 13 08:27:25 2037
- # Fingerprint (MD5): A6:B0:CD:85:80:DA:5C:50:34:A3:39:90:2F:55:67:73
-@@ -13302,16 +13387,17 @@ CKA_VALUE MULTILINE_OCTAL
- \176\030\230\265\105\073\366\171\264\350\367\032\173\006\203\373
- \320\213\332\273\307\275\030\253\010\157\074\200\153\100\077\031
- \031\272\145\212\346\276\325\134\323\066\327\357\100\122\044\140
- \070\147\004\061\354\217\363\202\306\336\271\125\363\073\061\221
- \132\334\265\010\025\255\166\045\012\015\173\056\207\342\014\246
- \006\274\046\020\155\067\235\354\335\170\214\174\200\305\360\331
- \167\110\320
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Chambers of Commerce Root - 2008"
- # Issuer: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Serial Number:00:a3:da:42:7e:a4:b1:ae:da
- # Subject: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Not Valid Before: Fri Aug 01 12:29:50 2008
- # Not Valid After : Sat Jul 31 12:29:50 2038
- # Fingerprint (MD5): 5E:80:9E:84:5A:0E:65:0B:17:02:F3:55:18:2A:3E:D7
-@@ -13510,16 +13596,17 @@ CKA_VALUE MULTILINE_OCTAL
- \223\256\231\240\357\045\152\163\230\211\133\072\056\023\210\036
- \277\300\222\224\064\033\343\047\267\213\036\157\102\377\347\351
- \067\233\120\035\055\242\371\002\356\313\130\130\072\161\274\150
- \343\252\301\257\034\050\037\242\334\043\145\077\201\352\256\231
- \323\330\060\317\023\015\117\025\311\204\274\247\110\055\370\060
- \043\167\330\106\113\171\155\366\214\355\072\177\140\021\170\364
- \351\233\256\325\124\300\164\200\321\013\102\237\301
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Global Chambersign Root - 2008"
- # Issuer: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Serial Number:00:c9:cd:d3:e9:d5:7d:23:ce
- # Subject: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Not Valid Before: Fri Aug 01 12:31:40 2008
- # Not Valid After : Sat Jul 31 12:31:40 2038
- # Fingerprint (MD5): 9E:80:FF:78:01:0C:2E:C1:36:BD:FE:96:90:6E:08:F3
-@@ -15376,16 +15463,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\144\363\054\176\024\374\002\352\237\315\377\007\150\027\333
- \042\220\070\055\172\215\321\124\361\151\343\137\063\312\172\075
- \173\012\343\312\177\137\071\345\342\165\272\305\166\030\063\316
- \054\360\057\114\255\367\261\347\316\117\250\304\233\112\124\006
- \305\177\175\325\010\017\342\034\376\176\027\270\254\136\366\324
- \026\262\103\011\014\115\366\247\153\264\231\204\145\312\172\210
- \342\342\104\276\134\367\352\034\365
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Go Daddy Root Certificate Authority - G2"
- # Issuer: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): 80:3A:BC:22:C1:E6:FB:8D:9B:3B:27:4A:32:1B:9A:01
-@@ -15525,16 +15613,17 @@ CKA_VALUE MULTILINE_OCTAL
- \037\305\354\372\234\176\317\176\261\361\007\055\266\374\277\312
- \244\277\320\227\005\112\274\352\030\050\002\220\275\124\170\011
- \041\161\323\321\175\035\331\026\260\251\141\075\320\012\000\042
- \374\307\173\313\011\144\105\013\073\100\201\367\175\174\062\365
- \230\312\130\216\175\052\356\220\131\163\144\371\066\164\136\045
- \241\365\146\005\056\177\071\025\251\052\373\120\213\216\205\151
- \364
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Root Certificate Authority - G2"
- # Issuer: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): D6:39:81:C6:52:7E:96:69:FC:FC:CA:66:ED:05:F2:96
-@@ -15676,16 +15765,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\100\317\175\106\035\377\036\307\341\316\377\043\333\306\372
- \215\125\116\251\002\347\107\021\106\076\364\375\275\173\051\046
- \273\251\141\142\067\050\266\055\052\366\020\206\144\311\160\247
- \322\255\267\051\160\171\352\074\332\143\045\237\375\150\267\060
- \354\160\373\165\212\267\155\140\147\262\036\310\271\351\330\250
- \157\002\213\147\015\115\046\127\161\332\040\374\301\112\120\215
- \261\050\272
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Services Root Certificate Authority - G2"
- # Issuer: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): 17:35:74:AF:7B:61:1C:EB:F4:F9:3C:E2:EE:40:F9:A2
-@@ -15806,16 +15896,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\063\252\262\157\323\012\242\120\343\366\073\350\056\104\302
- \333\146\070\251\063\126\110\361\155\033\063\215\015\214\077\140
- \067\235\323\312\155\176\064\176\015\237\162\166\213\033\237\162
- \375\122\065\101\105\002\226\057\034\262\232\163\111\041\261\111
- \107\105\107\264\357\152\064\021\311\115\232\314\131\267\326\002
- \236\132\116\145\265\224\256\033\337\051\260\026\361\277\000\236
- \007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Commercial"
- # Issuer: CN=AffirmTrust Commercial,O=AffirmTrust,C=US
- # Serial Number:77:77:06:27:26:a9:b1:7c
- # Subject: CN=AffirmTrust Commercial,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:06:06 2010
- # Not Valid After : Tue Dec 31 14:06:06 2030
- # Fingerprint (MD5): 82:92:BA:5B:EF:CD:8A:6F:A6:3D:55:F9:84:F6:D6:B7
-@@ -15931,16 +16022,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\207\165\155\267\130\226\132\335\155\322\000\240\364\233\110
- \276\303\067\244\272\066\340\174\207\205\227\032\025\242\336\056
- \242\133\275\257\030\371\220\120\315\160\131\370\047\147\107\313
- \307\240\007\072\175\321\054\135\154\031\072\146\265\175\375\221
- \157\202\261\276\010\223\333\024\107\361\242\067\307\105\236\074
- \307\167\257\144\250\223\337\366\151\203\202\140\362\111\102\064
- \355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Networking"
- # Issuer: CN=AffirmTrust Networking,O=AffirmTrust,C=US
- # Serial Number:7c:4f:04:39:1c:d4:99:2d
- # Subject: CN=AffirmTrust Networking,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:08:24 2010
- # Not Valid After : Tue Dec 31 14:08:24 2030
- # Fingerprint (MD5): 42:65:CA:BE:01:9A:9A:4C:A9:8C:41:49:CD:C0:D5:7F
-@@ -16088,16 +16180,17 @@ CKA_VALUE MULTILINE_OCTAL
- \030\246\265\250\136\264\203\154\153\151\100\323\237\334\361\303
- \151\153\271\341\155\011\364\361\252\120\166\012\172\175\172\027
- \241\125\226\102\231\061\011\335\140\021\215\005\060\176\346\216
- \106\321\235\024\332\307\027\344\005\226\214\304\044\265\033\317
- \024\007\262\100\370\243\236\101\206\274\004\320\153\226\310\052
- \200\064\375\277\357\006\243\335\130\305\205\075\076\217\376\236
- \051\340\266\270\011\150\031\034\030\103
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Premium"
- # Issuer: CN=AffirmTrust Premium,O=AffirmTrust,C=US
- # Serial Number:6d:8c:14:46:b1:a6:0a:ee
- # Subject: CN=AffirmTrust Premium,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:10:36 2010
- # Not Valid After : Mon Dec 31 14:10:36 2040
- # Fingerprint (MD5): C4:5D:0E:48:B6:AC:28:30:4E:0A:BC:F9:38:16:87:57
-@@ -16193,16 +16286,17 @@ CKA_VALUE MULTILINE_OCTAL
- \027\011\363\207\210\120\132\257\310\300\102\277\107\137\365\154
- \152\206\340\304\047\164\344\070\123\327\005\177\033\064\343\306
- \057\263\312\011\074\067\235\327\347\270\106\361\375\241\342\161
- \002\060\102\131\207\103\324\121\337\272\323\011\062\132\316\210
- \176\127\075\234\137\102\153\365\007\055\265\360\202\223\371\131
- \157\256\144\372\130\345\213\036\343\143\276\265\201\315\157\002
- \214\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Premium ECC"
- # Issuer: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
- # Serial Number:74:97:25:8a:c7:3f:7a:54
- # Subject: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:20:24 2010
- # Not Valid After : Mon Dec 31 14:20:24 2040
- # Fingerprint (MD5): 64:B0:09:55:CF:B1:D5:99:E2:BE:13:AB:A6:5D:EA:4D
-@@ -16331,16 +16425,17 @@ CKA_VALUE MULTILINE_OCTAL
- \227\306\166\350\047\226\243\146\335\341\256\362\101\133\312\230
- \126\203\163\160\344\206\032\322\061\101\272\057\276\055\023\132
- \166\157\116\350\116\201\016\077\133\003\042\240\022\276\146\130
- \021\112\313\003\304\264\052\052\055\226\027\340\071\124\274\110
- \323\166\047\235\232\055\006\246\311\354\071\322\253\333\237\232
- \013\047\002\065\051\261\100\225\347\371\350\234\125\210\031\106
- \326\267\064\365\176\316\071\232\331\070\361\121\367\117\054
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certum Trusted Network CA"
- # Issuer: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Serial Number: 279744 (0x444c0)
- # Subject: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Not Valid Before: Wed Oct 22 12:07:37 2008
- # Not Valid After : Mon Dec 31 12:07:37 2029
- # Fingerprint (MD5): D5:E9:81:40:C5:18:69:FC:46:2C:89:75:62:0F:AA:78
-@@ -16500,16 +16595,17 @@ CKA_VALUE MULTILINE_OCTAL
- \032\050\364\041\003\356\056\331\301\200\352\271\331\202\326\133
- \166\302\313\073\265\322\000\360\243\016\341\255\156\100\367\333
- \240\264\320\106\256\025\327\104\302\115\065\371\322\013\362\027
- \366\254\146\325\044\262\117\321\034\231\300\156\365\175\353\164
- \004\270\371\115\167\011\327\264\317\007\060\011\361\270\000\126
- \331\027\026\026\012\053\206\337\217\001\031\032\345\273\202\143
- \377\276\013\166\026\136\067\067\346\330\164\227\242\231\105\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certinomis - Autorit Racine"
- # Issuer: CN=Certinomis - Autorit.. Racine,OU=0002 433998903,O=Certinomis,C=FR
- # Serial Number: 1 (0x1)
- # Subject: CN=Certinomis - Autorit.. Racine,OU=0002 433998903,O=Certinomis,C=FR
- # Not Valid Before: Wed Sep 17 08:28:59 2008
- # Not Valid After : Sun Sep 17 08:28:59 2028
- # Fingerprint (MD5): 7F:30:78:8C:03:E3:CA:C9:0A:E2:C9:EA:1E:AA:55:1A
-@@ -16634,16 +16730,17 @@ CKA_VALUE MULTILINE_OCTAL
- \172\162\132\203\263\171\157\357\264\374\320\012\245\130\117\106
- \337\373\155\171\131\362\204\042\122\256\017\314\373\174\073\347
- \152\312\107\141\303\172\370\323\222\004\037\270\040\204\341\066
- \124\026\307\100\336\073\212\163\334\337\306\011\114\337\354\332
- \377\324\123\102\241\311\362\142\035\042\203\074\227\305\371\031
- \142\047\254\145\042\327\323\074\306\345\216\262\123\314\111\316
- \274\060\376\173\016\063\220\373\355\322\024\221\037\007\257
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TWCA Root Certification Authority"
- # Issuer: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
- # Serial Number: 1 (0x1)
- # Subject: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
- # Not Valid Before: Thu Aug 28 07:24:33 2008
- # Not Valid After : Tue Dec 31 15:59:59 2030
- # Fingerprint (MD5): AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79
-@@ -18024,16 +18121,17 @@ CKA_VALUE MULTILINE_OCTAL
- \273\233\051\126\074\376\000\067\317\043\154\361\116\252\266\164
- \106\022\154\221\356\064\325\354\232\221\347\104\276\220\061\162
- \325\111\002\366\002\345\364\037\353\174\331\226\125\251\377\354
- \212\371\231\107\377\065\132\002\252\004\313\212\133\207\161\051
- \221\275\244\264\172\015\275\232\365\127\043\000\007\041\027\077
- \112\071\321\005\111\013\247\266\067\201\245\135\214\252\063\136
- \201\050\174\247\175\047\353\000\256\215\067
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication RootCA2"
- # Issuer: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Not Valid Before: Fri May 29 05:00:39 2009
- # Not Valid After : Tue May 29 05:00:39 2029
- # Fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43
-@@ -18206,16 +18304,17 @@ CKA_VALUE MULTILINE_OCTAL
- \234\211\333\151\070\276\354\134\016\126\307\145\121\345\120\210
- \210\277\102\325\053\075\345\371\272\236\056\263\312\364\163\222
- \002\013\276\114\146\353\040\376\271\313\265\231\177\346\266\023
- \372\312\113\115\331\356\123\106\006\073\306\116\255\223\132\201
- \176\154\052\113\152\005\105\214\362\041\244\061\220\207\154\145
- \234\235\245\140\225\072\122\177\365\321\253\010\156\363\356\133
- \371\210\075\176\270\157\156\003\344\102
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "EC-ACC"
- # Issuer: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES
- # Serial Number:ee:2b:3d:eb:d4:21:de:14:a8:62:ac:04:f3:dd:c4:01
- # Subject: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES
- # Not Valid Before: Tue Jan 07 23:00:00 2003
- # Not Valid After : Tue Jan 07 22:59:59 2031
- # Fingerprint (MD5): EB:F5:9D:29:0D:61:F9:42:1F:7C:C2:BA:6D:E3:15:09
-@@ -18368,16 +18467,17 @@ CKA_VALUE MULTILINE_OCTAL
- \372\363\003\022\226\170\006\215\261\147\355\216\077\276\237\117
- \002\365\263\011\057\363\114\207\337\052\313\225\174\001\314\254
- \066\172\277\242\163\172\367\217\301\265\232\241\024\262\217\063
- \237\015\357\042\334\146\173\204\275\105\027\006\075\074\312\271
- \167\064\217\312\352\317\077\061\076\343\210\343\200\111\045\310
- \227\265\235\232\231\115\260\074\370\112\000\233\144\335\237\071
- \113\321\047\327\270
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Hellenic Academic and Research Institutions RootCA 2011"
- # Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR
- # Not Valid Before: Tue Dec 06 13:49:52 2011
- # Not Valid After : Mon Dec 01 13:49:52 2031
- # Fingerprint (MD5): 73:9F:4C:4B:73:5B:79:E9:FA:BA:1C:EF:6E:CB:D5:C9
-@@ -18603,16 +18703,17 @@ CKA_VALUE MULTILINE_OCTAL
- \177\244\101\041\220\101\167\246\071\037\352\236\343\237\320\146
- \157\005\354\252\166\176\277\153\026\240\353\265\307\374\222\124
- \057\053\021\047\045\067\170\114\121\152\260\363\314\130\135\024
- \361\152\110\025\377\302\007\266\261\215\017\216\134\120\106\263
- \075\277\001\230\117\262\131\124\107\076\064\173\170\155\126\223
- \056\163\352\146\050\170\315\035\024\277\240\217\057\056\270\056
- \216\362\024\212\314\351\265\174\373\154\235\014\245\341\226
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Actalis Authentication Root CA"
- # Issuer: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
- # Serial Number:57:0a:11:97:42:c4:e3:cc
- # Subject: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
- # Not Valid Before: Thu Sep 22 11:22:02 2011
- # Not Valid After : Sun Sep 22 11:22:02 2030
- # Fingerprint (MD5): 69:C1:0D:4F:07:A3:1B:C3:FE:56:3D:04:BC:11:F6:A6
-@@ -18733,16 +18834,17 @@ CKA_VALUE MULTILINE_OCTAL
- \177\124\365\243\340\217\360\174\125\042\217\051\266\201\243\341
- \155\116\054\033\200\147\354\255\040\237\014\142\141\325\227\377
- \103\355\055\301\332\135\051\052\205\077\254\145\356\206\017\005
- \215\220\137\337\356\237\364\277\356\035\373\230\344\177\220\053
- \204\170\020\016\154\111\123\357\025\133\145\106\112\135\257\272
- \373\072\162\035\315\366\045\210\036\227\314\041\234\051\001\015
- \145\353\127\331\363\127\226\273\110\315\201
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Trustis FPS Root CA"
- # Issuer: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB
- # Serial Number:1b:1f:ad:b6:20:f9:24:d3:36:6b:f7:c7:f1:8c:a0:59
- # Subject: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB
- # Not Valid Before: Tue Dec 23 12:14:06 2003
- # Not Valid After : Sun Jan 21 11:36:54 2024
- # Fingerprint (MD5): 30:C9:E7:1E:6B:E6:14:EB:65:B2:16:69:20:31:67:4D
-@@ -18933,16 +19035,17 @@ CKA_VALUE MULTILINE_OCTAL
- \046\161\304\205\136\161\044\312\245\033\154\330\141\323\032\340
- \124\333\316\272\251\062\265\042\366\163\101\011\135\270\027\135
- \016\017\231\220\326\107\332\157\012\072\142\050\024\147\202\331
- \361\320\200\131\233\313\061\330\233\017\214\167\116\265\150\212
- \362\154\366\044\016\055\154\160\305\163\321\336\024\320\161\217
- \266\323\173\002\366\343\270\324\011\156\153\236\165\204\071\346
- \177\045\245\362\110\000\300\244\001\332\077
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "StartCom Certification Authority"
- # Issuer: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Serial Number: 45 (0x2d)
- # Subject: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Not Valid Before: Sun Sep 17 19:46:37 2006
- # Not Valid After : Wed Sep 17 19:46:36 2036
- # Fingerprint (MD5): C9:3B:0D:84:41:FC:A4:76:79:23:08:57:DE:10:19:16
-@@ -19097,16 +19200,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\056\055\304\011\072\003\147\151\204\232\341\131\220\212\050
- \205\325\135\164\261\321\016\040\130\233\023\245\260\143\246\355
- \173\107\375\105\125\060\244\356\232\324\346\342\207\357\230\311
- \062\202\021\051\042\274\000\012\061\136\055\017\300\216\351\153
- \262\217\056\006\330\321\221\307\306\022\364\114\375\060\027\303
- \301\332\070\133\343\251\352\346\241\272\171\357\163\330\266\123
- \127\055\366\320\341\327\110
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "StartCom Certification Authority G2"
- # Issuer: CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
- # Serial Number: 59 (0x3b)
- # Subject: CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
- # Not Valid Before: Fri Jan 01 01:00:01 2010
- # Not Valid After : Sat Dec 31 23:59:01 2039
- # Fingerprint (MD5): 78:4B:FB:9E:64:82:0A:D3:B8:4C:62:F3:64:F2:90:64
-@@ -19256,16 +19360,17 @@ CKA_VALUE MULTILINE_OCTAL
- \112\220\136\303\372\047\004\261\171\025\164\231\314\276\255\040
- \336\046\140\034\353\126\121\246\243\352\344\243\077\247\377\141
- \334\361\132\115\154\062\043\103\356\254\250\356\356\112\022\011
- \074\135\161\302\276\171\372\302\207\150\035\013\375\134\151\314
- \006\320\232\175\124\231\052\311\071\032\031\257\113\052\103\363
- \143\135\132\130\342\057\343\035\344\251\326\320\012\320\236\277
- \327\201\011\361\311\307\046\015\254\230\026\126\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Buypass Class 2 Root CA"
- # Issuer: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO
- # Serial Number: 2 (0x2)
- # Subject: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO
- # Not Valid Before: Tue Oct 26 08:38:03 2010
- # Not Valid After : Fri Oct 26 08:38:03 2040
- # Fingerprint (MD5): 46:A7:D2:FE:45:FB:64:5A:A8:59:90:9B:78:44:9B:29
-@@ -19414,16 +19519,17 @@ CKA_VALUE MULTILINE_OCTAL
- \105\310\114\161\331\274\311\231\122\127\106\057\120\317\275\065
- \151\364\075\025\316\006\245\054\017\076\366\201\272\224\273\303
- \273\277\145\170\322\206\171\377\111\073\032\203\014\360\336\170
- \354\310\362\115\114\032\336\202\051\370\301\132\332\355\356\346
- \047\136\350\105\320\235\034\121\250\150\253\104\343\320\213\152
- \343\370\073\273\334\115\327\144\362\121\276\346\252\253\132\351
- \061\356\006\274\163\277\023\142\012\237\307\271\227
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Buypass Class 3 Root CA"
- # Issuer: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
- # Serial Number: 2 (0x2)
- # Subject: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
- # Not Valid Before: Tue Oct 26 08:28:58 2010
- # Not Valid After : Fri Oct 26 08:28:58 2040
- # Fingerprint (MD5): 3D:3B:18:9E:2C:64:5A:E8:D5:88:CE:0E:F9:37:C2:EC
-@@ -19555,16 +19661,17 @@ CKA_VALUE MULTILINE_OCTAL
- \367\124\076\201\075\332\111\152\232\263\357\020\075\346\353\157
- \321\310\042\107\313\314\317\001\061\222\331\030\343\042\276\011
- \036\032\076\132\262\344\153\014\124\172\175\103\116\270\211\245
- \173\327\242\075\226\206\314\362\046\064\055\152\222\235\232\032
- \320\060\342\135\116\004\260\137\213\040\176\167\301\075\225\202
- \321\106\232\073\074\170\270\157\241\320\015\144\242\170\036\051
- \116\223\303\244\124\024\133
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "T-TeleSec GlobalRoot Class 3"
- # Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Serial Number: 1 (0x1)
- # Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Not Valid Before: Wed Oct 01 10:29:56 2008
- # Not Valid After : Sat Oct 01 23:59:59 2033
- # Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF
-@@ -19703,16 +19810,17 @@ CKA_VALUE MULTILINE_OCTAL
- \346\164\163\224\135\026\230\023\225\376\373\333\261\104\345\072
- \160\254\067\153\346\263\063\162\050\311\263\127\240\366\002\026
- \210\006\013\266\246\113\040\050\324\336\075\213\255\067\005\123
- \164\376\156\314\274\103\027\161\136\371\305\314\032\251\141\356
- \367\166\014\363\162\364\162\255\317\162\002\066\007\107\317\357
- \031\120\211\140\314\351\044\225\017\302\313\035\362\157\166\220
- \307\314\165\301\226\305\235
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "EE Certification Centre Root CA"
- # Issuer: E=pki(a)sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
- # Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a
- # Subject: E=pki(a)sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
- # Not Valid Before: Sat Oct 30 10:10:30 2010
- # Not Valid After : Tue Dec 17 23:59:59 2030
- # Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F
-@@ -19932,16 +20040,17 @@ CKA_VALUE MULTILINE_OCTAL
- \005\332\143\127\213\345\263\252\333\300\056\034\220\104\333\032
- \135\030\244\356\276\004\133\231\325\161\137\125\145\144\142\325
- \242\233\004\131\206\310\142\167\347\174\202\105\152\075\027\277
- \354\235\165\014\256\243\157\132\323\057\230\066\364\360\365\031
- \253\021\135\310\246\343\052\130\152\102\011\303\275\222\046\146
- \062\015\135\010\125\164\377\214\230\320\012\246\204\152\321\071
- \175
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TURKTRUST Certificate Services Provider Root 2007"
- # Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
- # Serial Number: 1 (0x1)
- # Subject: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
- # Not Valid Before: Tue Dec 25 18:37:19 2007
- # Not Valid After : Fri Dec 22 18:37:19 2017
- # Fingerprint (MD5): 2B:70:20:56:86:82:A0:18:C8:07:53:12:28:70:21:72
-@@ -20080,16 +20189,17 @@ CKA_VALUE MULTILINE_OCTAL
- \310\154\353\202\123\004\246\344\114\042\115\215\214\272\316\133
- \163\354\144\124\120\155\321\234\125\373\151\303\066\303\214\274
- \074\205\246\153\012\046\015\340\223\230\140\256\176\306\044\227
- \212\141\137\221\216\146\222\011\207\066\315\213\233\055\076\366
- \121\324\120\324\131\050\275\203\362\314\050\173\123\206\155\330
- \046\210\160\327\352\221\315\076\271\312\300\220\156\132\306\136
- \164\145\327\134\376\243\342
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "D-TRUST Root Class 3 CA 2 2009"
- # Issuer: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE
- # Serial Number: 623603 (0x983f3)
- # Subject: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE
- # Not Valid Before: Thu Nov 05 08:35:58 2009
- # Not Valid After : Mon Nov 05 08:35:58 2029
- # Fingerprint (MD5): CD:E0:25:69:8D:47:AC:9C:89:35:90:F7:FD:51:3D:2F
-@@ -20223,16 +20333,17 @@ CKA_VALUE MULTILINE_OCTAL
- \173\360\171\121\327\103\075\247\323\201\323\360\311\117\271\332
- \306\227\206\320\202\303\344\102\155\376\260\342\144\116\016\046
- \347\100\064\046\265\010\211\327\010\143\143\070\047\165\036\063
- \352\156\250\335\237\231\117\164\115\201\211\200\113\335\232\227
- \051\134\057\276\201\101\271\214\377\352\175\140\006\236\315\327
- \075\323\056\243\025\274\250\346\046\345\157\303\334\270\003\041
- \352\237\026\361\054\124\265
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "D-TRUST Root Class 3 CA 2 EV 2009"
- # Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
- # Serial Number: 623604 (0x983f4)
- # Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
- # Not Valid Before: Thu Nov 05 08:50:46 2009
- # Not Valid After : Mon Nov 05 08:50:46 2029
- # Fingerprint (MD5): AA:C6:43:2C:5E:2D:CD:C4:34:C0:50:4F:11:02:4F:B6
-@@ -20472,16 +20583,17 @@ CKA_VALUE MULTILINE_OCTAL
- \071\246\202\326\161\312\336\267\325\272\150\010\355\231\314\375
- \242\222\313\151\270\235\371\012\244\246\076\117\223\050\052\141
- \154\007\046\000\377\226\137\150\206\270\270\316\312\125\340\253
- \261\075\177\230\327\063\016\132\075\330\170\302\304\140\057\307
- \142\360\141\221\322\070\260\366\236\125\333\100\200\005\022\063
- \316\035\222\233\321\151\263\377\277\361\222\012\141\065\077\335
- \376\206\364\274\340\032\161\263\142\246
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "PSCProcert"
- # Issuer: E=acraiz(a)suscerte.gob.ve,OU=Superintendencia de Servicios de Certificacion Electronica,O=Sistema Nacional de Certificacion Electronica,ST=Distrito Capital,L=Caracas,C=VE,CN=Autoridad de Certificacion Raiz del Estado Venezolano
- # Serial Number: 11 (0xb)
- # Subject: CN=PSCProcert,C=VE,O=Sistema Nacional de Certificacion Electronica,OU=Proveedor de Certificados PROCERT,ST=Miranda,L=Chacao,E=contacto(a)procert.net.ve
- # Not Valid Before: Tue Dec 28 16:51:00 2010
- # Not Valid After : Fri Dec 25 23:59:59 2020
- # Fingerprint (MD5): E6:24:E9:12:01:AE:0C:DE:8E:85:C4:CE:A3:12:DD:EC
-@@ -20630,16 +20742,17 @@ CKA_VALUE MULTILINE_OCTAL
- \146\102\107\302\130\044\231\341\345\076\345\165\054\216\103\326
- \135\074\170\036\250\225\202\051\120\321\321\026\272\357\301\276
- \172\331\264\330\314\036\114\106\341\167\261\061\253\275\052\310
- \316\217\156\241\135\177\003\165\064\344\255\211\105\124\136\276
- \256\050\245\273\077\170\171\353\163\263\012\015\375\276\311\367
- \126\254\366\267\355\057\233\041\051\307\070\266\225\304\004\362
- \303\055\375\024\052\220\231\271\007\314\237
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "China Internet Network Information Center EV Certificates Root"
- # Issuer: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
- # Serial Number: 1218379777 (0x489f0001)
- # Subject: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
- # Not Valid Before: Tue Aug 31 07:11:25 2010
- # Not Valid After : Sat Aug 31 07:11:25 2030
- # Fingerprint (MD5): 55:5D:63:00:97:BD:6A:97:F5:67:AB:4B:FB:6E:63:15
-@@ -20805,16 +20918,17 @@ CKA_VALUE MULTILINE_OCTAL
- \361\377\246\100\005\205\005\134\312\007\031\134\013\023\050\114
- \130\177\302\245\357\105\332\140\323\256\145\141\235\123\203\164
- \302\256\362\134\302\026\355\222\076\204\076\163\140\210\274\166
- \364\054\317\320\175\175\323\270\136\321\221\022\020\351\315\335
- \312\045\343\325\355\231\057\276\165\201\113\044\371\105\106\224
- \311\051\041\123\234\046\105\252\023\027\344\347\315\170\342\071
- \301\053\022\236\246\236\033\305\346\016\331\061\331
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Swisscom Root CA 2"
- # Issuer: CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:1e:9e:28:e8:48:f2:e5:ef:c3:7c:4a:1e:5a:18:67:b6
- # Subject: CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Fri Jun 24 08:38:14 2011
- # Not Valid After : Wed Jun 25 07:38:14 2031
- # Fingerprint (MD5): 5B:04:69:EC:A5:83:94:63:18:A7:86:D0:E4:F2:6E:19
-@@ -20980,16 +21094,17 @@ CKA_VALUE MULTILINE_OCTAL
- \234\337\164\326\360\100\025\035\310\271\217\265\066\305\257\370
- \042\270\312\035\363\326\266\031\017\237\141\145\152\352\164\310
- \174\217\303\117\135\145\202\037\331\015\211\332\165\162\373\357
- \361\107\147\023\263\310\321\031\210\047\046\232\231\171\177\036
- \344\054\077\173\356\361\336\115\213\226\227\303\325\077\174\033
- \043\355\244\263\035\026\162\103\113\040\341\131\176\302\350\255
- \046\277\242\367
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Swisscom Root EV CA 2"
- # Issuer: CN=Swisscom Root EV CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:00:f2:fa:64:e2:74:63:d3:8d:fd:10:1d:04:1f:76:ca:58
- # Subject: CN=Swisscom Root EV CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Fri Jun 24 09:45:08 2011
- # Not Valid After : Wed Jun 25 08:45:08 2031
- # Fingerprint (MD5): 7B:30:34:9F:DD:0A:4B:6B:35:CA:31:51:28:5D:AE:EC
-@@ -21144,16 +21259,17 @@ CKA_VALUE MULTILINE_OCTAL
- \001\347\177\227\017\327\362\173\031\375\032\327\217\311\372\205
- \153\172\235\236\211\266\246\050\231\223\210\100\367\076\315\121
- \243\312\352\357\171\107\041\265\376\062\342\307\303\121\157\276
- \200\164\360\244\303\072\362\117\351\137\337\031\012\362\073\023
- \103\254\061\244\263\347\353\374\030\326\001\251\363\052\217\066
- \016\353\264\261\274\267\114\311\153\277\241\363\331\364\355\342
- \360\343\355\144\236\075\057\226\122\117\200\123\213
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA Disig Root R1"
- # Issuer: CN=CA Disig Root R1,O=Disig a.s.,L=Bratislava,C=SK
- # Serial Number:00:c3:03:9a:ee:50:90:6e:28
- # Subject: CN=CA Disig Root R1,O=Disig a.s.,L=Bratislava,C=SK
- # Not Valid Before: Thu Jul 19 09:06:56 2012
- # Not Valid After : Sat Jul 19 09:06:56 2042
- # Fingerprint (MD5): BE:EC:11:93:9A:F5:69:21:BC:D7:C1:C0:67:89:CC:2A
-@@ -21306,16 +21422,17 @@ CKA_VALUE MULTILINE_OCTAL
- \233\116\166\300\216\175\375\244\045\307\107\355\377\037\163\254
- \314\303\245\351\157\012\216\233\145\302\120\205\265\243\240\123
- \022\314\125\207\141\363\201\256\020\106\141\275\104\041\270\302
- \075\164\317\176\044\065\372\034\007\016\233\075\042\312\357\061
- \057\214\254\022\275\357\100\050\374\051\147\237\262\023\117\146
- \044\304\123\031\351\036\051\025\357\346\155\260\177\055\147\375
- \363\154\033\165\106\243\345\112\027\351\244\327\013
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA Disig Root R2"
- # Issuer: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK
- # Serial Number:00:92:b8:88:db:b0:8a:c1:63
- # Subject: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK
- # Not Valid Before: Thu Jul 19 09:15:30 2012
- # Not Valid After : Sat Jul 19 09:15:30 2042
- # Fingerprint (MD5): 26:01:FB:D8:27:A7:17:9A:45:54:38:1A:43:01:3B:03
-@@ -21505,16 +21622,17 @@ CKA_VALUE MULTILINE_OCTAL
- \346\301\232\351\036\002\107\237\052\250\155\251\133\317\354\105
- \167\177\230\047\232\062\135\052\343\204\356\305\230\146\057\226
- \040\035\335\330\303\047\327\260\371\376\331\175\315\320\237\217
- \013\024\130\121\237\057\213\303\070\055\336\350\217\326\215\207
- \244\365\126\103\026\231\054\364\244\126\264\064\270\141\067\311
- \302\130\200\033\240\227\241\374\131\215\351\021\366\321\017\113
- \125\064\106\052\213\206\073
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "ACCVRAIZ1"
- # Issuer: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1
- # Serial Number:5e:c3:b7:a6:43:7f:a4:e0
- # Subject: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1
- # Not Valid Before: Thu May 05 09:37:37 2011
- # Not Valid After : Tue Dec 31 09:37:37 2030
- # Fingerprint (MD5): D0:A0:5A:EE:05:B6:09:94:21:A1:7D:F1:B2:29:82:02
-@@ -21664,16 +21782,17 @@ CKA_VALUE MULTILINE_OCTAL
- \301\255\175\204\003\074\020\170\206\033\171\343\304\363\362\004
- \225\040\256\043\202\304\263\072\000\142\277\346\066\044\341\127
- \272\307\036\220\165\325\137\077\225\141\053\301\073\315\345\263
- \150\141\320\106\046\251\041\122\151\055\353\056\307\353\167\316
- \246\072\265\003\063\117\166\321\347\134\124\001\135\313\170\364
- \311\014\277\317\022\216\027\055\043\150\224\347\253\376\251\262
- \053\006\320\004\315
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TWCA Global Root CA"
- # Issuer: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
- # Serial Number: 3262 (0xcbe)
- # Subject: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
- # Not Valid Before: Wed Jun 27 06:28:33 2012
- # Not Valid After : Tue Dec 31 15:59:59 2030
- # Fingerprint (MD5): F9:03:7E:CF:E6:9E:3C:73:7A:2A:90:07:69:FF:2B:96
-@@ -21820,16 +21939,17 @@ CKA_VALUE MULTILINE_OCTAL
- \255\316\364\370\151\024\144\071\373\243\270\272\160\100\307\047
- \034\277\304\126\123\372\143\145\320\363\034\016\026\365\153\206
- \130\115\030\324\344\015\216\245\235\133\221\334\166\044\120\077
- \306\052\373\331\267\234\265\326\346\320\331\350\031\213\025\161
- \110\255\267\352\330\131\210\324\220\277\026\263\331\351\254\131
- \141\124\310\034\272\312\301\312\341\271\040\114\217\072\223\211
- \245\240\314\277\323\366\165\244\165\226\155\126
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TeliaSonera Root CA v1"
- # Issuer: CN=TeliaSonera Root CA v1,O=TeliaSonera
- # Serial Number:00:95:be:16:a0:f7:2e:46:f1:7b:39:82:72:fa:8b:cd:96
- # Subject: CN=TeliaSonera Root CA v1,O=TeliaSonera
- # Not Valid Before: Thu Oct 18 12:00:50 2007
- # Not Valid After : Mon Oct 18 12:00:50 2032
- # Fingerprint (MD5): 37:41:49:1B:18:56:9A:26:F5:AD:C2:66:FB:40:A5:4C
-@@ -22007,16 +22127,17 @@ CKA_VALUE MULTILINE_OCTAL
- \237\211\213\375\067\137\137\072\316\070\131\206\113\257\161\013
- \264\330\362\160\117\237\062\023\343\260\247\127\345\332\332\103
- \313\204\064\362\050\304\352\155\364\052\357\301\153\166\332\373
- \176\273\205\074\322\123\302\115\276\161\341\105\321\375\043\147
- \015\023\165\373\317\145\147\042\235\256\260\011\321\011\377\035
- \064\277\376\043\227\067\322\071\372\075\015\006\013\264\333\073
- \243\253\157\134\035\266\176\350\263\202\064\355\006\134\044
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "E-Tugra Certification Authority"
- # Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:6a:68:3e:9c:51:9b:cb:53
- # Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Tue Mar 05 12:09:48 2013
- # Not Valid After : Fri Mar 03 12:09:48 2023
- # Fingerprint (MD5): B8:A1:03:63:B0:BD:21:71:70:8A:6F:13:3A:BB:79:49
-@@ -22155,16 +22276,17 @@ CKA_VALUE MULTILINE_OCTAL
- \203\125\352\174\302\051\211\033\351\157\263\316\342\005\204\311
- \057\076\170\205\142\156\311\137\301\170\143\164\130\300\110\030
- \014\231\071\353\244\314\032\265\171\132\215\025\234\330\024\015
- \366\172\007\127\307\042\203\005\055\074\233\045\046\075\030\263
- \251\103\174\310\310\253\144\217\016\243\277\234\033\235\060\333
- \332\320\031\056\252\074\361\373\063\200\166\344\315\255\031\117
- \005\047\216\023\241\156\302
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "T-TeleSec GlobalRoot Class 2"
- # Issuer: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Serial Number: 1 (0x1)
- # Subject: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Not Valid Before: Wed Oct 01 10:40:14 2008
- # Not Valid After : Sat Oct 01 23:59:59 2033
- # Fingerprint (MD5): 2B:9B:9E:E4:7B:6C:1F:00:72:1A:CC:C1:77:79:DF:6A
-@@ -22285,16 +22407,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\024\357\264\021\377\016\025\265\365\365\333\306\275\353\132
- \247\360\126\042\251\074\145\124\306\025\250\275\206\236\315\203
- \226\150\172\161\201\211\341\013\341\352\021\033\150\010\314\151
- \236\354\236\101\236\104\062\046\172\342\207\012\161\075\353\344
- \132\244\322\333\305\315\306\336\140\177\271\363\117\104\222\357
- \052\267\030\076\247\031\331\013\175\261\067\101\102\260\272\140
- \035\362\376\011\021\260\360\207\173\247\235
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Atos TrustedRoot 2011"
- # Issuer: C=DE,O=Atos,CN=Atos TrustedRoot 2011
- # Serial Number:5c:33:cb:62:2c:5f:b3:32
- # Subject: C=DE,O=Atos,CN=Atos TrustedRoot 2011
- # Not Valid Before: Thu Jul 07 14:58:30 2011
- # Not Valid After : Tue Dec 31 23:59:59 2030
- # Fingerprint (MD5): AE:B9:C4:32:4B:AC:7F:5D:66:CC:77:94:BB:2A:77:56
-@@ -22444,16 +22567,17 @@ CKA_VALUE MULTILINE_OCTAL
- \353\134\237\336\263\257\147\003\263\037\335\155\135\151\150\151
- \253\136\072\354\174\151\274\307\073\205\116\236\025\271\264\025
- \117\303\225\172\130\327\311\154\351\154\271\363\051\143\136\264
- \054\360\055\075\355\132\145\340\251\133\100\302\110\231\201\155
- \236\037\006\052\074\022\264\213\017\233\242\044\360\246\215\326
- \172\340\113\266\144\226\143\225\204\302\112\315\034\056\044\207
- \063\140\345\303
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 1 G3"
- # Issuer: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM
- # Serial Number:78:58:5f:2e:ad:2c:19:4b:e3:37:07:35:34:13:28:b5:96:d4:65:93
- # Subject: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 17:27:44 2012
- # Not Valid After : Sun Jan 12 17:27:44 2042
- # Fingerprint (SHA-256): 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74
-@@ -22605,16 +22729,17 @@ CKA_VALUE MULTILINE_OCTAL
- \374\267\003\111\002\133\310\045\346\342\124\070\365\171\207\214
- \035\123\262\116\205\173\006\070\307\054\370\370\260\162\215\045
- \345\167\122\364\003\034\110\246\120\137\210\040\060\156\362\202
- \103\253\075\227\204\347\123\373\041\301\117\017\042\232\206\270
- \131\052\366\107\075\031\210\055\350\205\341\236\354\205\010\152
- \261\154\064\311\035\354\110\053\073\170\355\146\304\216\171\151
- \203\336\177\214
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 2 G3"
- # Issuer: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
- # Serial Number:44:57:34:24:5b:81:89:9b:35:f2:ce:b8:2b:3b:5b:a7:26:f0:75:28
- # Subject: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 18:59:32 2012
- # Not Valid After : Sun Jan 12 18:59:32 2042
- # Fingerprint (SHA-256): 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40
-@@ -22766,16 +22891,17 @@ CKA_VALUE MULTILINE_OCTAL
- \046\350\354\266\013\055\247\205\065\315\375\131\310\237\321\315
- \076\132\051\064\271\075\204\316\261\145\324\131\221\221\126\165
- \041\301\167\236\371\172\341\140\235\323\255\004\030\364\174\353
- \136\223\217\123\112\042\051\370\110\053\076\115\206\254\133\177
- \313\006\231\131\140\330\130\145\225\215\104\321\367\177\176\047
- \177\175\256\200\365\007\114\266\076\234\161\124\231\004\113\375
- \130\371\230\364
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 3 G3"
- # Issuer: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM
- # Serial Number:2e:f5:9b:02:28:a7:db:7a:ff:d5:a3:a9:ee:bd:03:a0:cf:12:6a:1d
- # Subject: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 20:26:32 2012
- # Not Valid After : Sun Jan 12 20:26:32 2042
- # Fingerprint (SHA-256): 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46
-@@ -22902,16 +23028,17 @@ CKA_VALUE MULTILINE_OCTAL
- \007\234\242\272\331\001\162\134\363\115\301\335\016\261\034\015
- \304\143\276\255\364\024\373\211\354\242\101\016\114\314\310\127
- \100\320\156\003\252\315\014\216\211\231\231\154\360\074\060\257
- \070\337\157\274\243\276\051\040\047\253\164\377\023\042\170\336
- \227\122\125\036\203\265\124\040\003\356\256\300\117\126\336\067
- \314\303\177\252\004\047\273\323\167\270\142\333\027\174\234\050
- \042\023\163\154\317\046\365\212\051\347
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Assured ID Root G2"
- # Issuer: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0b:93:1c:3a:d6:39:67:ea:67:23:bf:c3:af:9a:f4:4b
- # Subject: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85
-@@ -23019,16 +23146,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\147\000\060\144\002\060\045\244\201\105\002\153\022\113
- \165\164\117\310\043\343\160\362\165\162\336\174\211\360\317\221
- \162\141\236\136\020\222\131\126\271\203\307\020\347\070\351\130
- \046\066\175\325\344\064\206\071\002\060\174\066\123\360\060\345
- \142\143\072\231\342\266\243\073\233\064\372\036\332\020\222\161
- \136\221\023\247\335\244\156\222\314\062\326\365\041\146\307\057
- \352\226\143\152\145\105\222\225\001\264
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Assured ID Root G3"
- # Issuer: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0b:a1:5a:fa:1d:df:a0:b5:49:44:af:cd:24:a0:6c:ec
- # Subject: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2
-@@ -23157,16 +23285,17 @@ CKA_VALUE MULTILINE_OCTAL
- \362\261\216\231\241\157\023\261\101\161\376\210\052\310\117\020
- \040\125\327\363\024\105\345\340\104\364\352\207\225\062\223\016
- \376\123\106\372\054\235\377\213\042\271\113\331\011\105\244\336
- \244\270\232\130\335\033\175\122\237\216\131\103\210\201\244\236
- \046\325\157\255\335\015\306\067\175\355\003\222\033\345\167\137
- \166\356\074\215\304\135\126\133\242\331\146\156\263\065\067\345
- \062\266
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Global Root G2"
- # Issuer: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:03:3a:f1:e6:a7:11:a9:a0:bb:28:64:b1:1d:09:fa:e5
- # Subject: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F
-@@ -23274,16 +23403,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\255\274\362\154\077\022\112\321\055\071\303\012\011\227\163
- \364\210\066\214\210\047\273\346\210\215\120\205\247\143\371\236
- \062\336\146\223\017\361\314\261\011\217\335\154\253\372\153\177
- \240\002\060\071\146\133\302\144\215\270\236\120\334\250\325\111
- \242\355\307\334\321\111\177\027\001\270\310\206\217\116\214\210
- \053\250\232\251\212\305\321\000\275\370\124\342\232\345\133\174
- \263\047\027
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Global Root G3"
- # Issuer: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:05:55:56:bc:f2:5e:a4:35:35:c3:a4:0f:d5:ab:45:72
- # Subject: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0
-@@ -23444,16 +23574,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\154\311\012\274\356\103\372\072\161\245\310\115\046\245\065
- \375\211\135\274\205\142\035\062\322\240\053\124\355\232\127\301
- \333\372\020\317\031\267\213\112\033\217\001\266\047\225\123\350
- \266\211\155\133\274\150\324\043\350\213\121\242\126\371\360\246
- \200\240\326\036\263\274\017\017\123\165\051\252\352\023\167\344
- \336\214\201\041\255\007\020\107\021\255\207\075\007\321\165\274
- \317\363\146\176
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Trusted Root G4"
- # Issuer: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:05:9b:1b:57:9e:8e:21:32:e2:39:07:bd:a7:77:75:5c
- # Subject: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88
-@@ -23610,16 +23741,17 @@ CKA_VALUE MULTILINE_OCTAL
- \047\274\172\277\340\333\364\332\122\275\336\014\124\160\061\221
- \103\225\310\274\360\076\335\011\176\060\144\120\355\177\001\244
- \063\147\115\150\117\276\025\357\260\366\002\021\242\033\023\045
- \072\334\302\131\361\343\134\106\273\147\054\002\106\352\036\110
- \246\346\133\331\265\274\121\242\222\226\333\252\306\067\042\246
- \376\314\040\164\243\055\251\056\153\313\300\202\021\041\265\223
- \171\356\104\206\276\327\036\344\036\373
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "WoSign"
- # Issuer: CN=Certification Authority of WoSign,O=WoSign CA Limited,C=CN
- # Serial Number:5e:68:d6:11:71:94:63:50:56:00:68:f3:3e:c9:c5:91
- # Subject: CN=Certification Authority of WoSign,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Aug 08 01:00:01 2009
- # Not Valid After : Mon Aug 08 01:00:01 2039
- # Fingerprint (SHA-256): 4B:22:D5:A6:AE:C9:9F:3C:DB:79:AA:5E:C0:68:38:47:9C:D5:EC:BA:71:64:F7:F2:2D:C1:D6:5F:63:D8:57:08
-@@ -23771,16 +23903,17 @@ CKA_VALUE MULTILINE_OCTAL
- \324\175\253\227\063\304\323\076\340\151\266\050\171\240\011\215
- \034\321\377\101\162\110\006\374\232\056\347\040\371\233\242\336
- \211\355\256\074\011\257\312\127\263\222\211\160\100\344\057\117
- \302\160\203\100\327\044\054\153\347\011\037\323\325\307\301\010
- \364\333\016\073\034\007\013\103\021\204\041\206\351\200\324\165
- \330\253\361\002\142\301\261\176\125\141\317\023\327\046\260\327
- \234\313\051\213\070\112\013\016\220\215\272\241
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "WoSign China"
- # Issuer: CN=CA ...............,O=WoSign CA Limited,C=CN
- # Serial Number:50:70:6b:cd:d8:13:fc:1b:4e:3b:33:72:d2:11:48:8d
- # Subject: CN=CA ...............,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Aug 08 01:00:01 2009
- # Not Valid After : Mon Aug 08 01:00:01 2039
- # Fingerprint (SHA-256): D6:F0:34:BD:94:AA:23:3F:02:97:EC:A4:24:5B:28:39:73:E4:47:AA:59:0F:31:0C:77:F4:8F:DF:83:11:22:54
-@@ -23947,16 +24080,17 @@ CKA_VALUE MULTILINE_OCTAL
- \100\350\123\262\047\235\112\271\300\167\041\215\377\207\362\336
- \274\214\357\027\337\267\111\013\321\362\156\060\013\032\016\116
- \166\355\021\374\365\351\126\262\175\277\307\155\012\223\214\245
- \320\300\266\035\276\072\116\224\242\327\156\154\013\302\212\174
- \372\040\363\304\344\345\315\015\250\313\221\222\261\174\205\354
- \265\024\151\146\016\202\347\315\316\310\055\246\121\177\041\301
- \065\123\205\006\112\135\237\255\273\033\137\164
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "COMODO RSA Certification Authority"
- # Issuer: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d
- # Subject: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Tue Jan 19 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34
-@@ -24128,16 +24262,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\233\267\220\307\014\007\337\365\211\066\164\062\326\050\301
- \260\260\013\340\234\114\303\034\326\374\343\151\265\107\106\201
- \057\242\202\253\323\143\104\160\304\215\377\055\063\272\255\217
- \173\265\160\210\256\076\031\317\100\050\330\374\310\220\273\135
- \231\042\365\122\346\130\305\037\210\061\103\356\210\035\327\306
- \216\074\103\152\035\247\030\336\175\075\026\361\142\371\312\220
- \250\375
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "USERTrust RSA Certification Authority"
- # Issuer: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Serial Number:01:fd:6d:30:fc:a3:ca:51:a8:1b:bc:64:0e:35:03:2d
- # Subject: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Not Valid Before: Mon Feb 01 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2
-@@ -24256,16 +24391,17 @@ CKA_VALUE MULTILINE_OCTAL
- \066\147\241\026\010\334\344\227\000\101\035\116\276\341\143\001
- \317\073\252\102\021\144\240\235\224\071\002\021\171\134\173\035
- \372\144\271\356\026\102\263\277\212\302\011\304\354\344\261\115
- \002\061\000\351\052\141\107\214\122\112\113\116\030\160\366\326
- \104\326\156\365\203\272\155\130\275\044\331\126\110\352\357\304
- \242\106\201\210\152\072\106\321\251\233\115\311\141\332\321\135
- \127\152\030
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "USERTrust ECC Certification Authority"
- # Issuer: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Serial Number:5c:8b:99:c5:5a:94:c5:d2:71:56:de:cd:89:80:cc:26
- # Subject: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Not Valid Before: Mon Feb 01 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A
-@@ -24367,16 +24503,17 @@ CKA_VALUE MULTILINE_OCTAL
- \270\342\100\177\373\012\156\373\276\063\311\074\243\204\325\060
- \012\006\010\052\206\110\316\075\004\003\002\003\110\000\060\105
- \002\041\000\334\222\241\240\023\246\317\003\260\346\304\041\227
- \220\372\024\127\055\003\354\356\074\323\156\312\250\154\166\274
- \242\336\273\002\040\047\250\205\047\065\233\126\306\243\362\107
- \322\267\156\033\002\000\027\252\147\246\025\221\336\372\224\354
- \173\013\370\237\204
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "GlobalSign ECC Root CA - R4"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
- # Serial Number:2a:38:a4:1c:96:0a:04:de:42:b2:28:a5:0b:e8:34:98:02
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
- # Not Valid Before: Tue Nov 13 00:00:00 2012
- # Not Valid After : Tue Jan 19 03:14:07 2038
- # Fingerprint (SHA-256): BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C
-@@ -24479,16 +24616,17 @@ CKA_VALUE MULTILINE_OCTAL
- \345\151\022\311\156\333\306\061\272\011\101\341\227\370\373\375
- \232\342\175\022\311\355\174\144\323\313\005\045\213\126\331\240
- \347\136\135\116\013\203\234\133\166\051\240\011\046\041\152\142
- \002\060\161\322\265\217\134\352\073\341\170\011\205\250\165\222
- \073\310\134\375\110\357\015\164\042\250\010\342\156\305\111\316
- \307\014\274\247\141\151\361\367\073\341\052\313\371\053\363\146
- \220\067
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "GlobalSign ECC Root CA - R5"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
- # Serial Number:60:59:49:e0:26:2e:bb:55:f9:0a:77:8a:71:f9:4a:d8:6c
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
- # Not Valid Before: Tue Nov 13 00:00:00 2012
- # Not Valid After : Tue Jan 19 03:14:07 2038
- # Fingerprint (SHA-256): 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24
-@@ -24653,16 +24791,17 @@ CKA_VALUE MULTILINE_OCTAL
- \107\234\167\307\045\341\254\064\005\115\363\202\176\101\043\272
- \264\127\363\347\306\001\145\327\115\211\231\034\151\115\136\170
- \366\353\162\161\075\262\304\225\001\237\135\014\267\057\045\246
- \134\171\101\357\236\304\147\074\241\235\177\161\072\320\225\227
- \354\170\102\164\230\156\276\076\150\114\127\074\250\223\101\207
- \013\344\271\257\221\373\120\114\014\272\300\044\047\321\025\333
- \145\110\041\012\057\327\334\176\240\314\145\176\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "VeriSign-C3SSA-G2-temporary-intermediate-after-1024bit-removal"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:2f:00:6e:cd:17:70:66:e7:5f:a3:82:0a:79:1f:05:ae
- # Subject: CN=VeriSign Class 3 Secure Server CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Thu Mar 26 00:00:00 2009
- # Not Valid After : Sun Mar 24 23:59:59 2019
- # Fingerprint (SHA-256): 0A:41:51:D5:E5:8B:84:B8:AC:E5:3A:5C:12:12:2A:C9:59:CD:69:91:FB:B3:8E:99:B5:76:C0:AB:DA:C3:58:14
-@@ -24824,16 +24963,17 @@ CKA_VALUE MULTILINE_OCTAL
- \325\131\242\211\164\323\237\276\036\113\327\306\155\267\210\044
- \157\140\221\244\202\205\133\126\101\274\320\104\253\152\023\276
- \321\054\130\267\022\063\130\262\067\143\334\023\365\224\035\077
- \100\121\365\117\365\072\355\310\305\353\302\036\035\026\225\172
- \307\176\102\161\223\156\113\025\267\060\337\252\355\127\205\110
- \254\035\152\335\071\151\344\341\171\170\276\316\005\277\241\014
- \367\200\173\041\147\047\060\131
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Staat der Nederlanden Root CA - G3"
- # Issuer: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL
- # Serial Number: 10003001 (0x98a239)
- # Subject: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Thu Nov 14 11:28:42 2013
- # Not Valid After : Mon Nov 13 23:00:00 2028
- # Fingerprint (SHA-256): 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28
-@@ -24987,16 +25127,17 @@ CKA_VALUE MULTILINE_OCTAL
- \170\157\120\202\104\120\077\146\006\212\253\103\204\126\112\017
- \040\055\206\016\365\322\333\322\172\212\113\315\245\350\116\361
- \136\046\045\001\131\043\240\176\322\366\176\041\127\327\047\274
- \025\127\114\244\106\301\340\203\036\014\114\115\037\117\006\031
- \342\371\250\364\072\202\241\262\171\103\171\326\255\157\172\047
- \220\003\244\352\044\207\077\331\275\331\351\362\137\120\111\034
- \356\354\327\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Staat der Nederlanden EV Root CA"
- # Issuer: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL
- # Serial Number: 10000013 (0x98968d)
- # Subject: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Wed Dec 08 11:19:29 2010
- # Not Valid After : Thu Dec 08 11:10:28 2022
- # Fingerprint (SHA-256): 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A
-@@ -25148,16 +25289,17 @@ CKA_VALUE MULTILINE_OCTAL
- \312\112\201\153\136\013\363\121\341\164\053\351\176\047\247\331
- \231\111\116\370\245\200\333\045\017\034\143\142\212\311\063\147
- \153\074\020\203\306\255\336\250\315\026\216\215\360\007\067\161
- \237\362\253\374\101\365\301\213\354\000\067\135\011\345\116\200
- \357\372\261\134\070\006\245\033\112\341\334\070\055\074\334\253
- \037\220\032\325\112\234\356\321\160\154\314\356\364\127\370\030
- \272\204\156\207
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "IdenTrust Commercial Root CA 1"
- # Issuer: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
- # Serial Number:0a:01:42:80:00:00:01:45:23:c8:44:b5:00:00:00:02
- # Subject: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
- # Not Valid Before: Thu Jan 16 18:12:23 2014
- # Not Valid After : Mon Jan 16 18:12:23 2034
- # Fingerprint (SHA-256): 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE
-@@ -25309,16 +25451,17 @@ CKA_VALUE MULTILINE_OCTAL
- \150\011\061\161\360\155\370\116\107\373\326\205\356\305\130\100
- \031\244\035\247\371\113\103\067\334\150\132\117\317\353\302\144
- \164\336\264\025\331\364\124\124\032\057\034\327\227\161\124\220
- \216\331\040\235\123\053\177\253\217\342\352\060\274\120\067\357
- \361\107\265\175\174\054\004\354\150\235\264\111\104\020\364\162
- \113\034\144\347\374\346\153\220\335\151\175\151\375\000\126\245
- \267\254\266\255\267\312\076\001\357\234
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "IdenTrust Public Sector Root CA 1"
- # Issuer: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US
- # Serial Number:0a:01:42:80:00:00:01:45:23:cf:46:7c:00:00:00:02
- # Subject: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US
- # Not Valid Before: Thu Jan 16 17:53:32 2014
- # Not Valid After : Mon Jan 16 17:53:32 2034
- # Fingerprint (SHA-256): 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F
-@@ -25453,16 +25596,17 @@ CKA_VALUE MULTILINE_OCTAL
- \217\252\302\107\057\024\161\325\051\343\020\265\107\223\045\314
- \043\051\332\267\162\330\221\324\354\033\110\212\042\344\301\052
- \367\072\150\223\237\105\031\156\103\267\314\376\270\221\232\141
- \032\066\151\143\144\222\050\363\157\141\222\205\023\237\311\007
- \054\213\127\334\353\236\171\325\302\336\010\325\124\262\127\116
- \052\062\215\241\342\072\321\020\040\042\071\175\064\105\157\161
- \073\303\035\374\377\262\117\250\342\366\060\036
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "S-TRUST Universal Root CA"
- # Issuer: CN=S-TRUST Universal Root CA,OU=S-TRUST Certification Services,O=Deutscher Sparkassen Verlag GmbH,C=DE
- # Serial Number:60:56:c5:4b:23:40:5b:64:d4:ed:25:da:d9:d6:1e:1e
- # Subject: CN=S-TRUST Universal Root CA,OU=S-TRUST Certification Services,O=Deutscher Sparkassen Verlag GmbH,C=DE
- # Not Valid Before: Tue Oct 22 00:00:00 2013
- # Not Valid After : Thu Oct 21 23:59:59 2038
- # Fingerprint (SHA-256): D8:0F:EF:91:0A:E3:F1:04:72:3B:04:5C:EC:2D:01:9F:44:1C:E6:21:3A:DF:15:67:91:E7:0C:17:90:11:0A:31
-@@ -25615,16 +25759,17 @@ CKA_VALUE MULTILINE_OCTAL
- \274\075\320\204\350\352\006\162\260\115\071\062\170\277\076\021
- \234\013\244\235\232\041\363\360\233\013\060\170\333\301\334\207
- \103\376\274\143\232\312\305\302\034\311\307\215\377\073\022\130
- \010\346\266\075\354\172\054\116\373\203\226\316\014\074\151\207
- \124\163\244\163\302\223\377\121\020\254\025\124\001\330\374\005
- \261\211\241\177\164\203\232\111\327\334\116\173\212\110\157\213
- \105\366
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust Root Certification Authority - G2"
- # Issuer: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Serial Number: 1246989352 (0x4a538c28)
- # Subject: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Not Valid Before: Tue Jul 07 17:25:54 2009
- # Not Valid After : Sat Dec 07 17:55:54 2030
- # Fingerprint (SHA-256): 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
-@@ -25759,16 +25904,17 @@ CKA_VALUE MULTILINE_OCTAL
- \075\004\003\003\003\147\000\060\144\002\060\141\171\330\345\102
- \107\337\034\256\123\231\027\266\157\034\175\341\277\021\224\321
- \003\210\165\344\215\211\244\212\167\106\336\155\141\357\002\365
- \373\265\337\314\376\116\377\376\251\346\247\002\060\133\231\327
- \205\067\006\265\173\010\375\353\047\213\112\224\371\341\372\247
- \216\046\010\350\174\222\150\155\163\330\157\046\254\041\002\270
- \231\267\046\101\133\045\140\256\320\110\032\356\006
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust Root Certification Authority - EC1"
- # Issuer: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Serial Number:00:a6:8b:79:29:00:00:00:00:50:d0:91:f9
- # Subject: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Not Valid Before: Tue Dec 18 15:25:36 2012
- # Not Valid After : Fri Dec 18 15:55:36 2037
- # Fingerprint (SHA-256): 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5
-@@ -25931,16 +26077,17 @@ CKA_VALUE MULTILINE_OCTAL
- \110\171\140\212\303\327\023\134\370\162\100\337\112\313\317\231
- \000\012\000\013\021\225\332\126\105\003\210\012\237\147\320\325
- \171\261\250\215\100\155\015\302\172\100\372\363\137\144\107\222
- \313\123\271\273\131\316\117\375\320\025\123\001\330\337\353\331
- \346\166\357\320\043\273\073\251\171\263\325\002\051\315\211\243
- \226\017\112\065\347\116\102\300\165\315\007\317\346\054\353\173
- \056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CFCA EV ROOT"
- # Issuer: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
- # Serial Number: 407555286 (0x184accd6)
- # Subject: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
- # Not Valid Before: Wed Aug 08 03:07:01 2012
- # Not Valid After : Mon Dec 31 03:07:01 2029
- # Fingerprint (SHA-256): 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD
-@@ -26228,16 +26375,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\346\025\204\067\360\302\362\145\226\222\220\167\360\255\364
- \220\351\021\170\327\223\211\300\075\013\272\051\364\350\231\235
- \162\216\355\235\057\356\222\175\241\361\377\135\272\063\140\205
- \142\376\007\002\241\204\126\106\276\226\012\232\023\327\041\114
- \267\174\007\237\116\116\077\221\164\373\047\235\021\314\335\346
- \261\312\161\115\023\027\071\046\305\051\041\053\223\051\152\226
- \372\253\101\341\113\266\065\013\300\233\025
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TRKTRUST Elektronik Sertifika Hizmet Salaycs H5"
- # Issuer: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H5,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:00:8e:17:fe:24:20:81
- # Subject: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H5,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Tue Apr 30 08:07:01 2013
- # Not Valid After : Fri Apr 28 08:07:01 2023
- # Fingerprint (SHA-256): 49:35:1B:90:34:44:C1:85:CC:DC:5C:69:3D:24:D8:55:5C:B2:08:D6:A8:14:13:07:69:9F:4A:F0:63:19:9D:78
-@@ -26388,16 +26536,17 @@ CKA_VALUE MULTILINE_OCTAL
- \200\216\255\176\121\000\116\307\226\206\373\103\230\167\175\050
- \307\217\330\052\156\347\204\157\227\101\051\000\026\136\115\342
- \023\352\131\300\143\147\072\104\373\230\374\004\323\060\162\246
- \366\207\011\127\255\166\246\035\143\232\375\327\145\310\170\203
- \053\165\073\245\133\270\015\135\177\276\043\256\126\125\224\130
- \357\037\201\214\052\262\315\346\233\143\236\030\274\345\153\006
- \264\013\230\113\050\136\257\210\130\313
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TRKTRUST Elektronik Sertifika Hizmet Salaycs H6"
- # Issuer: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H6,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:7d:a1:f2:65:ec:8a
- # Subject: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H6,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Wed Dec 18 09:04:10 2013
- # Not Valid After : Sat Dec 16 09:04:10 2023
- # Fingerprint (SHA-256): 8D:E7:86:55:E1:BE:7F:78:47:80:0B:93:F6:94:D2:1D:36:8C:C0:6E:03:3E:7F:AB:04:BB:5E:B9:9D:A6:B7:00
-@@ -26559,16 +26708,17 @@ CKA_VALUE MULTILINE_OCTAL
- \307\132\141\315\217\201\140\025\115\200\335\220\342\175\304\120
- \362\214\073\156\112\307\306\346\200\053\074\201\274\021\200\026
- \020\047\327\360\315\077\171\314\163\052\303\176\123\221\326\156
- \370\365\363\307\320\121\115\216\113\245\133\346\031\027\073\326
- \201\011\334\042\334\356\216\271\304\217\123\341\147\273\063\270
- \210\025\106\317\355\151\065\377\165\015\106\363\316\161\341\305
- \153\206\102\006\271\101
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certinomis - Root CA"
- # Issuer: CN=Certinomis - Root CA,OU=0002 433998903,O=Certinomis,C=FR
- # Serial Number: 1 (0x1)
- # Subject: CN=Certinomis - Root CA,OU=0002 433998903,O=Certinomis,C=FR
- # Not Valid Before: Mon Oct 21 09:17:18 2013
- # Not Valid After : Fri Oct 21 09:17:18 2033
- # Fingerprint (SHA-256): 2A:99:F5:BC:11:74:B7:3C:BB:1D:62:08:84:E0:1C:34:E5:1C:CB:39:78:DA:12:5F:0E:33:26:88:83:BF:41:58
-@@ -26697,16 +26847,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\253\226\300\264\113\242\035\227\236\172\362\156\100\161\337
- \150\361\145\115\316\174\005\337\123\145\251\245\360\261\227\004
- \160\025\106\003\230\324\322\277\124\264\240\130\175\122\157\332
- \126\046\142\324\330\333\211\061\157\034\360\042\302\323\142\034
- \065\315\114\151\025\124\032\220\230\336\353\036\137\312\167\307
- \313\216\075\103\151\234\232\130\320\044\073\337\033\100\226\176
- \065\255\201\307\116\161\272\210\023
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OISTE WISeKey Global Root GB CA"
- # Issuer: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
- # Serial Number:76:b1:20:52:74:f0:85:87:46:b3:f8:23:1a:f6:c2:c0
- # Subject: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
- # Not Valid Before: Mon Dec 01 15:00:32 2014
- # Not Valid After : Thu Dec 01 15:10:31 2039
- # Fingerprint (SHA-256): 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6
-@@ -26831,16 +26982,17 @@ CKA_VALUE MULTILINE_OCTAL
- \171\266\063\131\272\017\304\013\342\160\240\113\170\056\372\310
- \237\375\257\221\145\012\170\070\025\345\227\027\024\335\371\340
- \054\064\370\070\320\204\042\000\300\024\121\030\053\002\334\060
- \132\360\350\001\174\065\072\043\257\010\344\257\252\216\050\102
- \111\056\360\365\231\064\276\355\017\113\030\341\322\044\074\273
- \135\107\267\041\362\215\321\012\231\216\343\156\076\255\160\340
- \217\271\312\314\156\201\061\366\173\234\172\171\344\147\161\030
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certification Authority of WoSign G2"
- # Issuer: CN=Certification Authority of WoSign G2,O=WoSign CA Limited,C=CN
- # Serial Number:6b:25:da:8a:88:9d:7c:bc:0f:05:b3:b1:7a:61:45:44
- # Subject: CN=Certification Authority of WoSign G2,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Nov 08 00:58:58 2014
- # Not Valid After : Tue Nov 08 00:58:58 2044
- # Fingerprint (SHA-256): D4:87:A5:6F:83:B0:74:82:E8:5E:96:33:94:C1:EC:C2:C9:E5:1D:09:03:EE:94:6B:02:C3:01:58:1E:D9:9E:16
-@@ -26939,16 +27091,17 @@ CKA_VALUE MULTILINE_OCTAL
- \004\003\003\003\150\000\060\145\002\061\000\344\244\204\260\201
- \325\075\260\164\254\224\244\350\016\075\000\164\114\241\227\153
- \371\015\121\074\241\331\073\364\015\253\251\237\276\116\162\312
- \205\324\331\354\265\062\105\030\157\253\255\002\060\175\307\367
- \151\143\057\241\341\230\357\023\020\321\171\077\321\376\352\073
- \177\336\126\364\220\261\025\021\330\262\042\025\320\057\303\046
- \056\153\361\221\262\220\145\364\232\346\220\356\112
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA WoSign ECC Root"
- # Issuer: CN=CA WoSign ECC Root,O=WoSign CA Limited,C=CN
- # Serial Number:68:4a:58:70:80:6b:f0:8f:02:fa:f6:de:e8:b0:90:90
- # Subject: CN=CA WoSign ECC Root,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Nov 08 00:58:58 2014
- # Not Valid After : Tue Nov 08 00:58:58 2044
- # Fingerprint (SHA-256): 8B:45:DA:1C:06:F7:91:EB:0C:AB:F2:6B:E5:88:F5:FB:23:16:5C:2E:61:4B:F8:85:56:2D:0D:CE:50:B2:9B:02
-@@ -27071,16 +27224,17 @@ CKA_VALUE MULTILINE_OCTAL
- \322\324\141\372\325\025\333\327\237\207\121\124\353\245\343\353
- \311\205\240\045\040\067\373\216\316\014\064\204\341\074\201\262
- \167\116\103\245\210\137\206\147\241\075\346\264\134\141\266\076
- \333\376\267\050\305\242\007\256\265\312\312\215\052\022\357\227
- \355\302\060\244\311\052\172\373\363\115\043\033\231\063\064\240
- \056\365\251\013\077\324\135\341\317\204\237\342\031\302\137\212
- \326\040\036\343\163\267
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "SZAFIR ROOT CA2"
- # Issuer: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL
- # Serial Number:3e:8a:5d:07:ec:55:d2:32:d5:b7:e3:b6:5f:01:eb:2d:dc:e4:d6:e4
- # Subject: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL
- # Not Valid Before: Mon Oct 19 07:43:30 2015
- # Not Valid After : Fri Oct 19 07:43:30 2035
- # Fingerprint (SHA-256): A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE
-@@ -27248,16 +27402,17 @@ CKA_VALUE MULTILINE_OCTAL
- \134\002\312\054\330\157\112\007\331\311\065\332\100\165\362\304
- \247\031\157\236\102\020\230\165\346\225\213\140\274\355\305\022
- \327\212\316\325\230\134\126\226\003\305\356\167\006\065\377\317
- \344\356\077\023\141\356\333\332\055\205\360\315\256\235\262\030
- \011\105\303\222\241\162\027\374\107\266\240\013\054\361\304\336
- \103\150\010\152\137\073\360\166\143\373\314\006\054\246\306\342
- \016\265\271\276\044\217
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certum Trusted Network CA 2"
- # Issuer: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Serial Number:21:d6:d0:4a:4f:25:0f:c9:32:37:fc:aa:5e:12:8d:e9
- # Subject: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Not Valid Before: Thu Oct 06 08:39:56 2011
- # Not Valid After : Sat Oct 06 08:39:56 2046
- # Fingerprint (SHA-256): B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04
-@@ -27434,16 +27589,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\314\073\330\167\067\060\242\117\331\157\321\362\100\255\101
- \172\027\305\326\112\065\211\267\101\325\174\206\177\125\115\203
- \112\245\163\040\300\072\257\220\361\232\044\216\331\216\161\312
- \173\270\206\332\262\217\231\076\035\023\015\022\021\356\324\253
- \360\351\025\166\002\344\340\337\252\040\036\133\141\205\144\100
- \251\220\227\015\255\123\322\132\035\207\152\000\227\145\142\264
- \276\157\152\247\365\054\102\355\062\255\266\041\236\276\274
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Hellenic Academic and Research Institutions RootCA 2015"
- # Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Not Valid Before: Tue Jul 07 10:11:21 2015
- # Not Valid After : Sat Jun 30 10:11:21 2040
- # Fingerprint (SHA-256): A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36
-@@ -27569,16 +27725,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\060\144\002\060\147\316\026\142\070\242\254\142\105\247\251
- \225\044\300\032\047\234\062\073\300\300\325\272\251\347\370\004
- \103\123\205\356\122\041\336\235\365\045\203\076\236\130\113\057
- \327\147\023\016\041\002\060\005\341\165\001\336\150\355\052\037
- \115\114\011\010\015\354\113\255\144\027\050\347\165\316\105\145
- \162\041\027\313\042\101\016\214\023\230\070\232\124\155\233\312
- \342\174\352\002\130\042\221
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Hellenic Academic and Research Institutions ECC RootCA 2015"
- # Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Not Valid Before: Tue Jul 07 10:37:12 2015
- # Not Valid After : Sat Jun 30 10:37:12 2040
- # Fingerprint (SHA-256): 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33
-@@ -27733,16 +27890,17 @@ CKA_VALUE MULTILINE_OCTAL
- \040\222\334\102\204\277\001\253\207\300\325\040\202\333\306\271
- \203\205\102\134\017\103\073\152\111\065\325\230\364\025\277\372
- \141\201\014\011\040\030\322\320\027\014\313\110\000\120\351\166
- \202\214\144\327\072\240\007\125\314\036\061\300\357\072\264\145
- \373\343\277\102\153\236\017\250\275\153\230\334\330\333\313\213
- \244\335\327\131\364\156\335\376\252\303\221\320\056\102\007\300
- \014\115\123\315\044\261\114\133\036\121\364\337\351\222\372
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certplus Root CA G1"
- # Issuer: CN=Certplus Root CA G1,O=Certplus,C=FR
- # Serial Number:11:20:55:83:e4:2d:3e:54:56:85:2d:83:37:b7:2c:dc:46:11
- # Subject: CN=Certplus Root CA G1,O=Certplus,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 15:2A:40:2B:FC:DF:2C:D5:48:05:4D:22:75:B3:9C:7F:CA:3E:C0:97:80:78:B0:F0:EA:76:E5:61:A6:C7:43:3E
-@@ -27838,16 +27996,17 @@ CKA_VALUE MULTILINE_OCTAL
- \110\316\075\004\003\003\003\150\000\060\145\002\060\160\376\260
- \013\331\367\203\227\354\363\125\035\324\334\263\006\016\376\063
- \230\235\213\071\220\153\224\041\355\266\327\135\326\114\327\041
- \247\347\277\041\017\053\315\367\052\334\205\007\235\002\061\000
- \206\024\026\345\334\260\145\302\300\216\024\237\277\044\026\150
- \345\274\371\171\151\334\255\105\053\367\266\061\163\314\006\245
- \123\223\221\032\223\256\160\152\147\272\327\236\345\141\032\137
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certplus Root CA G2"
- # Issuer: CN=Certplus Root CA G2,O=Certplus,C=FR
- # Serial Number:11:20:d9:91:ce:ae:a3:e8:c5:e7:ff:e9:02:af:cf:73:bc:55
- # Subject: CN=Certplus Root CA G2,O=Certplus,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 6C:C0:50:41:E6:44:5E:74:69:6C:4C:FB:C9:F8:0F:54:3B:7E:AB:BB:44:B4:CE:6F:78:7C:6A:99:71:C4:2F:17
-@@ -27999,16 +28158,17 @@ CKA_VALUE MULTILINE_OCTAL
- \076\355\154\275\375\016\235\146\163\260\075\264\367\277\250\340
- \021\244\304\256\165\011\112\143\000\110\040\246\306\235\013\011
- \212\264\340\346\316\076\307\076\046\070\351\053\336\246\010\111
- \003\004\220\212\351\217\277\350\266\264\052\243\043\215\034\034
- \262\071\222\250\217\002\134\100\071\165\324\163\101\002\167\336
- \315\340\103\207\326\344\272\112\303\154\022\177\376\052\346\043
- \326\214\161
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G1"
- # Issuer: CN=OpenTrust Root CA G1,O=OpenTrust,C=FR
- # Serial Number:11:20:b3:90:55:39:7d:7f:36:6d:64:c2:a7:9f:6b:63:8e:67
- # Subject: CN=OpenTrust Root CA G1,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 08:45:50 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 56:C7:71:28:D9:8C:18:D9:1B:4C:FD:FF:BC:25:EE:91:03:D4:75:8E:A2:AB:AD:82:6A:90:F3:45:7D:46:0E:B4
-@@ -28161,16 +28321,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\335\147\023\157\035\150\044\213\117\267\164\201\345\364\140
- \237\172\125\327\076\067\332\026\153\076\167\254\256\030\160\225
- \010\171\051\003\212\376\301\073\263\077\032\017\244\073\136\037
- \130\241\225\311\253\057\163\112\320\055\156\232\131\017\125\030
- \170\055\074\121\246\227\213\346\273\262\160\252\114\021\336\377
- \174\053\067\324\172\321\167\064\217\347\371\102\367\074\201\014
- \113\122\012
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G2"
- # Issuer: CN=OpenTrust Root CA G2,O=OpenTrust,C=FR
- # Serial Number:11:20:a1:69:1b:bf:bd:b9:bd:52:96:8f:23:e8:48:bf:26:11
- # Subject: CN=OpenTrust Root CA G2,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 27:99:58:29:FE:6A:75:15:C1:BF:E8:48:F9:C4:76:1D:B1:6C:22:59:29:25:7B:F4:0D:08:94:F2:9E:A8:BA:F2
-@@ -28270,16 +28431,17 @@ CKA_VALUE MULTILINE_OCTAL
- \061\000\217\250\334\235\272\014\004\027\372\025\351\075\057\051
- \001\227\277\201\026\063\100\223\154\374\371\355\200\160\157\252
- \217\333\204\302\213\365\065\312\006\334\144\157\150\026\341\217
- \221\271\002\061\000\330\113\245\313\302\320\010\154\351\030\373
- \132\335\115\137\044\013\260\000\041\045\357\217\247\004\046\161
- \342\174\151\345\135\232\370\101\037\073\071\223\223\235\125\352
- \315\215\361\373\301
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G3"
- # Issuer: CN=OpenTrust Root CA G3,O=OpenTrust,C=FR
- # Serial Number:11:20:e6:f8:4c:fc:24:b0:be:05:40:ac:da:83:1b:34:60:3f
- # Subject: CN=OpenTrust Root CA G3,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): B7:C3:62:31:70:6E:81:07:8C:36:7C:B8:96:19:8F:1E:32:08:DD:92:69:49:DD:8F:57:09:A4:10:F7:5B:62:92
-@@ -28433,16 +28595,17 @@ CKA_VALUE MULTILINE_OCTAL
- \242\320\141\070\341\226\270\254\135\213\067\327\165\325\063\300
- \231\021\256\235\101\301\162\165\204\276\002\101\102\137\147\044
- \110\224\321\233\047\276\007\077\271\270\117\201\164\121\341\172
- \267\355\235\043\342\276\340\325\050\004\023\074\061\003\236\335
- \172\154\217\306\007\030\306\177\336\107\216\077\050\236\004\006
- \317\245\124\064\167\275\354\211\233\351\027\103\337\133\333\137
- \376\216\036\127\242\315\100\235\176\142\042\332\336\030\047
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "ISRG Root X1"
- # Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US
- # Serial Number:00:82:10:cf:b0:d2:40:e3:59:44:63:e0:bb:63:82:8b:00
- # Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US
- # Not Valid Before: Thu Jun 04 11:04:38 2015
- # Not Valid After : Mon Jun 04 11:04:38 2035
- # Fingerprint (SHA-256): 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6
-@@ -28595,16 +28758,17 @@ CKA_VALUE MULTILINE_OCTAL
- \152\260\272\061\222\102\100\152\276\072\323\162\341\152\067\125
- \274\254\035\225\267\151\141\362\103\221\164\346\240\323\012\044
- \106\241\010\257\326\332\105\031\226\324\123\035\133\204\171\360
- \300\367\107\357\213\217\305\006\256\235\114\142\235\377\106\004
- \370\323\311\266\020\045\100\165\376\026\252\311\112\140\206\057
- \272\357\060\167\344\124\342\270\204\231\130\200\252\023\213\121
- \072\117\110\366\213\266\263
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "AC RAIZ FNMT-RCM"
- # Issuer: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES
- # Serial Number:5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07
- # Subject: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES
- # Not Valid Before: Wed Oct 29 15:59:56 2008
- # Not Valid After : Tue Jan 01 00:00:00 2030
- # Fingerprint (SHA-256): EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA
-@@ -28719,16 +28883,17 @@ CKA_VALUE MULTILINE_OCTAL
- \331\017\110\160\232\331\165\170\161\321\162\103\064\165\156\127
- \131\302\002\134\046\140\051\317\043\031\026\216\210\103\245\324
- \344\313\010\373\043\021\103\350\103\051\162\142\241\251\135\136
- \010\324\220\256\270\330\316\024\302\320\125\362\206\366\304\223
- \103\167\146\141\300\271\350\101\327\227\170\140\003\156\112\162
- \256\245\321\175\272\020\236\206\154\033\212\271\131\063\370\353
- \304\220\276\361\271
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 1"
- # Issuer: CN=Amazon Root CA 1,O=Amazon,C=US
- # Serial Number:06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca
- # Subject: CN=Amazon Root CA 1,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sun Jan 17 00:00:00 2038
- # Fingerprint (SHA-256): 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
-@@ -28875,16 +29040,17 @@ CKA_VALUE MULTILINE_OCTAL
- \357\242\245\134\214\167\051\247\150\300\153\256\100\322\250\264
- \352\315\360\215\113\070\234\031\232\033\050\124\270\211\220\357
- \312\165\201\076\036\362\144\044\307\030\257\116\377\107\236\007
- \366\065\145\244\323\012\126\377\365\027\144\154\357\250\042\045
- \111\223\266\337\000\027\332\130\176\135\356\305\033\260\321\321
- \137\041\020\307\371\363\272\002\012\047\007\305\361\326\307\323
- \340\373\011\140\154
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 2"
- # Issuer: CN=Amazon Root CA 2,O=Amazon,C=US
- # Serial Number:06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37
- # Subject: CN=Amazon Root CA 2,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
-@@ -28974,16 +29140,17 @@ CKA_VALUE MULTILINE_OCTAL
- \266\333\327\006\236\067\254\060\206\007\221\160\307\234\304\031
- \261\170\300\060\012\006\010\052\206\110\316\075\004\003\002\003
- \111\000\060\106\002\041\000\340\205\222\243\027\267\215\371\053
- \006\245\223\254\032\230\150\141\162\372\341\241\320\373\034\170
- \140\246\103\231\305\270\304\002\041\000\234\002\357\361\224\234
- \263\226\371\353\306\052\370\266\054\376\072\220\024\026\327\214
- \143\044\110\034\337\060\175\325\150\073
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 3"
- # Issuer: CN=Amazon Root CA 3,O=Amazon,C=US
- # Serial Number:06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a
- # Subject: CN=Amazon Root CA 3,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
-@@ -29077,16 +29244,17 @@ CKA_VALUE MULTILINE_OCTAL
- \145\002\060\072\213\041\361\275\176\021\255\320\357\130\226\057
- \326\353\235\176\220\215\053\317\146\125\303\054\343\050\251\160
- \012\107\016\360\067\131\022\377\055\231\224\050\116\052\117\065
- \115\063\132\002\061\000\352\165\000\116\073\304\072\224\022\221
- \311\130\106\235\041\023\162\247\210\234\212\344\114\112\333\226
- \324\254\213\153\153\111\022\123\063\255\327\344\276\044\374\265
- \012\166\324\245\274\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 4"
- # Issuer: CN=Amazon Root CA 4,O=Amazon,C=US
- # Serial Number:06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e
- # Subject: CN=Amazon Root CA 4,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
-@@ -29243,16 +29411,17 @@ CKA_VALUE MULTILINE_OCTAL
- \105\111\231\164\221\260\004\157\343\004\132\261\253\052\253\376
- \307\320\226\266\332\341\112\144\006\156\140\115\275\102\116\377
- \170\332\044\312\033\264\327\226\071\154\256\361\016\252\247\175
- \110\213\040\114\317\144\326\270\227\106\260\116\321\052\126\072
- \240\223\275\257\200\044\340\012\176\347\312\325\312\350\205\125
- \334\066\052\341\224\150\223\307\146\162\104\017\200\041\062\154
- \045\307\043\200\203\012\353
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "LuxTrust Global Root 2"
- # Issuer: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU
- # Serial Number:0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1
- # Subject: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU
- # Not Valid Before: Thu Mar 05 13:21:57 2015
- # Not Valid After : Mon Mar 05 13:21:57 2035
- # Fingerprint (SHA-256): 54:45:5F:71:29:C2:0B:14:47:C4:18:F9:97:16:8F:24:C5:8F:C5:02:3B:F5:DA:5B:E2:EB:6E:1D:D8:90:2E:D5
-@@ -29391,16 +29560,17 @@ CKA_VALUE MULTILINE_OCTAL
- \347\066\321\041\150\113\055\070\346\123\256\034\045\126\010\126
- \003\147\204\235\306\303\316\044\142\307\114\066\317\260\006\104
- \267\365\137\002\335\331\124\351\057\220\116\172\310\116\203\100
- \014\232\227\074\067\277\277\354\366\360\264\205\167\050\301\013
- \310\147\202\020\027\070\242\267\006\352\233\277\072\370\351\043
- \007\277\164\340\230\070\025\125\170\356\162\000\134\031\243\364
- \322\063\340\377\275\321\124\071\051\017
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 1 Public Primary Certification Authority - G6"
- # Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:24:32:75:f2:1d:2f:d2:09:33:f7:b4:6a:ca:d0:f3:98
- # Subject: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Tue Oct 18 00:00:00 2011
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (SHA-256): 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9
-@@ -29544,16 +29714,17 @@ CKA_VALUE MULTILINE_OCTAL
- \111\315\245\243\214\151\171\045\256\270\114\154\213\100\146\113
- \026\077\317\002\032\335\341\154\153\007\141\152\166\025\051\231
- \177\033\335\210\200\301\277\265\217\163\305\246\226\043\204\246
- \050\206\044\063\152\001\056\127\163\045\266\136\277\217\346\035
- \141\250\100\051\147\035\207\233\035\177\233\237\231\315\061\326
- \124\276\142\273\071\254\150\022\110\221\040\245\313\261\335\376
- \157\374\132\344\202\125\131\257\061\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 2 Public Primary Certification Authority - G6"
- # Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:64:82:9e:fc:37:1e:74:5d:fc:97:ff:97:c8:b1:ff:41
- # Subject: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Tue Oct 18 00:00:00 2011
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (SHA-256): CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0
-@@ -29676,16 +29847,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\245\256\343\106\123\370\230
- \066\343\042\372\056\050\111\015\356\060\176\063\363\354\077\161
- \136\314\125\211\170\231\254\262\375\334\034\134\063\216\051\271
- \153\027\310\021\150\265\334\203\007\002\061\000\234\310\104\332
- \151\302\066\303\124\031\020\205\002\332\235\107\357\101\347\154
- \046\235\011\075\367\155\220\321\005\104\057\260\274\203\223\150
- \362\014\105\111\071\277\231\004\034\323\020\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 1 Public Primary Certification Authority - G4"
- # Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8
- # Subject: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Wed Oct 05 00:00:00 2011
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 36:3F:3C:84:9E:AB:03:B0:A2:A0:F6:36:D7:B8:6D:04:D3:AC:7F:CF:E2:6A:0A:91:21:AB:97:95:F6:E1:76:DF
-@@ -29808,16 +29980,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\310\246\251\257\101\177\265
- \311\021\102\026\150\151\114\134\270\047\030\266\230\361\300\177
- \220\155\207\323\214\106\027\360\076\117\374\352\260\010\304\172
- \113\274\010\057\307\342\247\157\145\002\061\000\326\131\336\206
- \316\137\016\312\124\325\306\320\025\016\374\213\224\162\324\216
- \000\130\123\317\176\261\113\015\345\120\206\353\236\153\337\377
- \051\246\330\107\331\240\226\030\333\362\105\263
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 2 Public Primary Certification Authority - G4"
- # Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e
- # Subject: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Wed Oct 05 00:00:00 2011
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): FE:86:3D:08:22:FE:7A:23:53:FA:48:4D:59:24:E8:75:65:6D:3D:C9:FB:58:77:1F:6F:61:6F:9D:57:1B:C5:92
-diff --git a/lib/nss/nss.def b/lib/nss/nss.def
---- a/lib/nss/nss.def
-+++ b/lib/nss/nss.def
-@@ -1092,8 +1092,15 @@ SECMOD_CreateModuleEx;
- ;+};
- ;+NSS_3.22 { # NSS 3.22 release
- ;+ global:
- PK11_SignWithMechanism;
- PK11_VerifyWithMechanism;
- ;+ local:
- ;+ *;
- ;+};
-+;+NSS_3.30 { # NSS 3.30 release
-+;+ global:
-+CERT_CompareAVA;
-+PK11_HasAttributeSet;
-+;+ local:
-+;+ *;
-+;+};
-diff --git a/lib/util/pkcs11n.h b/lib/util/pkcs11n.h
---- a/lib/util/pkcs11n.h
-+++ b/lib/util/pkcs11n.h
-@@ -88,16 +88,18 @@
- #define CKA_NSS_JPAKE_PEERID (CKA_NSS + 27)
- #define CKA_NSS_JPAKE_GX1 (CKA_NSS + 28)
- #define CKA_NSS_JPAKE_GX2 (CKA_NSS + 29)
- #define CKA_NSS_JPAKE_GX3 (CKA_NSS + 30)
- #define CKA_NSS_JPAKE_GX4 (CKA_NSS + 31)
- #define CKA_NSS_JPAKE_X2 (CKA_NSS + 32)
- #define CKA_NSS_JPAKE_X2S (CKA_NSS + 33)
-
-+#define CKA_NSS_MOZILLA_CA_POLICY (CKA_NSS + 34)
-+
- /*
- * Trust attributes:
- *
- * If trust goes standard, these probably will too. So I'll
- * put them all in one place.
- */
-
- #define CKA_TRUST (CKA_NSS + 0x2000)
diff --git a/seamonkey-2.46-exthandler.patch b/seamonkey-2.46-exthandler.patch
deleted file mode 100644
index 60fe822..0000000
--- a/seamonkey-2.46-exthandler.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nrbu seamonkey-2.35/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp seamonkey-2.35-OK/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
---- seamonkey-2.35/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 2015-09-28 15:41:04.000000000 +0300
-+++ seamonkey-2.35-OK/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 2016-01-23 22:22:15.951365797 +0300
-@@ -118,11 +118,21 @@
- uri->GetSpec(uriSpec);
-
- nsCOMPtr<nsIGIOMimeApp> app;
-- if (NS_FAILED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) || !app) {
-- return NS_ERROR_FILE_NOT_FOUND;
-- }
-+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
-+ return app->Launch(uriSpec);
-
-+ // If we haven't got an app we try to get a valid one by searching for the
-+ // extension mapped type
-+ RefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromExtension(nativePath);
-+ if (mimeInfo) {
-+ nsAutoCString type;
-+ mimeInfo->GetType(type);
-+ nsCOMPtr<nsIGIOMimeApp> app;
-+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
- return app->Launch(uriSpec);
-+ }
-+
-+ return NS_ERROR_FILE_NOT_FOUND;
- }
-
- #if defined(MOZ_ENABLE_CONTENTACTION)
diff --git a/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch b/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
deleted file mode 100644
index 863cb2c..0000000
--- a/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
+++ /dev/null
@@ -1,277 +0,0 @@
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css 1970-01-01 03:00:00.000000000 +0300
-@@ -1,220 +0,0 @@
--/* This Source Code Form is subject to the terms of 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/. */
--
--/* ===== xulscrollbars.css ==============================================
-- == Styles used by XUL scrollbar-related elements.
-- ======================================================================= */
--
--@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
--@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
--
--/* ::::: scrollbar ::::: */
--
--scrollbar {
-- -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
-- cursor: default;
-- background: #888888;
-- border-left: 1px solid #555555;
-- border-right: 1px solid #555555;
--}
--
--scrollbar[orient="vertical"]
--{
-- -moz-appearance: scrollbar-vertical;
-- border-left: none;
-- border-right: none;
-- border-top: 1px solid #555555;
-- border-bottom: 1px solid #555555;
--}
--
--/* ::::: borders for thumb and buttons ::::: */
--
--thumb,
--scrollbarbutton {
-- border: 1px solid #555555;
-- background-color: -moz-Dialog;
--}
--
--/* ::::: thumb (horizontal) ::::: */
--
--thumb {
-- min-height: 8px;
--}
--
--thumb[orient="horizontal"] {
-- min-width: 8px;
--}
--
--/* ::::: scrollbar button ::::: */
--
--scrollbarbutton {
-- background: -moz-Dialog no-repeat 50% 50%;
-- min-width: 16px;
-- min-height: 16px;
--}
--
--scrollbarbutton:hover:active, scrollbarbutton[active="true"] {
-- border-color: #999999;
-- background-position: 60% 60%;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-bottom"],
--scrollbarbutton[sbattr="scrollbar-down-top"] {
-- display: none;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-top"],
--scrollbarbutton[sbattr="scrollbar-down-bottom"] {
-- display: -moz-box !important;
--}
--
--/* ::::: square at the corner of two scrollbars ::::: */
--
--scrollcorner {
-- /* XXX -moz-appearance: scrollcorner; */
-- -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
-- width: 16px;
-- cursor: default;
-- background-color: -moz-Dialog;
--}
--
--/* ..... increment .... */
--
--scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-right;
-- background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
--}
--
--scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-down;
-- background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
--}
--
--/* ..... decrement .... */
--
--scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-left;
-- background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
--}
--
--scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-up;
-- background-image: url("chrome://global/skin/arrow/arrow-up.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
--}
--
--/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
--/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
--/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
--@media print {
-- /* ::::: scrollbar ::::: */
--
-- html|div scrollbar {
-- -moz-appearance: scrollbar-horizontal;
-- -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
-- cursor: default;
-- background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
-- }
--
-- html|div scrollbar[orient="vertical"]
-- {
-- -moz-appearance: scrollbar-vertical;
-- }
--
-- /* ::::: borders for thumb and buttons ::::: */
--
-- html|div thumb,
-- html|div scrollbarbutton {
-- border: 2px solid;
-- -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
-- -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
-- -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
-- -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
-- background-color: -moz-Dialog;
-- }
--
-- /* ::::: thumb (horizontal) ::::: */
--
-- html|div thumb {
-- -moz-appearance: scrollbarthumb-vertical;
-- min-height: 8px;
-- }
--
-- html|div thumb[orient="horizontal"] {
-- -moz-appearance: scrollbarthumb-horizontal;
-- min-width: 8px;
-- }
--
-- /* ::::: scrollbar button ::::: */
--
-- html|div scrollbarbutton {
-- background: -moz-Dialog no-repeat 50% 50%;
-- min-width: 16px;
-- min-height: 16px;
-- }
--
-- html|div scrollbarbutton:hover:active, html|div scrollbarbutton[active="true"] {
-- -moz-border-top-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-right-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-left-colors: ThreeDShadow -moz-Dialog;
-- background-position: 60% 60%;
-- }
--
-- /* ..... increment .... */
--
-- html|div scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-right;
-- background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
-- }
--
-- html|div scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-down;
-- background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
-- }
--
-- /* ..... decrement .... */
--
-- html|div scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-left;
-- background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
-- }
--
-- html|div scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-up;
-- background-image: url("chrome://global/skin/arrow/arrow-up.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
-- }
--
--}
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/jar.mn seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/jar.mn
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/jar.mn 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/jar.mn 2018-02-18 02:13:26.326949709 +0300
-@@ -64,7 +64,6 @@
- * skin/classic/communicator/communicator.css (communicator/communicator.css)
- skin/classic/communicator/config.css (communicator/config.css)
- skin/classic/communicator/toolbar.css (communicator/toolbar.css)
-- skin/classic/communicator/scrollbars.css (communicator/scrollbars.css)
- skin/classic/communicator/viewSourceOverlay.css (communicator/viewSourceOverlay.css)
- skin/classic/communicator/bookmarks/bookmark-folder-closed.png (communicator/bookmarks/bookmark-folder-closed.png)
- skin/classic/communicator/bookmarks/bookmark-folder-dis.png (communicator/bookmarks/bookmark-folder-dis.png)
-@@ -503,7 +502,3 @@
- #ifdef XP_WIN
- % override chrome://communicator/skin/console/console-toolbar.png chrome://communicator/skin/console/console-toolbar-XP.png osversion<6
- #endif
--
--#ifdef MOZ_WIDGET_GTK
--% override chrome://global/skin/scrollbars.css chrome://communicator/skin/scrollbars.css
--#endif
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css 2018-02-18 02:13:26.326949709 +0300
-@@ -48,18 +48,6 @@
- -moz-border-left-colors: #111111 #D5FCF3 #D4DBE3;
- }
-
--%ifdef MOZ_WIDGET_GTK
--scrollbarbutton[sbattr="scrollbar-up-bottom"],
--scrollbarbutton[sbattr="scrollbar-down-top"] {
-- display: none;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-top"],
--scrollbarbutton[sbattr="scrollbar-down-bottom"] {
-- display: -moz-box !important;
--}
--%endif
--
- /* ::::: thumb (horizontal) ::::: */
-
- thumb {
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/jar.mn seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/jar.mn
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/jar.mn 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/jar.mn 2018-02-18 02:13:26.362948332 +0300
-@@ -238,7 +238,7 @@
- skin/modern/global/toolbarbutton.css (global/toolbarbutton.css)
- skin/modern/global/tree.css (global/tree.css)
- skin/modern/global/wizard.css (global/wizard.css)
--* skin/modern/global/scrollbars.css (global/scrollbars.css)
-+ skin/modern/global/scrollbars.css (global/scrollbars.css)
- skin/modern/global/scrollbars-mini.css (global/scrollbars-mini.css)
- skin/modern/global/alerts/alert.css (global/alerts/alert.css)
- skin/modern/global/alerts/notification-48.png (global/alerts/notification-48.png)
diff --git a/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch b/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
deleted file mode 100644
index df77fad..0000000
--- a/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css 2018-02-18 02:04:28.764239372 +0300
-@@ -50,14 +50,6 @@
- margin-bottom: 0px;
- padding-top: 2px; /* compensates the top margin of background tabs */
- padding-bottom: 3px; /* compensates the bottom margin of background tabs */
-- background-color: -moz-dialog;
-- -moz-border-top-colors: unset;
-- -moz-border-right-colors: unset;
-- color: -moz-dialogtext;
-- border: 1px solid Gray;
-- border-top: 2px solid RoyalBlue;
-- border-bottom: 0px none;
-- -moz-appearance: none;
- }
-
- .tabbrowser-tab:-moz-lwtheme {
diff --git a/seamonkey-2.49.4-gettid.patch b/seamonkey-2.49.4-gettid.patch
deleted file mode 100644
index 81d5eab..0000000
--- a/seamonkey-2.49.4-gettid.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Nrbu seamonkey-2.49.4/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h seamonkey-2.49.4-OK/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h
---- seamonkey-2.49.4/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h 2018-07-12 05:19:15.000000000 +0300
-+++ seamonkey-2.49.4-OK/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h 2019-07-27 20:31:47.675086876 +0300
-@@ -65,10 +65,7 @@
- #include <unistd.h>
- #if !defined(__BIONIC__)
- #include <sys/syscall.h>
--static inline pid_t gettid()
--{
-- return (pid_t) syscall(SYS_gettid);
--}
-+
- #endif
- #endif
-
diff --git a/seamonkey-2.49.5-crmf.patch b/seamonkey-2.49.5-crmf.patch
deleted file mode 100644
index 3736249..0000000
--- a/seamonkey-2.49.5-crmf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build 2019-05-06 20:30:52.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build 2019-08-12 01:40:45.891454909 +0300
-@@ -184,10 +184,6 @@
-
- DEFINES['CERT_AddTempCertToPerm'] = '__CERT_AddTempCertToPerm'
-
--USE_LIBS += [
-- 'crmf',
--]
--
- include('/ipc/chromium/chromium-config.mozbuild')
-
- if CONFIG['GNU_CXX']:
diff --git a/seamonkey-2.49.5-mozilla-1389436.patch b/seamonkey-2.49.5-mozilla-1389436.patch
deleted file mode 100644
index dc02d54..0000000
--- a/seamonkey-2.49.5-mozilla-1389436.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-
-# HG changeset patch
-# User Mike Hommey <mh+mozilla(a)glandium.org>
-# Date 1502455819 -32400
-# Node ID 97dae871389b7f22a7096a020781b07a5a61de58
-# Parent c73f64ef71d2d87f36008f5ff661f4050692bd06
-Bug 1389436 - Explicitly instantiate gfxFont::GetShapedWord<uint8_t> for its use in gfxTextRun.cpp. r=jfkthame
-
-diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp
-index d0b747f..8d3dd8b 100644
---- a/gfx/thebes/gfxFont.cpp
-+++ b/gfx/thebes/gfxFont.cpp
-@@ -2614,6 +2614,18 @@ gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
- return sw;
- }
-
-+template gfxShapedWord*
-+gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
-+ const uint8_t *aText,
-+ uint32_t aLength,
-+ uint32_t aHash,
-+ Script aRunScript,
-+ bool aVertical,
-+ int32_t aAppUnitsPerDevUnit,
-+ uint32_t aFlags,
-+ gfxTextPerfMetrics *aTextPerf);
-+
-+
- bool
- gfxFont::CacheHashEntry::KeyEquals(const KeyTypePointer aKey) const
- {
diff --git a/seamonkey-2.49.5-mozilla-1559419.patch b/seamonkey-2.49.5-mozilla-1559419.patch
deleted file mode 100644
index 9b272c0..0000000
--- a/seamonkey-2.49.5-mozilla-1559419.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/suite/app/Makefile.in seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/app/Makefile.in
---- seamonkey-2.49.5/seamonkey-2.49.5/suite/app/Makefile.in 2019-07-14 00:01:29.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/app/Makefile.in 2019-08-19 22:45:02.346141684 +0300
-@@ -97,6 +97,7 @@
- $(foreach dir,$(filter-out $(DONOTPACK),$(subst $(STAGEDIST)/,,$(wildcard $(STAGEDIST)/*))),$(_PACKAGE_EXTENSIONS))
-
- tools::
-+ $(NSINSTALL) -D $(DIST)/bin/distribution/extensions
- @$(MAKE) pack-ext STAGEDIST="$(DIST)/bin/extensions"
- @$(MAKE) pack-ext STAGEDIST="$(DIST)/bin/distribution/extensions"
-
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/suite/locales/Makefile.in seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/locales/Makefile.in
---- seamonkey-2.49.5/seamonkey-2.49.5/suite/locales/Makefile.in 2019-07-14 00:01:29.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/locales/Makefile.in 2019-08-19 22:45:21.358643583 +0300
-@@ -123,7 +123,7 @@
- @$(MAKE) -C $(DEPTH)/toolkit/locales libs-$*
- @$(MAKE) -C $(DEPTH)/services/sync/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C ../../editor/ui/locales AB_CD=$* XPI_NAME=locale-$*
-- @$(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$*
-+ @$(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$* || :
- @$(MAKE) -C $(DEPTH)/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C $(DEPTH)/devtools/client/locales AB_CD=$* XPI_NAME=locale-$*
diff --git a/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch b/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
deleted file mode 100644
index 849ee74..0000000
--- a/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp 2019-08-12 02:24:31.969115146 +0300
-@@ -154,113 +154,6 @@
- const static bool kUseSimpleContextDefault = MOZ_WIDGET_GTK == 2;
-
- /******************************************************************************
-- * SelectionStyleProvider
-- *
-- * IME (e.g., fcitx, ~4.2.8.3) may look up selection colors of widget, which
-- * is related to the window associated with the IM context, to support any
-- * colored widgets. Our editor (like <input type="text">) is rendered as
-- * native GtkTextView as far as possible by default and if editor color is
-- * changed by web apps, nsTextFrame may swap background color of foreground
-- * color of composition string for making composition string is always
-- * visually distinct in normal text.
-- *
-- * So, we would like IME to set style of composition string to good colors
-- * in GtkTextView. Therefore, this class overwrites selection colors of
-- * our widget with selection colors of GtkTextView so that it's possible IME
-- * to refer selection colors of GtkTextView via our widget.
-- ******************************************************************************/
--
--class SelectionStyleProvider final
--{
--public:
-- static SelectionStyleProvider* GetInstance()
-- {
-- if (sHasShutDown) {
-- return nullptr;
-- }
-- if (!sInstance) {
-- sInstance = new SelectionStyleProvider();
-- }
-- return sInstance;
-- }
--
-- static void Shutdown()
-- {
-- if (sInstance) {
-- g_object_unref(sInstance->mProvider);
-- }
-- delete sInstance;
-- sInstance = nullptr;
-- sHasShutDown = true;
-- }
--
-- // aGDKWindow is a GTK window which will be associated with an IM context.
-- void AttachTo(GdkWindow* aGDKWindow)
-- {
-- GtkWidget* widget = nullptr;
-- // gdk_window_get_user_data() typically returns pointer to widget that
-- // window belongs to. If it's widget, fcitx retrieves selection colors
-- // of them. So, we need to overwrite its style.
-- gdk_window_get_user_data(aGDKWindow, (gpointer*)&widget);
-- if (GTK_IS_WIDGET(widget)) {
-- gtk_style_context_add_provider(
-- gtk_widget_get_style_context(widget),
-- GTK_STYLE_PROVIDER(mProvider),
-- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-- }
-- }
--
-- void OnThemeChanged()
-- {
-- // fcitx refers GtkStyle::text[GTK_STATE_SELECTED] and
-- // GtkStyle::bg[GTK_STATE_SELECTED] (although pair of text and *base*
-- // or *fg* and bg is correct). gtk_style_update_from_context() will
-- // set these colors using the widget's GtkStyleContext and so the
-- // colors can be controlled by a ":selected" CSS rule.
-- nsAutoCString style(":selected{");
-- // FYI: LookAndFeel always returns selection colors of GtkTextView.
-- nscolor selectionForegroundColor;
-- if (NS_SUCCEEDED(LookAndFeel::GetColor(
-- LookAndFeel::eColorID_TextSelectForeground,
-- &selectionForegroundColor))) {
-- double alpha =
-- static_cast<double>(NS_GET_A(selectionForegroundColor)) / 0xFF;
-- style.AppendPrintf("color:rgba(%u,%u,%u,%f);",
-- NS_GET_R(selectionForegroundColor),
-- NS_GET_G(selectionForegroundColor),
-- NS_GET_B(selectionForegroundColor), alpha);
-- }
-- nscolor selectionBackgroundColor;
-- if (NS_SUCCEEDED(LookAndFeel::GetColor(
-- LookAndFeel::eColorID_TextSelectBackground,
-- &selectionBackgroundColor))) {
-- double alpha =
-- static_cast<double>(NS_GET_A(selectionBackgroundColor)) / 0xFF;
-- style.AppendPrintf("background-color:rgba(%u,%u,%u,%f);",
-- NS_GET_R(selectionBackgroundColor),
-- NS_GET_G(selectionBackgroundColor),
-- NS_GET_B(selectionBackgroundColor), alpha);
-- }
-- style.AppendLiteral("}");
-- gtk_css_provider_load_from_data(mProvider, style.get(), -1, nullptr);
-- }
--
--private:
-- static SelectionStyleProvider* sInstance;
-- static bool sHasShutDown;
-- GtkCssProvider* const mProvider;
--
-- SelectionStyleProvider()
-- : mProvider(gtk_css_provider_new())
-- {
-- OnThemeChanged();
-- }
--};
--
--SelectionStyleProvider* SelectionStyleProvider::sInstance = nullptr;
--bool SelectionStyleProvider::sHasShutDown = false;
--
--/******************************************************************************
- * IMContextWrapper
- ******************************************************************************/
-
-@@ -310,11 +203,6 @@
- NS_PRECONDITION(container, "container is null");
- GdkWindow* gdkWindow = gtk_widget_get_window(GTK_WIDGET(container));
-
-- // Overwrite selection colors of the window before associating the window
-- // with IM context since IME may look up selection colors via IM context
-- // to support any colored widgets.
-- SelectionStyleProvider::GetInstance()->AttachTo(gdkWindow);
--
- // NOTE: gtk_im_*_new() abort (kill) the whole process when it fails.
- // So, we don't need to check the result.
-
-@@ -363,13 +251,6 @@
- gtk_im_context_set_client_window(mDummyContext, gdkWindow);
- }
-
--/* static */
--void
--IMContextWrapper::Shutdown()
--{
-- SelectionStyleProvider::Shutdown();
--}
--
- IMContextWrapper::~IMContextWrapper()
- {
- if (this == sLastFocusedContext) {
-@@ -1154,16 +1035,6 @@
-
- /* static */
- void
--IMContextWrapper::OnThemeChanged()
--{
-- if (!SelectionStyleProvider::GetInstance()) {
-- return;
-- }
-- SelectionStyleProvider::GetInstance()->OnThemeChanged();
--}
--
--/* static */
--void
- IMContextWrapper::OnStartCompositionCallback(GtkIMContext* aContext,
- IMContextWrapper* aModule)
- {
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h 2019-05-06 20:31:09.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h 2019-08-12 02:24:31.994127437 +0300
-@@ -47,9 +47,6 @@
- // used with the instance after that).
- explicit IMContextWrapper(nsWindow* aOwnerWindow);
-
-- // Called when the process is being shut down.
-- static void Shutdown();
--
- // "Enabled" means the users can use all IMEs.
- // I.e., the focus is in the normal editors.
- bool IsEnabled() const;
-@@ -68,8 +65,6 @@
- // in the focused editor.
- void OnSelectionChange(nsWindow* aCaller,
- const IMENotification& aIMENotification);
-- // OnThemeChanged is called when desktop theme is changed.
-- static void OnThemeChanged();
-
- // OnKeyEvent is called when aWindow gets a native key press event or a
- // native key release event. If this returns TRUE, the key event was
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c 2019-05-06 20:31:09.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c 2019-08-12 02:24:31.994127437 +0300
-@@ -510,8 +510,6 @@
- #endif
-
- #ifdef GTK3_SYMBOLS
--STUB(gtk_css_provider_load_from_data)
--STUB(gtk_css_provider_new)
- STUB(gdk_device_get_source)
- STUB(gdk_device_manager_get_client_pointer)
- STUB(gdk_disable_multidevice)
-@@ -550,7 +548,6 @@
- STUB(gtk_scale_new)
- STUB(gtk_scrollbar_new)
- STUB(gtk_style_context_add_class)
--STUB(gtk_style_context_add_provider)
- STUB(gtk_style_context_add_region)
- STUB(gtk_style_context_get)
- STUB(gtk_style_context_get_background_color)
-@@ -577,7 +574,6 @@
- STUB(gtk_style_context_set_parent)
- STUB(gtk_style_context_set_state)
- STUB(gtk_style_properties_lookup_property)
--STUB(gtk_style_provider_get_type)
- STUB(gtk_tree_view_column_get_button)
- STUB(gtk_widget_get_preferred_size)
- STUB(gtk_widget_get_state_flags)
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp 2019-08-12 02:24:31.994127437 +0300
-@@ -17,7 +17,6 @@
- #include "nsWindow.h"
- #include "nsTransferable.h"
- #include "nsHTMLFormatConverter.h"
--#include "IMContextWrapper.h"
- #ifdef MOZ_X11
- #include "nsClipboardHelper.h"
- #include "nsClipboard.h"
-@@ -310,7 +309,6 @@
- nsFilePicker::Shutdown();
- nsSound::Shutdown();
- nsWindow::ReleaseGlobals();
-- IMContextWrapper::Shutdown();
- KeymapWrapper::Shutdown();
- nsGTKToolkit::Shutdown();
- nsAppShellShutdown();
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp 2019-08-12 02:24:31.996128451 +0300
-@@ -3401,8 +3401,6 @@
-
- children = children->next;
- }
--
-- IMContextWrapper::OnThemeChanged();
- }
-
- void
diff --git a/seamonkey-2.53.1-mozilla-1533969.patch b/seamonkey-2.53.1-mozilla-1533969.patch
new file mode 100644
index 0000000..8a46a1f
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-1533969.patch
@@ -0,0 +1,39 @@
+diff -Nrup -U 8 a/tools/profiler/core/platform.h b/tools/profiler/core/platform.h
+--- a/tools/profiler/core/platform.h 2020-02-18 02:39:44.000000000 +0300
++++ b/tools/profiler/core/platform.h 2020-03-01 06:04:13.875681471 +0300
+@@ -38,32 +38,26 @@
+ #include "mozilla/StaticMutex.h"
+ #include "mozilla/TimeStamp.h"
+ #include "mozilla/UniquePtr.h"
+ #include "mozilla/Unused.h"
+ #include "PlatformMacros.h"
+ #include <vector>
+ #include "StackTop.h"
+
+-// We need a definition of gettid(), but glibc doesn't provide a
++// We need a definition of gettid(), but old glibc versions don't provide a
+ // wrapper for it.
+ #if defined(__GLIBC__)
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-static inline pid_t gettid()
+-{
+- return (pid_t) syscall(SYS_gettid);
+-}
++#define gettid() static_cast<pid_t>(syscall(SYS_gettid))
+ #elif defined(GP_OS_darwin)
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-static inline pid_t gettid()
+-{
+- return (pid_t) syscall(SYS_thread_selfid);
+-}
++#define gettid() static_cast<pid_t>(syscall(SYS_thread_selfid))
+ #elif defined(GP_OS_android)
+ #include <unistd.h>
+ #elif defined(GP_OS_windows)
+ #include <windows.h>
+ #include <process.h>
+ #ifndef getpid
+ #define getpid _getpid
+ #endif
diff --git a/seamonkey-2.53.1-mozilla-526293.patch b/seamonkey-2.53.1-mozilla-526293.patch
new file mode 100644
index 0000000..0e73abd
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-526293.patch
@@ -0,0 +1,13 @@
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/widget/gtk/nsFilePicker.cpp.orig 2020-01-03 01:35:33.934711196 +0300
++++ seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/widget/gtk/nsFilePicker.cpp 2020-01-03 01:39:14.120136390 +0300
+@@ -396,9 +396,7 @@
+
+ void *file_chooser = GtkFileChooserNew(title.get(), parent_widget, action, accept_button);
+
+- if (mAllowURLs) {
+- gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
+- }
++ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
+
+ if (action == GTK_FILE_CHOOSER_ACTION_OPEN || action == GTK_FILE_CHOOSER_ACTION_SAVE) {
+ GtkWidget *img_preview = gtk_image_new();
diff --git a/seamonkey-2.53.1-mozilla-revert-1332139.patch b/seamonkey-2.53.1-mozilla-revert-1332139.patch
new file mode 100644
index 0000000..f4ec86b
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-revert-1332139.patch
@@ -0,0 +1,307 @@
+diff -Nrup -U 8 a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc
+--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2020-02-18 02:37:58.000000000 +0300
++++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2020-03-02 00:34:19.000000000 +0300
+@@ -79,17 +79,19 @@ VP9EncoderImpl::VP9EncoderImpl()
+ num_temporal_layers_(0),
+ num_spatial_layers_(0),
+ num_cores_(0),
+ is_flexible_mode_(false),
+ frames_encoded_(0),
+ // Use two spatial when screensharing with flexible mode.
+ spatial_layer_(new ScreenshareLayersVP9(2)) {
+ memset(&codec_, 0, sizeof(codec_));
++#ifdef LIBVPX_SVC
+ memset(&svc_params_, 0, sizeof(vpx_svc_extra_cfg_t));
++#endif
+ uint32_t seed = rtc::Time32();
+ srand(seed);
+ }
+
+ VP9EncoderImpl::~VP9EncoderImpl() {
+ Release();
+ }
+
+@@ -115,55 +117,66 @@ int VP9EncoderImpl::Release() {
+ }
+ inited_ = false;
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
+ bool VP9EncoderImpl::ExplicitlyConfiguredSpatialLayers() const {
+ // We check target_bitrate_bps of the 0th layer to see if the spatial layers
+ // (i.e. bitrates) were explicitly configured.
++#ifdef LIBVPX_SVC
+ return num_spatial_layers_ > 1 &&
+ codec_.spatialLayers[0].target_bitrate_bps > 0;
++#else
++ return false;
++#endif
+ }
+
+ bool VP9EncoderImpl::SetSvcRates() {
+ uint8_t i = 0;
+
+ if (ExplicitlyConfiguredSpatialLayers()) {
++#ifdef LIBVPX_SVC
+ if (num_temporal_layers_ > 1) {
+ LOG(LS_ERROR) << "Multiple temporal layers when manually specifying "
+ "spatial layers not implemented yet!";
+ return false;
+ }
+ int total_bitrate_bps = 0;
+ for (i = 0; i < num_spatial_layers_; ++i)
+ total_bitrate_bps += codec_.spatialLayers[i].target_bitrate_bps;
+ // If total bitrate differs now from what has been specified at the
+ // beginning, update the bitrates in the same ratio as before.
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ config_->ss_target_bitrate[i] = config_->layer_target_bitrate[i] =
+ static_cast<int>(static_cast<int64_t>(config_->rc_target_bitrate) *
+ codec_.spatialLayers[i].target_bitrate_bps /
+ total_bitrate_bps);
+ }
++#endif
+ } else {
+ float rate_ratio[VPX_MAX_LAYERS] = {0};
+ float total = 0;
+
++#ifdef LIBVPX_SVC
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ if (svc_params_.scaling_factor_num[i] <= 0 ||
+ svc_params_.scaling_factor_den[i] <= 0) {
+ LOG(LS_ERROR) << "Scaling factors not specified!";
+ return false;
+ }
+ rate_ratio[i] =
+ static_cast<float>(svc_params_.scaling_factor_num[i]) /
+ svc_params_.scaling_factor_den[i];
+ total += rate_ratio[i];
+ }
++#else
++ rate_ratio[0] = 1;
++ total = 1;
++#endif
+
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ config_->ss_target_bitrate[i] = static_cast<unsigned int>(
+ config_->rc_target_bitrate * rate_ratio[i] / total);
+ if (num_temporal_layers_ == 1) {
+ config_->layer_target_bitrate[i] = config_->ss_target_bitrate[i];
+ } else if (num_temporal_layers_ == 2) {
+ config_->layer_target_bitrate[i * num_temporal_layers_] =
+@@ -390,16 +403,17 @@ int VP9EncoderImpl::NumberOfThreads(int
+ return 2;
+ } else {
+ // 1 thread less than VGA.
+ return 1;
+ }
+ }
+
+ int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) {
++#ifdef LIBVPX_SVC
+ // Set QP-min/max per spatial and temporal layer.
+ int tot_num_layers = num_spatial_layers_ * num_temporal_layers_;
+ for (int i = 0; i < tot_num_layers; ++i) {
+ svc_params_.max_quantizers[i] = config_->rc_max_quantizer;
+ svc_params_.min_quantizers[i] = config_->rc_min_quantizer;
+ }
+ config_->ss_number_layers = num_spatial_layers_;
+ if (ExplicitlyConfiguredSpatialLayers()) {
+@@ -413,37 +427,41 @@ int VP9EncoderImpl::InitAndSetControlSet
+ for (int i = num_spatial_layers_ - 1; i >= 0; --i) {
+ // 1:2 scaling in each dimension.
+ svc_params_.scaling_factor_num[i] = scaling_factor_num;
+ svc_params_.scaling_factor_den[i] = 256;
+ if (codec_.mode != kScreensharing)
+ scaling_factor_num /= 2;
+ }
+ }
++#endif
+
+ if (!SetSvcRates()) {
+ return WEBRTC_VIDEO_CODEC_ERR_PARAMETER;
+ }
+
+ if (vpx_codec_enc_init(encoder_, vpx_codec_vp9_cx(), config_, 0)) {
+ return WEBRTC_VIDEO_CODEC_UNINITIALIZED;
+ }
+ vpx_codec_control(encoder_, VP8E_SET_CPUUSED, cpu_speed_);
+ vpx_codec_control(encoder_, VP8E_SET_MAX_INTRA_BITRATE_PCT,
+ rc_max_intra_target_);
+ vpx_codec_control(encoder_, VP9E_SET_AQ_MODE,
+ inst->VP9().adaptiveQpMode ? 3 : 0);
+
++#ifdef LIBVPX_SVC
+ vpx_codec_control(
+ encoder_, VP9E_SET_SVC,
+ (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) ? 1 : 0);
+ if (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) {
+ vpx_codec_control(encoder_, VP9E_SET_SVC_PARAMETERS,
+ &svc_params_);
+ }
++#endif
++
+ // Register callback for getting each spatial layer.
+ vpx_codec_priv_output_cx_pkt_cb_pair_t cbp = {
+ VP9EncoderImpl::EncoderOutputCodedPacketCallback,
+ reinterpret_cast<void*>(this)};
+ vpx_codec_control(encoder_, VP9E_REGISTER_CX_CALLBACK,
+ reinterpret_cast<void*>(&cbp));
+
+ // Control function to set the number of column tiles in encoding a frame, in
+@@ -527,16 +545,17 @@ int VP9EncoderImpl::Encode(const VideoFr
+
+ vpx_enc_frame_flags_t flags = 0;
+ bool send_keyframe = (frame_type == kVideoFrameKey);
+ if (send_keyframe) {
+ // Key frame request from caller.
+ flags = VPX_EFLAG_FORCE_KF;
+ }
+
++#ifdef LIBVPX_SVC
+ if (is_flexible_mode_) {
+ SuperFrameRefSettings settings;
+
+ // These structs are copied when calling vpx_codec_control,
+ // therefore it is ok for them to go out of scope.
+ vpx_svc_ref_frame_config enc_layer_conf;
+ vpx_svc_layer_id layer_id;
+
+@@ -548,16 +567,17 @@ int VP9EncoderImpl::Encode(const VideoFr
+ send_keyframe);
+ }
+ enc_layer_conf = GenerateRefsAndFlags(settings);
+ layer_id.temporal_layer_id = 0;
+ layer_id.spatial_layer_id = settings.start_layer;
+ vpx_codec_control(encoder_, VP9E_SET_SVC_LAYER_ID, &layer_id);
+ vpx_codec_control(encoder_, VP9E_SET_SVC_REF_FRAME_CONFIG, &enc_layer_conf);
+ }
++#endif
+
+ assert(codec_.maxFramerate > 0);
+ uint32_t duration = 90000 / codec_.maxFramerate;
+ if (vpx_codec_encode(encoder_, raw_, timestamp_, duration, flags,
+ VPX_DL_REALTIME)) {
+ return WEBRTC_VIDEO_CODEC_ERROR;
+ }
+ timestamp_ += duration;
+@@ -686,29 +706,31 @@ void VP9EncoderImpl::PopulateCodecSpecif
+ vp9_info->p_diff[i] = p_diff_[layer_id.spatial_layer_id][i];
+ }
+ } else {
+ vp9_info->gof_idx =
+ static_cast<uint8_t>(frames_since_kf_ % gof_.num_frames_in_gof);
+ vp9_info->temporal_up_switch = gof_.temporal_up_switch[vp9_info->gof_idx];
+ }
+
++#ifdef LIBVPX_SVC
+ if (vp9_info->ss_data_available) {
+ vp9_info->spatial_layer_resolution_present = true;
+ for (size_t i = 0; i < vp9_info->num_spatial_layers; ++i) {
+ vp9_info->width[i] = codec_.width *
+ svc_params_.scaling_factor_num[i] /
+ svc_params_.scaling_factor_den[i];
+ vp9_info->height[i] = codec_.height *
+ svc_params_.scaling_factor_num[i] /
+ svc_params_.scaling_factor_den[i];
+ }
+- if (!vp9_info->flexible_mode) {
+- vp9_info->gof.CopyGofInfoVP9(gof_);
+- }
++ }
++#endif
++ if (!vp9_info->flexible_mode) {
++ vp9_info->gof.CopyGofInfoVP9(gof_);
+ }
+ }
+
+ int VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt) {
+ RTC_DCHECK_EQ(pkt->kind, VPX_CODEC_CX_FRAME_PKT);
+
+ if (pkt->data.frame.sz > encoded_image_._size) {
+ delete[] encoded_image_._buffer;
+@@ -756,16 +778,17 @@ int VP9EncoderImpl::GetEncodedLayerFrame
+ vpx_codec_control(encoder_, VP8E_GET_LAST_QUANTIZER, &qp);
+ encoded_image_.qp_ = qp;
+ encoded_complete_callback_->OnEncodedImage(encoded_image_, &codec_specific,
+ &frag_info);
+ }
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
++#ifdef LIBVPX_SVC
+ vpx_svc_ref_frame_config VP9EncoderImpl::GenerateRefsAndFlags(
+ const SuperFrameRefSettings& settings) {
+ static const vpx_enc_frame_flags_t kAllFlags =
+ VP8_EFLAG_NO_REF_ARF | VP8_EFLAG_NO_REF_GF | VP8_EFLAG_NO_REF_LAST |
+ VP8_EFLAG_NO_UPD_LAST | VP8_EFLAG_NO_UPD_ARF | VP8_EFLAG_NO_UPD_GF;
+ vpx_svc_ref_frame_config sf_conf = {};
+ if (settings.is_keyframe) {
+ // Used later on to make sure we don't make any invalid references.
+@@ -857,16 +880,17 @@ vpx_svc_ref_frame_config VP9EncoderImpl:
+ buffer_updated_at_frame_[updated_buffer] = frames_encoded_;
+ sf_conf.frame_flags[layer_idx] = layer_flags;
+ }
+ }
+ }
+ ++frames_encoded_;
+ return sf_conf;
+ }
++#endif
+
+ int VP9EncoderImpl::SetChannelParameters(uint32_t packet_loss, int64_t rtt) {
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
+ int VP9EncoderImpl::RegisterEncodeCompleteCallback(
+ EncodedImageCallback* callback) {
+ encoded_complete_callback_ = callback;
+diff -Nrup -U 8 a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h
+--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 2020-02-18 02:37:58.000000000 +0300
++++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 2020-03-02 00:32:05.000000000 +0300
+@@ -77,24 +77,26 @@ class VP9EncoderImpl : public VP9Encoder
+
+ void PopulateCodecSpecific(CodecSpecificInfo* codec_specific,
+ const vpx_codec_cx_pkt& pkt,
+ uint32_t timestamp);
+
+ bool ExplicitlyConfiguredSpatialLayers() const;
+ bool SetSvcRates();
+
++#ifdef LIBVPX_SVC
+ // Used for flexible mode to set the flags and buffer references used
+ // by the encoder. Also calculates the references used by the RTP
+ // packetizer.
+ //
+ // Has to be called for every frame (keyframes included) to update the
+ // state used to calculate references.
+ vpx_svc_ref_frame_config GenerateRefsAndFlags(
+ const SuperFrameRefSettings& settings);
++#endif
+
+ virtual int GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt);
+
+ // Callback function for outputting packets per spatial layer.
+ static void EncoderOutputCodedPacketCallback(vpx_codec_cx_pkt* pkt,
+ void* user_data);
+
+ // Determine maximum target for Intra frames
+@@ -111,17 +113,19 @@ class VP9EncoderImpl : public VP9Encoder
+ bool inited_;
+ int64_t timestamp_;
+ uint16_t picture_id_;
+ int cpu_speed_;
+ uint32_t rc_max_intra_target_;
+ vpx_codec_ctx_t* encoder_;
+ vpx_codec_enc_cfg_t* config_;
+ vpx_image_t* raw_;
++#ifdef LIBVPX_SVC
+ vpx_svc_extra_cfg_t svc_params_;
++#endif
+ const VideoFrame* input_image_;
+ GofInfoVP9 gof_; // Contains each frame's temporal information for
+ // non-flexible mode.
+ uint8_t tl0_pic_idx_; // Only used in non-flexible mode.
+ size_t frames_since_kf_;
+ uint8_t num_temporal_layers_;
+ uint8_t num_spatial_layers_;
+ uint8_t num_cores_;
diff --git a/seamonkey-2.53.1-rhbz-1503632.patch b/seamonkey-2.53.1-rhbz-1503632.patch
new file mode 100644
index 0000000..c8fd6bc
--- /dev/null
+++ b/seamonkey-2.53.1-rhbz-1503632.patch
@@ -0,0 +1,18 @@
+diff -Nrbu seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp seamonkey-2.53.1-OK/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53.1-OK/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp 2020-01-03 01:20:05.309371162 +0300
+@@ -1146,12 +1146,10 @@
+ if (!loadPKCS11Modules) {
+ flags |= NSS_INIT_NOMODDB;
+ }
+- nsAutoCString dbTypeAndDirectory("sql:");
+- dbTypeAndDirectory.Append(dir);
+ MOZ_LOG(gCertVerifierLog, LogLevel::Debug,
+- ("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), readOnly,
++ ("InitializeNSS(%s, %d, %d)", PromiseFlatCString(dir).get(), readOnly,
+ loadPKCS11Modules));
+- SECStatus srv = NSS_Initialize(dbTypeAndDirectory.get(), "", "",
++ SECStatus srv = NSS_Initialize(PromiseFlatCString(dir).get(), "", "",
+ SECMOD_DB, flags);
+ if (srv != SECSuccess) {
+ return srv;
diff --git a/seamonkey-2.53.1-rust140-nsstring.patch b/seamonkey-2.53.1-rust140-nsstring.patch
new file mode 100644
index 0000000..1e65a14
--- /dev/null
+++ b/seamonkey-2.53.1-rust140-nsstring.patch
@@ -0,0 +1,25 @@
+
+# rust-1.39 deprecated the "try!" call in favor of "?" which then breaks
+# nsstring because it treats warnings as errors.
+
+diff -Nrup -U 8 mozilla/xpcom/rust/nsstring/src/lib.rs mozilla-OK/xpcom/rust/nsstring/src/lib.rs
+--- mozilla/xpcom/rust/nsstring/src/lib.rs 2020-02-25 03:10:53.802918476 +0300
++++ mozilla-OK/xpcom/rust/nsstring/src/lib.rs 2020-02-25 00:30:21.593463335 +0300
+@@ -108,17 +108,16 @@
+ //! similar to an `ns[C]String<'static>`, however, it does not have a `Drop`
+ //! implementation.
+ //!
+ //! If this type is dropped in rust, it will not free its backing storage. This
+ //! can be useful when implementing FFI types which contain `ns[C]String` members
+ //! which invoke their member's destructors through C++ code.
+
+ #![allow(non_camel_case_types)]
+-#![deny(warnings)]
+
+ #[macro_use]
+ extern crate bitflags;
+
+ use std::ops::{Deref, DerefMut};
+ use std::marker::PhantomData;
+ use std::borrow;
+ use std::slice;
diff --git a/seamonkey-2.53.1-rust140-url_1_7_2.patch b/seamonkey-2.53.1-rust140-url_1_7_2.patch
new file mode 100644
index 0000000..e22a894
--- /dev/null
+++ b/seamonkey-2.53.1-rust140-url_1_7_2.patch
@@ -0,0 +1,4279 @@
+diff -Nrup a/netwerk/base/rust-url-capi/Cargo.toml b/netwerk/base/rust-url-capi/Cargo.toml
+--- a/netwerk/base/rust-url-capi/Cargo.toml 2020-02-18 02:37:59.000000000 +0300
++++ b/netwerk/base/rust-url-capi/Cargo.toml 2020-02-28 20:28:57.265406022 +0300
+@@ -8,6 +8,6 @@ name = "rust_url_capi"
+
+ [dependencies]
+ libc = "0.2.0"
+-url = "1.5.1"
++url = "1.7.2"
+ nsstring = { path = "../../../xpcom/rust/nsstring" }
+ nserror = { path = "../../../xpcom/rust/nserror" }
+diff -Nrup a/third_party/rust/url/.cargo-checksum.json b/third_party/rust/url/.cargo-checksum.json
+--- a/third_party/rust/url/.cargo-checksum.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/.cargo-checksum.json 2020-02-28 20:28:57.261406050 +0300
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"890af214187ffcba4732acb2d1af30d7adb9aade0679e9fdb06baae363240b8e","Cargo.toml":"ec586106c4d0625919a3591fe3ae915043e82c8bfdd1c9e747171ba5e21047e1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e","Makefile":"bffd75d34654b2955d4f005f1a5e85c821c90becf1a8a52cbe10121972f43148","README.md":"eb3f4694003f408cbe3c7f3e9fbbc71241defb940cc55a816981f0f0f144c8eb","UPGRADING.md":"fbcc2d39bdf17db0745793db6626fcd5c909dddd4ce13b27566cfabece22c368","appveyor.yml":"c78486dbfbe6ebbf3d808afb9a19f7ec18c4704ce451c6305f0716999b70a1a6","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","docs/index.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","github.png":"b432fd855efe7c430fe6a57ccf83935c1996f03a7cdc8d6e1b34154b8c43f6ec","rust-url-todo":"1192cee7b6cedf2133d97dc6074b593a1d19b0ee13fff6f28d6329855044e575","src/encoding.rs":"f3e109ca8ec5a9130da50cdfb3003530aedb6dd5a440f0790d76b71f6981119c","src/form_urlencoded.rs":"7ccaef7148e4bc2577154c50f8705db3a055b641269e24c22770f06222321e1e","src/host.rs":"281165d732ea87b6f01a98f7c68ffcb284c41f84b3ab6ed674fb8e57022d1019","src/lib.rs":"bd156e8bcfbd44f0cd52c8b394e03ec63fea012c0bf5ca554521352714838605","src/origin.rs":"7071dcc1070ccfae84cdcd43586b84a9706e35a9a099ff4dde128da0909bd0bc","src/parser.rs":"9d30868f0900586fec6f122a0322598a08116ab0b4c4d8caf5c35a720381a73a","src/path_segments.rs":"7bd3142eaa568863ef44e2255c181239141f9eeee337f889b9ffaaeab4ca669d","src/quirks.rs":"1231f965e22bb3632c22993e2a8d4c7470bcb4a8de25d049f31784303f0def03","src/slicing.rs":"4e539886b23945a92094625f3e531a4bff40daa44240b5d19ee8577478c4f7fe","tests/data.rs":"c333766897f6492fb6583ab5c8a511973b7a55f58ca550799432343da64d5ca7","tests/setters_tests.json":"ebcbdb52e9a4b5a565f8806d52ebc610d46a34df883e10b0be080d026468ff73","tests/unit.rs":"c2f206f433be619414d761d358a2a4a5a46cfe8a4fea5339adec5e9937d78de2","tests/urltestdata.json":"430c74aa3a31afaa57a92805544e00825f4dffe2def98c1e3c212c3db80268af"},"package":"eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"80d575ae6adad93cb0910b385b871e2d92d558078f58a3c8eafe95940d459f6b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e","README.md":"eb3f4694003f408cbe3c7f3e9fbbc71241defb940cc55a816981f0f0f144c8eb","UPGRADING.md":"fbcc2d39bdf17db0745793db6626fcd5c909dddd4ce13b27566cfabece22c368","appveyor.yml":"c78486dbfbe6ebbf3d808afb9a19f7ec18c4704ce451c6305f0716999b70a1a6","benches/parse_url.rs":"821ecb051c3c6c40eb3b268ba7337b2988333627d0af0c8e1afc84734ffbbf2b","docs/404.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","docs/index.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","src/encoding.rs":"f3e109ca8ec5a9130da50cdfb3003530aedb6dd5a440f0790d76b71f6981119c","src/form_urlencoded.rs":"d8c35e92375cafcd7e12c4f0d5374bab62aa1f333629d55b007a9c3d5c3cb615","src/host.rs":"66a2c0c77a8add2da16bc690fbc82b130cf1367ac655fc36990a214e193a4d6c","src/lib.rs":"e09dcba401018169ee26764e1c2bccf0855a5d935707c2100fd8d8e77a1bbc91","src/origin.rs":"6e4821eb9600a32ef54d05c8e1a7937f6d9b4dd1e3bda7f36c7988f6a2bef78b","src/parser.rs":"76368cbe93308123c014a3502024cf97d97ca61dcfc7b6ecd710073867d6deca","src/path_segments.rs":"7bd3142eaa568863ef44e2255c181239141f9eeee337f889b9ffaaeab4ca669d","src/quirks.rs":"6cf1697bad363532cbcc60917a9b126560ac3ab3e1a77da0abcf4f2a40c8233a","src/slicing.rs":"4e539886b23945a92094625f3e531a4bff40daa44240b5d19ee8577478c4f7fe","tests/data.rs":"f2c1c6d1823e8d21aeeae31c786d7f4ef0d97352a896f8c5aeb03a41fedb9a48","tests/setters_tests.json":"08ddaa632ad19c81e83b904bfaa94bc971f26e2bdfcef27d2f93fd033ad57340","tests/unit.rs":"ead7185710ce06c8d68ea18700618477867ee355656eabcad26cfcfaaad361a0","tests/urltestdata.json":"1b0c7c727d8d7e79dfb0d0aa347ff05675ddb68bc4ead38f83fd8e89bc59cc32"},"package":"dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"}
+\ No newline at end of file
+diff -Nrup a/third_party/rust/url/.travis.yml b/third_party/rust/url/.travis.yml
+--- a/third_party/rust/url/.travis.yml 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/.travis.yml 1970-01-01 03:00:00.000000000 +0300
+@@ -1,9 +0,0 @@
+-language: rust
+-rust:
+- - nightly
+- - beta
+- - stable
+- - 1.17.0
+-script: make test
+-notifications:
+- webhooks: http://build.servo.org:54856/travis
+diff -Nrup a/third_party/rust/url/Cargo.toml b/third_party/rust/url/Cargo.toml
+--- a/third_party/rust/url/Cargo.toml 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/Cargo.toml 2020-02-28 20:28:57.261406050 +0300
+@@ -1,24 +1,31 @@
+-[package]
++# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
++#
++# When uploading crates to the registry Cargo will automatically
++# "normalize" Cargo.toml files for maximal compatibility
++# with all versions of Cargo and also rewrite `path` dependencies
++# to registry (e.g. crates.io) dependencies
++#
++# If you believe there's an error in this file please file an
++# issue against the rust-lang/cargo repository. If you're
++# editing this file be aware that the upstream Cargo.toml
++# will likely look very different (and much more reasonable)
+
++[package]
+ name = "url"
+-# When updating version, also modify html_root_url in the lib.rs
+-version = "1.5.1"
++version = "1.7.2"
+ authors = ["The rust-url developers"]
+-
+ description = "URL library for Rust, based on the WHATWG URL Standard"
+ documentation = "https://docs.rs/url"
+-repository = "https://github.com/servo/rust-url"
+ readme = "README.md"
+ keywords = ["url", "parser"]
+ categories = ["parser-implementations", "web-programming", "encoding"]
+ license = "MIT/Apache-2.0"
++repository = "https://github.com/servo/rust-url"
++[package.metadata.docs.rs]
++features = ["query_encoding"]
+
+-[badges]
+-travis-ci = { repository = "servo/rust-url" }
+-appveyor = { repository = "servo/rust-url" }
+-
+-[workspace]
+-members = [".", "idna", "percent_encoding", "url_serde"]
++[lib]
++test = false
+
+ [[test]]
+ name = "unit"
+@@ -27,23 +34,50 @@ name = "unit"
+ name = "data"
+ harness = false
+
+-[lib]
+-test = false
++[[bench]]
++name = "parse_url"
++harness = false
++[dependencies.encoding]
++version = "0.2"
++optional = true
+
+-[dev-dependencies]
+-rustc-test = "0.1"
+-rustc-serialize = "0.3"
+-serde_json = ">=0.6.1, <0.9"
++[dependencies.heapsize]
++version = ">=0.4.1, <0.5"
++optional = true
++
++[dependencies.idna]
++version = "0.1.0"
++
++[dependencies.matches]
++version = "0.1"
++
++[dependencies.percent-encoding]
++version = "1.0.0"
++
++[dependencies.rustc-serialize]
++version = "0.3"
++optional = true
++
++[dependencies.serde]
++version = ">=0.6.1, <0.9"
++optional = true
++[dev-dependencies.bencher]
++version = "0.1"
++
++[dev-dependencies.rustc-serialize]
++version = "0.3"
++
++[dev-dependencies.rustc-test]
++version = "0.3"
++
++[dev-dependencies.serde_json]
++version = ">=0.6.1, <0.9"
+
+ [features]
+-query_encoding = ["encoding"]
+ heap_size = ["heapsize"]
++query_encoding = ["encoding"]
++[badges.appveyor]
++repository = "Manishearth/rust-url"
+
+-[dependencies]
+-encoding = {version = "0.2", optional = true}
+-heapsize = {version = ">=0.1.1, <0.5", optional = true}
+-idna = { version = "0.1.0", path = "./idna" }
+-matches = "0.1"
+-percent-encoding = { version = "1.0.0", path = "./percent_encoding" }
+-rustc-serialize = {version = "0.3", optional = true}
+-serde = {version = ">=0.6.1, <0.9", optional = true}
++[badges.travis-ci]
++repository = "servo/rust-url"
+diff -Nrup a/third_party/rust/url/Makefile b/third_party/rust/url/Makefile
+--- a/third_party/rust/url/Makefile 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/Makefile 1970-01-01 03:00:00.000000000 +0300
+@@ -1,6 +0,0 @@
+-test:
+- cargo test --features "query_encoding serde rustc-serialize heapsize"
+- (cd idna && cargo test)
+- (cd url_serde && cargo test)
+-
+-.PHONY: test
+diff -Nrup a/third_party/rust/url/benches/parse_url.rs b/third_party/rust/url/benches/parse_url.rs
+--- a/third_party/rust/url/benches/parse_url.rs 1970-01-01 03:00:00.000000000 +0300
++++ b/third_party/rust/url/benches/parse_url.rs 2020-02-28 20:28:57.261406050 +0300
+@@ -0,0 +1,18 @@
++#[macro_use]
++extern crate bencher;
++
++extern crate url;
++
++use bencher::{black_box, Bencher};
++
++use url::Url;
++
++fn short(bench: &mut Bencher) {
++ let url = "https://example.com/bench";
++
++ bench.bytes = url.len() as u64;
++ bench.iter(|| black_box(url).parse::<Url>().unwrap());
++}
++
++benchmark_group!(benches, short);
++benchmark_main!(benches);
+diff -Nrup a/third_party/rust/url/rust-url-todo b/third_party/rust/url/rust-url-todo
+--- a/third_party/rust/url/rust-url-todo 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/rust-url-todo 1970-01-01 03:00:00.000000000 +0300
+@@ -1,14 +0,0 @@
+-* standalone path parsing?
+-* Test setters
+- * Test trim C0/space
+- * Test remove tab & newline
+-
+-
+-
+-#[test]
+-fn test_path_segments() {
+- let mut url = Url::parse("http://example.net").unwrap();
+- url.push_path_segment("foo").unwrap();
+- url.extend_path_segments(&["bar", "b/az"]).unwrap();
+- assert_eq!(url.as_str(), "http://example.net/foo");
+-}
+diff -Nrup a/third_party/rust/url/src/form_urlencoded.rs b/third_party/rust/url/src/form_urlencoded.rs
+--- a/third_party/rust/url/src/form_urlencoded.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/form_urlencoded.rs 2020-02-28 20:28:57.262406043 +0300
+@@ -16,6 +16,7 @@
+ use encoding::EncodingOverride;
+ use percent_encoding::{percent_encode_byte, percent_decode};
+ use std::borrow::{Borrow, Cow};
++use std::fmt;
+ use std::str;
+
+
+@@ -216,6 +217,15 @@ pub struct Serializer<T: Target> {
+ target: Option<T>,
+ start_position: usize,
+ encoding: EncodingOverride,
++ custom_encoding: Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>,
++}
++
++struct SilentDebug<T>(T);
++
++impl<T> fmt::Debug for SilentDebug<T> {
++ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
++ f.write_str("")
++ }
+ }
+
+ pub trait Target {
+@@ -247,8 +257,16 @@ impl<'a> Target for &'a mut String {
+ // * `Serializer` keeps its target in a private field
+ // * Unlike in other `Target` impls, `UrlQuery::finished` does not return `Self`.
+ impl<'a> Target for ::UrlQuery<'a> {
+- fn as_mut_string(&mut self) -> &mut String { &mut self.url.serialization }
+- fn finish(self) -> &'a mut ::Url { self.url }
++ fn as_mut_string(&mut self) -> &mut String {
++ &mut self.url.as_mut().unwrap().serialization
++ }
++
++ fn finish(mut self) -> &'a mut ::Url {
++ let url = self.url.take().unwrap();
++ url.restore_already_parsed_fragment(self.fragment.take());
++ url
++ }
++
+ type Finished = &'a mut ::Url;
+ }
+
+@@ -272,6 +290,7 @@ impl<T: Target> Serializer<T> {
+ target: Some(target),
+ start_position: start_position,
+ encoding: EncodingOverride::utf8(),
++ custom_encoding: None,
+ }
+ }
+
+@@ -290,11 +309,20 @@ impl<T: Target> Serializer<T> {
+ self
+ }
+
++ /// Set the character encoding to be used for names and values before percent-encoding.
++ pub fn custom_encoding_override<F>(&mut self, encode: F) -> &mut Self
++ where F: FnMut(&str) -> Cow<[u8]> + 'static
++ {
++ self.custom_encoding = Some(SilentDebug(Box::new(encode)));
++ self
++ }
++
+ /// Serialize and append a name/value pair.
+ ///
+ /// Panics if called after `.finish()`.
+ pub fn append_pair(&mut self, name: &str, value: &str) -> &mut Self {
+- append_pair(string(&mut self.target), self.start_position, self.encoding, name, value);
++ append_pair(string(&mut self.target), self.start_position, self.encoding,
++ &mut self.custom_encoding, name, value);
+ self
+ }
+
+@@ -311,7 +339,8 @@ impl<T: Target> Serializer<T> {
+ let string = string(&mut self.target);
+ for pair in iter {
+ let &(ref k, ref v) = pair.borrow();
+- append_pair(string, self.start_position, self.encoding, k.as_ref(), v.as_ref());
++ append_pair(string, self.start_position, self.encoding,
++ &mut self.custom_encoding, k.as_ref(), v.as_ref());
+ }
+ }
+ self
+@@ -324,6 +353,8 @@ impl<T: Target> Serializer<T> {
+ /// Panics if called after `.finish()`.
+ #[cfg(feature = "query_encoding")]
+ pub fn append_charset(&mut self) -> &mut Self {
++ assert!(self.custom_encoding.is_none(),
++ "Cannot use both custom_encoding_override() and append_charset()");
+ {
+ let string = string(&mut self.target);
+ append_separator_if_needed(string, self.start_position);
+@@ -361,9 +392,20 @@ fn string<T: Target>(target: &mut Option
+ }
+
+ fn append_pair(string: &mut String, start_position: usize, encoding: EncodingOverride,
++ custom_encoding: &mut Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>,
+ name: &str, value: &str) {
+ append_separator_if_needed(string, start_position);
+- string.extend(byte_serialize(&encoding.encode(name.into())));
++ append_encoded(name, string, encoding, custom_encoding);
+ string.push('=');
+- string.extend(byte_serialize(&encoding.encode(value.into())));
++ append_encoded(value, string, encoding, custom_encoding);
++}
++
++fn append_encoded(s: &str, string: &mut String, encoding: EncodingOverride,
++ custom_encoding: &mut Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>) {
++ let bytes = if let Some(SilentDebug(ref mut custom)) = *custom_encoding {
++ custom(s)
++ } else {
++ encoding.encode(s.into())
++ };
++ string.extend(byte_serialize(&bytes));
+ }
+diff -Nrup a/third_party/rust/url/src/host.rs b/third_party/rust/url/src/host.rs
+--- a/third_party/rust/url/src/host.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/host.rs 2020-02-28 20:28:57.247406151 +0300
+@@ -13,7 +13,7 @@ use std::io;
+ use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
+ use std::vec;
+ use parser::{ParseResult, ParseError};
+-use percent_encoding::percent_decode;
++use percent_encoding::{percent_decode, utf8_percent_encode, SIMPLE_ENCODE_SET};
+ use idna;
+
+ #[derive(Copy, Clone, Debug, Eq, PartialEq)]
+@@ -73,7 +73,9 @@ impl<S> From<Host<S>> for HostInternal {
+ #[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
+ pub enum Host<S=String> {
+ /// A DNS domain name, as '.' dot-separated labels.
+- /// Non-ASCII labels are encoded in punycode per IDNA.
++ /// Non-ASCII labels are encoded in punycode per IDNA if this is the host of
++ /// a special URL, or percent encoded for non-special URLs. Hosts for
++ /// non-special URLs are also called opaque hosts.
+ Domain(S),
+
+ /// An IPv4 address.
+@@ -137,7 +139,7 @@ impl<'a> Host<&'a str> {
+ impl Host<String> {
+ /// Parse a host: either an IPv6 address in [] square brackets, or a domain.
+ ///
+- /// https://url.spec.whatwg.org/#host-parsing
++ /// <https://url.spec.whatwg.org/#host-parsing>
+ pub fn parse(input: &str) -> Result<Self, ParseError> {
+ if input.starts_with('[') {
+ if !input.ends_with(']') {
+@@ -158,6 +160,23 @@ impl Host<String> {
+ Ok(Host::Domain(domain.into()))
+ }
+ }
++
++ // <https://url.spec.whatwg.org/#concept-opaque-host-parser>
++ pub fn parse_opaque(input: &str) -> Result<Self, ParseError> {
++ if input.starts_with('[') {
++ if !input.ends_with(']') {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++ return parse_ipv6addr(&input[1..input.len() - 1]).map(Host::Ipv6)
++ }
++ if input.find(|c| matches!(c,
++ '\0' | '\t' | '\n' | '\r' | ' ' | '#' | '/' | ':' | '?' | '@' | '[' | '\\' | ']'
++ )).is_some() {
++ return Err(ParseError::InvalidDomainCharacter)
++ }
++ let s = utf8_percent_encode(input, SIMPLE_ENCODE_SET).to_string();
++ Ok(Host::Domain(s))
++ }
+ }
+
+ impl<S: AsRef<str>> fmt::Display for Host<S> {
+@@ -309,8 +328,8 @@ fn longest_zero_sequence(pieces: &[u16;
+ }
+ }
+
+-/// https://url.spec.whatwg.org/#ipv4-number-parser
+-fn parse_ipv4number(mut input: &str) -> Result<u32, ()> {
++/// <https://url.spec.whatwg.org/#ipv4-number-parser>
++fn parse_ipv4number(mut input: &str) -> Result<Option<u32>, ()> {
+ let mut r = 10;
+ if input.starts_with("0x") || input.starts_with("0X") {
+ input = &input[2..];
+@@ -319,19 +338,35 @@ fn parse_ipv4number(mut input: &str) ->
+ input = &input[1..];
+ r = 8;
+ }
++
++ // At the moment we can't know the reason why from_str_radix fails
++ // https://github.com/rust-lang/rust/issues/22639
++ // So instead we check if the input looks like a real number and only return
++ // an error when it's an overflow.
++ let valid_number = match r {
++ 8 => input.chars().all(|c| c >= '0' && c <='7'),
++ 10 => input.chars().all(|c| c >= '0' && c <='9'),
++ 16 => input.chars().all(|c| (c >= '0' && c <='9') || (c >='a' && c <= 'f') || (c >= 'A' && c <= 'F')),
++ _ => false
++ };
++
++ if !valid_number {
++ return Ok(None);
++ }
++
+ if input.is_empty() {
+- return Ok(0);
++ return Ok(Some(0));
+ }
+ if input.starts_with('+') {
+- return Err(())
++ return Ok(None);
+ }
+ match u32::from_str_radix(input, r) {
+- Ok(number) => Ok(number),
++ Ok(number) => Ok(Some(number)),
+ Err(_) => Err(()),
+ }
+ }
+
+-/// https://url.spec.whatwg.org/#concept-ipv4-parser
++/// <https://url.spec.whatwg.org/#concept-ipv4-parser>
+ fn parse_ipv4addr(input: &str) -> ParseResult<Option<Ipv4Addr>> {
+ if input.is_empty() {
+ return Ok(None)
+@@ -344,15 +379,19 @@ fn parse_ipv4addr(input: &str) -> ParseR
+ return Ok(None);
+ }
+ let mut numbers: Vec<u32> = Vec::new();
++ let mut overflow = false;
+ for part in parts {
+ if part == "" {
+ return Ok(None);
+ }
+- if let Ok(n) = parse_ipv4number(part) {
+- numbers.push(n);
+- } else {
+- return Ok(None);
+- }
++ match parse_ipv4number(part) {
++ Ok(Some(n)) => numbers.push(n),
++ Ok(None) => return Ok(None),
++ Err(()) => overflow = true
++ };
++ }
++ if overflow {
++ return Err(ParseError::InvalidIpv4Address);
+ }
+ let mut ipv4 = numbers.pop().expect("a non-empty list of numbers");
+ // Equivalent to: ipv4 >= 256 ** (4 numbers.len())
+@@ -368,7 +407,7 @@ fn parse_ipv4addr(input: &str) -> ParseR
+ Ok(Some(Ipv4Addr::from(ipv4)))
+ }
+
+-/// https://url.spec.whatwg.org/#concept-ipv6-parser
++/// <https://url.spec.whatwg.org/#concept-ipv6-parser>
+ fn parse_ipv6addr(input: &str) -> ParseResult<Ipv6Addr> {
+ let input = input.as_bytes();
+ let len = input.len();
+@@ -423,6 +462,9 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ return Err(ParseError::InvalidIpv6Address)
+ }
+ i = start;
++ if piece_pointer > 6 {
++ return Err(ParseError::InvalidIpv6Address)
++ }
+ is_ip_v4 = true;
+ },
+ b':' => {
+@@ -445,16 +487,24 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ if piece_pointer > 6 {
+ return Err(ParseError::InvalidIpv6Address)
+ }
+- let mut dots_seen = 0;
++ let mut numbers_seen = 0;
+ while i < len {
+- let mut value = None;
++ if numbers_seen > 0 {
++ if numbers_seen < 4 && (i < len && input[i] == b'.') {
++ i += 1
++ } else {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++ }
++
++ let mut ipv4_piece = None;
+ while i < len {
+ let digit = match input[i] {
+ c @ b'0' ... b'9' => c - b'0',
+ _ => break
+ };
+- match value {
+- None => value = Some(digit as u16),
++ match ipv4_piece {
++ None => ipv4_piece = Some(digit as u16),
+ Some(0) => return Err(ParseError::InvalidIpv6Address), // No leading zero
+ Some(ref mut v) => {
+ *v = *v * 10 + digit as u16;
+@@ -465,24 +515,28 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ }
+ i += 1;
+ }
+- if dots_seen < 3 && !(i < len && input[i] == b'.') {
+- return Err(ParseError::InvalidIpv6Address)
+- }
+- pieces[piece_pointer] = if let Some(v) = value {
++
++ pieces[piece_pointer] = if let Some(v) = ipv4_piece {
+ pieces[piece_pointer] * 0x100 + v
+ } else {
+ return Err(ParseError::InvalidIpv6Address)
+ };
+- if dots_seen == 1 || dots_seen == 3 {
++ numbers_seen += 1;
++
++ if numbers_seen == 2 || numbers_seen == 4 {
+ piece_pointer += 1;
+ }
+- i += 1;
+- if dots_seen == 3 && i < len {
+- return Err(ParseError::InvalidIpv6Address)
+- }
+- dots_seen += 1;
++ }
++
++ if numbers_seen != 4 {
++ return Err(ParseError::InvalidIpv6Address)
+ }
+ }
++
++ if i < len {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++
+ match compress_pointer {
+ Some(compress_pointer) => {
+ let mut swaps = piece_pointer - compress_pointer;
+diff -Nrup a/third_party/rust/url/src/lib.rs b/third_party/rust/url/src/lib.rs
+--- a/third_party/rust/url/src/lib.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/lib.rs 2020-02-28 20:28:57.262406043 +0300
+@@ -104,7 +104,7 @@ assert_eq!(css_url.as_str(), "http://ser
+ # run().unwrap();
+ */
+
+-#![doc(html_root_url = "https://docs.rs/url/1.5.1")]
++#![doc(html_root_url = "https://docs.rs/url/1.7.0")]
+
+ #[cfg(feature="rustc-serialize")] extern crate rustc_serialize;
+ #[macro_use] extern crate matches;
+@@ -112,12 +112,13 @@ assert_eq!(css_url.as_str(), "http://ser
+ #[cfg(feature="heapsize")] #[macro_use] extern crate heapsize;
+
+ pub extern crate idna;
++#[macro_use]
+ pub extern crate percent_encoding;
+
+ use encoding::EncodingOverride;
+ #[cfg(feature = "heapsize")] use heapsize::HeapSizeOf;
+ use host::HostInternal;
+-use parser::{Parser, Context, SchemeType, to_u32};
++use parser::{Parser, Context, SchemeType, to_u32, ViolationFn};
+ use percent_encoding::{PATH_SEGMENT_ENCODE_SET, USERINFO_ENCODE_SET,
+ percent_encode, percent_decode, utf8_percent_encode};
+ use std::borrow::Borrow;
+@@ -135,7 +136,7 @@ use std::str;
+ pub use origin::{Origin, OpaqueOrigin};
+ pub use host::{Host, HostAndPort, SocketAddrs};
+ pub use path_segments::PathSegmentsMut;
+-pub use parser::ParseError;
++pub use parser::{ParseError, SyntaxViolation};
+ pub use slicing::Position;
+
+ mod encoding;
+@@ -186,7 +187,7 @@ impl HeapSizeOf for Url {
+ pub struct ParseOptions<'a> {
+ base_url: Option<&'a Url>,
+ encoding_override: encoding::EncodingOverride,
+- log_syntax_violation: Option<&'a Fn(&'static str)>,
++ violation_fn: ViolationFn<'a>,
+ }
+
+ impl<'a> ParseOptions<'a> {
+@@ -209,9 +210,47 @@ impl<'a> ParseOptions<'a> {
+ self
+ }
+
+- /// Call the provided function or closure on non-fatal parse errors.
++ /// Call the provided function or closure on non-fatal parse errors, passing
++ /// a static string description. This method is deprecated in favor of
++ /// `syntax_violation_callback` and is implemented as an adaptor for the
++ /// latter, passing the `SyntaxViolation` description. Only the last value
++ /// passed to either method will be used by a parser.
++ #[deprecated]
+ pub fn log_syntax_violation(mut self, new: Option<&'a Fn(&'static str)>) -> Self {
+- self.log_syntax_violation = new;
++ self.violation_fn = match new {
++ Some(f) => ViolationFn::OldFn(f),
++ None => ViolationFn::NoOp
++ };
++ self
++ }
++
++ /// Call the provided function or closure for a non-fatal `SyntaxViolation`
++ /// when it occurs during parsing. Note that since the provided function is
++ /// `Fn`, the caller might need to utilize _interior mutability_, such as with
++ /// a `RefCell`, to collect the violations.
++ ///
++ /// ## Example
++ /// ```
++ /// use std::cell::RefCell;
++ /// use url::{Url, SyntaxViolation};
++ /// # use url::ParseError;
++ /// # fn run() -> Result<(), url::ParseError> {
++ /// let violations = RefCell::new(Vec::new());
++ /// let url = Url::options()
++ /// .syntax_violation_callback(Some(&|v| violations.borrow_mut().push(v)))
++ /// .parse("https:////example.com")?;
++ /// assert_eq!(url.as_str(), "https://example.com/");
++ /// assert_eq!(violations.into_inner(),
++ /// vec!(SyntaxViolation::ExpectedDoubleSlash));
++ /// # Ok(())
++ /// # }
++ /// # run().unwrap();
++ /// ```
++ pub fn syntax_violation_callback(mut self, new: Option<&'a Fn(SyntaxViolation)>) -> Self {
++ self.violation_fn = match new {
++ Some(f) => ViolationFn::NewFn(f),
++ None => ViolationFn::NoOp
++ };
+ self
+ }
+
+@@ -221,7 +260,7 @@ impl<'a> ParseOptions<'a> {
+ serialization: String::with_capacity(input.len()),
+ base_url: self.base_url,
+ query_encoding_override: self.encoding_override,
+- log_syntax_violation: self.log_syntax_violation,
++ violation_fn: self.violation_fn,
+ context: Context::UrlParser,
+ }.parse_url(input)
+ }
+@@ -229,11 +268,12 @@ impl<'a> ParseOptions<'a> {
+
+ impl<'a> Debug for ParseOptions<'a> {
+ fn fmt(&self, f: &mut Formatter) -> fmt::Result {
+- write!(f, "ParseOptions {{ base_url: {:?}, encoding_override: {:?}, log_syntax_violation: ", self.base_url, self.encoding_override)?;
+- match self.log_syntax_violation {
+- Some(_) => write!(f, "Some(Fn(&'static str)) }}"),
+- None => write!(f, "None }}")
+- }
++ write!(f,
++ "ParseOptions {{ base_url: {:?}, encoding_override: {:?}, \
++ violation_fn: {:?} }}",
++ self.base_url,
++ self.encoding_override,
++ self.violation_fn)
+ }
+ }
+
+@@ -252,6 +292,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an absolute URL from the given string,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn parse(input: &str) -> Result<Url, ::ParseError> {
+ Url::options().parse(input)
+@@ -274,6 +321,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an absolute URL from the given string,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn parse_with_params<I, K, V>(input: &str, iter: I) -> Result<Url, ::ParseError>
+ where I: IntoIterator,
+@@ -301,7 +355,7 @@ impl Url {
+ /// ```rust
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let base = Url::parse("https://example.net/a/b.html")?;
+ /// let url = base.join("c.png")?;
+@@ -314,6 +368,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an URL from the given string
++ /// with this URL as the base URL, a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn join(&self, input: &str) -> Result<Url, ::ParseError> {
+ Url::options().base_url(Some(self)).parse(input)
+@@ -342,7 +403,7 @@ impl Url {
+ ParseOptions {
+ base_url: None,
+ encoding_override: EncodingOverride::utf8(),
+- log_syntax_violation: None,
++ violation_fn: ViolationFn::NoOp,
+ }
+ }
+
+@@ -500,7 +561,7 @@ impl Url {
+ Ok(())
+ }
+
+- /// Return the origin of this URL (https://url.spec.whatwg.org/#origin)
++ /// Return the origin of this URL (<https://url.spec.whatwg.org/#origin>)
+ ///
+ /// Note: this returns an opaque origin for `file:` URLs, which causes
+ /// `url.origin() != url.origin()`.
+@@ -1156,11 +1217,11 @@ impl Url {
+ /// assert_eq!(url.as_str(), "https://example.com/data.csv");
+
+ /// url.set_fragment(Some("cell=4,1-6,2"));
+- /// assert_eq!(url.as_str(), "https://example.com/data.csv#cell=4,1-6,2");
++ /// assert_eq!(url.as_str(), "https://example.com/data.csv#cell=4,1-6,2");
+ /// assert_eq!(url.fragment(), Some("cell=4,1-6,2"));
+ ///
+ /// url.set_fragment(None);
+- /// assert_eq!(url.as_str(), "https://example.com/data.csv");
++ /// assert_eq!(url.as_str(), "https://example.com/data.csv");
+ /// assert!(url.fragment().is_none());
+ /// # Ok(())
+ /// # }
+@@ -1213,7 +1274,7 @@ impl Url {
+ /// assert_eq!(url.as_str(), "https://example.com/products");
+ ///
+ /// url.set_query(Some("page=2"));
+- /// assert_eq!(url.as_str(), "https://example.com/products?page=2");
++ /// assert_eq!(url.as_str(), "https://example.com/products?page=2");
+ /// assert_eq!(url.query(), Some("page=2"));
+ /// # Ok(())
+ /// # }
+@@ -1283,7 +1344,7 @@ impl Url {
+ self.serialization.push('?');
+ }
+
+- let query = UrlQuery { url: self, fragment: fragment };
++ let query = UrlQuery { url: Some(self), fragment: fragment };
+ form_urlencoded::Serializer::for_suffix(query, query_start + "?".len())
+ }
+
+@@ -1309,12 +1370,12 @@ impl Url {
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.com")?;
+ /// url.set_path("api/comments");
+- /// assert_eq!(url.as_str(), "https://example.com/api/comments");
++ /// assert_eq!(url.as_str(), "https://example.com/api/comments");
+ /// assert_eq!(url.path(), "/api/comments");
+ ///
+ /// let mut url = Url::parse("https://example.com/api")?;
+ /// url.set_path("data/report.csv");
+- /// assert_eq!(url.as_str(), "https://example.com/data/report.csv");
++ /// assert_eq!(url.as_str(), "https://example.com/data/report.csv");
+ /// assert_eq!(url.path(), "/data/report.csv");
+ /// # Ok(())
+ /// # }
+@@ -1406,7 +1467,8 @@ impl Url {
+ /// # run().unwrap();
+ /// ```
+ pub fn set_port(&mut self, mut port: Option<u16>) -> Result<(), ()> {
+- if !self.has_host() || self.scheme() == "file" {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ if port.is_some() && port == parser::default_port(self.scheme()) {
+@@ -1448,9 +1510,6 @@ impl Url {
+
+ /// Change this URLs host.
+ ///
+- /// If this URL is cannot-be-a-base or there is an error parsing the given `host`,
+- /// do nothing and return `Err`.
+- ///
+ /// Removing the host (calling this with `None`)
+ /// will also remove any username, password, and port number.
+ ///
+@@ -1477,7 +1536,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("foo://example.net")?;
+ /// let result = url.set_host(None);
+@@ -1493,7 +1552,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_host(None);
+@@ -1509,7 +1568,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("mailto:rms@example.net")?;
+ ///
+@@ -1524,6 +1583,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If this URL is cannot-be-a-base or there is an error parsing the given `host`,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ pub fn set_host(&mut self, host: Option<&str>) -> Result<(), ParseError> {
+ if self.cannot_be_a_base() {
+ return Err(ParseError::SetHostOnCannotBeABaseUrl)
+@@ -1533,7 +1599,11 @@ impl Url {
+ if host == "" && SchemeType::from(self.scheme()).is_special() {
+ return Err(ParseError::EmptyHost);
+ }
+- self.set_host_internal(Host::parse(host)?, None)
++ if SchemeType::from(self.scheme()).is_special() {
++ self.set_host_internal(Host::parse(host)?, None)
++ } else {
++ self.set_host_internal(Host::parse_opaque(host)?, None)
++ }
+ } else if self.has_host() {
+ if SchemeType::from(self.scheme()).is_special() {
+ return Err(ParseError::EmptyHost)
+@@ -1666,7 +1736,8 @@ impl Url {
+ /// # run().unwrap();
+ /// ```
+ pub fn set_password(&mut self, password: Option<&str>) -> Result<(), ()> {
+- if !self.has_host() {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ if let Some(password) = password {
+@@ -1732,21 +1803,23 @@ impl Url {
+ /// ```
+ ///
+ /// Setup username to user1
++ ///
+ /// ```rust
+ /// use url::{Url, ParseError};
+ ///
+ /// # fn run() -> Result<(), ParseError> {
+- /// let mut url = Url::parse("ftp://:secre1@example.com")?;
++ /// let mut url = Url::parse("ftp://:secre1@example.com/")?;
+ /// let result = url.set_username("user1");
+ /// assert!(result.is_ok());
+ /// assert_eq!(url.username(), "user1");
+- /// assert_eq!(url.as_str(), "ftp://user1:secre1@example.com");
++ /// assert_eq!(url.as_str(), "ftp://user1:secre1@example.com/");
+ /// # Ok(())
+ /// # }
+ /// # run().unwrap();
+ /// ```
+ pub fn set_username(&mut self, username: &str) -> Result<(), ()> {
+- if !self.has_host() {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ let username_start = self.scheme_end + 3;
+@@ -1805,7 +1878,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_scheme("foo");
+@@ -1822,7 +1895,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_scheme("fo");
+@@ -1838,7 +1911,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("mailto:rms@example.net")?;
+ /// let result = url.set_scheme("https");
+@@ -1887,7 +1960,7 @@ impl Url {
+ /// ```
+ /// # if cfg!(unix) {
+ /// use url::Url;
+- ///
++ ///
+ /// # fn run() -> Result<(), ()> {
+ /// let url = Url::from_file_path("/tmp/foo.txt")?;
+ /// assert_eq!(url.as_str(), "file:///tmp/foo.txt");
+@@ -1902,6 +1975,7 @@ impl Url {
+ /// # run().unwrap();
+ /// # }
+ /// ```
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn from_file_path<P: AsRef<Path>>(path: P) -> Result<Url, ()> {
+ let mut serialization = "file://".to_owned();
+ let host_start = serialization.len() as u32;
+@@ -1937,6 +2011,7 @@ impl Url {
+ ///
+ /// Note that `std::path` does not consider trailing slashes significant
+ /// and usually does not include them (e.g. in `Path::parent()`).
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn from_directory_path<P: AsRef<Path>>(path: P) -> Result<Url, ()> {
+ let mut url = Url::from_file_path(path)?;
+ if !url.serialization.ends_with('/') {
+@@ -2018,6 +2093,7 @@ impl Url {
+ /// (That is, if the percent-decoded path contains a NUL byte or,
+ /// for a Windows path, is not UTF-8.)
+ #[inline]
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn to_file_path(&self) -> Result<PathBuf, ()> {
+ if let Some(segments) = self.path_segments() {
+ let host = match self.host() {
+@@ -2264,6 +2340,7 @@ fn path_to_file_url_segments_windows(pat
+ Ok((host_end, host_internal))
+ }
+
++
+ #[cfg(any(unix, target_os = "redox"))]
+ fn file_url_segments_to_pathbuf(host: Option<&str>, segments: str::Split<char>) -> Result<PathBuf, ()> {
+ use std::ffi::OsStr;
+@@ -2347,13 +2424,15 @@ fn io_error<T>(reason: &str) -> io::Resu
+ /// Implementation detail of `Url::query_pairs_mut`. Typically not used directly.
+ #[derive(Debug)]
+ pub struct UrlQuery<'a> {
+- url: &'a mut Url,
++ url: Option<&'a mut Url>,
+ fragment: Option<String>,
+ }
+
+ impl<'a> Drop for UrlQuery<'a> {
+ fn drop(&mut self) {
+- self.url.restore_already_parsed_fragment(self.fragment.take())
++ if let Some(url) = self.url.take() {
++ url.restore_already_parsed_fragment(self.fragment.take())
++ }
+ }
+ }
+
+diff -Nrup a/third_party/rust/url/src/origin.rs b/third_party/rust/url/src/origin.rs
+--- a/third_party/rust/url/src/origin.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/origin.rs 2020-02-28 20:28:57.238406216 +0300
+@@ -49,7 +49,7 @@ pub fn url_origin(url: &Url) -> Origin {
+ /// - If the scheme is anything else, the origin is opaque, meaning
+ /// the URL does not have the same origin as any other URL.
+ ///
+-/// For more information see https://url.spec.whatwg.org/#origin
++/// For more information see <https://url.spec.whatwg.org/#origin>
+ #[derive(PartialEq, Eq, Hash, Clone, Debug)]
+ pub enum Origin {
+ /// A globally unique identifier
+@@ -86,7 +86,7 @@ impl Origin {
+ matches!(*self, Origin::Tuple(..))
+ }
+
+- /// https://html.spec.whatwg.org/multipage/#ascii-serialisation-of-an-origin
++ /// <https://html.spec.whatwg.org/multipage/#ascii-serialisation-of-an-origin>
+ pub fn ascii_serialization(&self) -> String {
+ match *self {
+ Origin::Opaque(_) => "null".to_owned(),
+@@ -100,7 +100,7 @@ impl Origin {
+ }
+ }
+
+- /// https://html.spec.whatwg.org/multipage/#unicode-serialisation-of-an-origin
++ /// <https://html.spec.whatwg.org/multipage/#unicode-serialisation-of-an-origin>
+ pub fn unicode_serialization(&self) -> String {
+ match *self {
+ Origin::Opaque(_) => "null".to_owned(),
+diff -Nrup a/third_party/rust/url/src/parser.rs b/third_party/rust/url/src/parser.rs
+--- a/third_party/rust/url/src/parser.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/parser.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -6,7 +6,9 @@
+ // option. This file may not be copied, modified, or distributed
+ // except according to those terms.
+
++#[allow(unused_imports, deprecated)]
+ use std::ascii::AsciiExt;
++
+ use std::error::Error;
+ use std::fmt::{self, Formatter, Write};
+ use std::str;
+@@ -20,6 +22,12 @@ use percent_encoding::{
+ PATH_SEGMENT_ENCODE_SET
+ };
+
++define_encode_set! {
++ // The backslash (\) character is treated as a path separator in special URLs
++ // so it needs to be additionally escaped in that case.
++ pub SPECIAL_PATH_SEGMENT_ENCODE_SET = [PATH_SEGMENT_ENCODE_SET] | {'\\'}
++}
++
+ pub type ParseResult<T> = Result<T, ParseError>;
+
+ macro_rules! simple_enum_error {
+@@ -70,6 +78,54 @@ impl From<::idna::uts46::Errors> for Par
+ fn from(_: ::idna::uts46::Errors) -> ParseError { ParseError::IdnaError }
+ }
+
++macro_rules! syntax_violation_enum {
++ ($($name: ident => $description: expr,)+) => {
++ /// Non-fatal syntax violations that can occur during parsing.
++ #[derive(PartialEq, Eq, Clone, Copy, Debug)]
++ pub enum SyntaxViolation {
++ $(
++ $name,
++ )+
++ }
++
++ impl SyntaxViolation {
++ pub fn description(&self) -> &'static str {
++ match *self {
++ $(
++ SyntaxViolation::$name => $description,
++ )+
++ }
++ }
++ }
++ }
++}
++
++syntax_violation_enum! {
++ Backslash => "backslash",
++ C0SpaceIgnored =>
++ "leading or trailing control or space character are ignored in URLs",
++ EmbeddedCredentials =>
++ "embedding authentication information (username or password) \
++ in an URL is not recommended",
++ ExpectedDoubleSlash => "expected //",
++ ExpectedFileDoubleSlash => "expected // after file:",
++ FileWithHostAndWindowsDrive => "file: with host and Windows drive letter",
++ NonUrlCodePoint => "non-URL code point",
++ NullInFragment => "NULL characters are ignored in URL fragment identifiers",
++ PercentDecode => "expected 2 hex digits after %",
++ TabOrNewlineIgnored => "tabs or newlines are ignored in URLs",
++ UnencodedAtSign => "unencoded @ sign in username or password",
++}
++
++#[cfg(feature = "heapsize")]
++known_heap_size!(0, SyntaxViolation);
++
++impl fmt::Display for SyntaxViolation {
++ fn fmt(&self, fmt: &mut Formatter) -> fmt::Result {
++ self.description().fmt(fmt)
++ }
++}
++
+ #[derive(Copy, Clone)]
+ pub enum SchemeType {
+ File,
+@@ -112,18 +168,17 @@ pub struct Input<'i> {
+
+ impl<'i> Input<'i> {
+ pub fn new(input: &'i str) -> Self {
+- Input::with_log(input, None)
++ Input::with_log(input, ViolationFn::NoOp)
+ }
+
+- pub fn with_log(original_input: &'i str, log_syntax_violation: Option<&Fn(&'static str)>)
+- -> Self {
++ pub fn with_log(original_input: &'i str, vfn: ViolationFn) -> Self {
+ let input = original_input.trim_matches(c0_control_or_space);
+- if let Some(log) = log_syntax_violation {
++ if vfn.is_set() {
+ if input.len() < original_input.len() {
+- log("leading or trailing control or space character are ignored in URLs")
++ vfn.call(SyntaxViolation::C0SpaceIgnored)
+ }
+ if input.chars().any(|c| matches!(c, '\t' | '\n' | '\r')) {
+- log("tabs or newlines are ignored in URLs")
++ vfn.call(SyntaxViolation::TabOrNewlineIgnored)
+ }
+ }
+ Input { chars: input.chars() }
+@@ -216,11 +271,60 @@ impl<'i> Iterator for Input<'i> {
+ }
+ }
+
++/// Wrapper for syntax violation callback functions.
++#[derive(Copy, Clone)]
++pub enum ViolationFn<'a> {
++ NewFn(&'a (Fn(SyntaxViolation) + 'a)),
++ OldFn(&'a (Fn(&'static str) + 'a)),
++ NoOp
++}
++
++impl<'a> ViolationFn<'a> {
++ /// Call with a violation.
++ pub fn call(self, v: SyntaxViolation) {
++ match self {
++ ViolationFn::NewFn(f) => f(v),
++ ViolationFn::OldFn(f) => f(v.description()),
++ ViolationFn::NoOp => {}
++ }
++ }
++
++ /// Call with a violation, if provided test returns true. Avoids
++ /// the test entirely if `NoOp`.
++ pub fn call_if<F>(self, v: SyntaxViolation, test: F)
++ where F: Fn() -> bool
++ {
++ match self {
++ ViolationFn::NewFn(f) => if test() { f(v) },
++ ViolationFn::OldFn(f) => if test() { f(v.description()) },
++ ViolationFn::NoOp => {} // avoid test
++ }
++ }
++
++ /// True if not `NoOp`
++ pub fn is_set(self) -> bool {
++ match self {
++ ViolationFn::NoOp => false,
++ _ => true
++ }
++ }
++}
++
++impl<'a> fmt::Debug for ViolationFn<'a> {
++ fn fmt(&self, f: &mut Formatter) -> fmt::Result {
++ match *self {
++ ViolationFn::NewFn(_) => write!(f, "NewFn(Fn(SyntaxViolation))"),
++ ViolationFn::OldFn(_) => write!(f, "OldFn(Fn(&'static str))"),
++ ViolationFn::NoOp => write!(f, "NoOp")
++ }
++ }
++}
++
+ pub struct Parser<'a> {
+ pub serialization: String,
+ pub base_url: Option<&'a Url>,
+ pub query_encoding_override: EncodingOverride,
+- pub log_syntax_violation: Option<&'a Fn(&'static str)>,
++ pub violation_fn: ViolationFn<'a>,
+ pub context: Context,
+ }
+
+@@ -237,29 +341,14 @@ impl<'a> Parser<'a> {
+ serialization: serialization,
+ base_url: None,
+ query_encoding_override: EncodingOverride::utf8(),
+- log_syntax_violation: None,
++ violation_fn: ViolationFn::NoOp,
+ context: Context::Setter,
+ }
+ }
+
+- fn syntax_violation(&self, reason: &'static str) {
+- if let Some(log) = self.log_syntax_violation {
+- log(reason)
+- }
+- }
+-
+- fn syntax_violation_if<F: Fn() -> bool>(&self, reason: &'static str, test: F) {
+- // Skip test if not logging.
+- if let Some(log) = self.log_syntax_violation {
+- if test() {
+- log(reason)
+- }
+- }
+- }
+-
+ /// https://url.spec.whatwg.org/#concept-basic-url-parser
+ pub fn parse_url(mut self, input: &str) -> ParseResult<Url> {
+- let input = Input::with_log(input, self.log_syntax_violation);
++ let input = Input::with_log(input, self.violation_fn);
+ if let Ok(remaining) = self.parse_scheme(input.clone()) {
+ return self.parse_with_scheme(remaining)
+ }
+@@ -310,12 +399,13 @@ impl<'a> Parser<'a> {
+ }
+
+ fn parse_with_scheme(mut self, input: Input) -> ParseResult<Url> {
++ use SyntaxViolation::{ExpectedFileDoubleSlash, ExpectedDoubleSlash};
+ let scheme_end = to_u32(self.serialization.len())?;
+ let scheme_type = SchemeType::from(&self.serialization);
+ self.serialization.push(':');
+ match scheme_type {
+ SchemeType::File => {
+- self.syntax_violation_if("expected // after file:", || !input.starts_with("//"));
++ self.violation_fn.call_if(ExpectedFileDoubleSlash, || !input.starts_with("//"));
+ let base_file_url = self.base_url.and_then(|base| {
+ if base.scheme() == "file" { Some(base) } else { None }
+ });
+@@ -335,7 +425,7 @@ impl<'a> Parser<'a> {
+ }
+ }
+ // special authority slashes state
+- self.syntax_violation_if("expected //", || {
++ self.violation_fn.call_if(ExpectedDoubleSlash, || {
+ input.clone().take_while(|&c| matches!(c, '/' | '\\'))
+ .collect::<String>() != "//"
+ });
+@@ -371,6 +461,7 @@ impl<'a> Parser<'a> {
+ }
+
+ fn parse_file(mut self, input: Input, mut base_file_url: Option<&Url>) -> ParseResult<Url> {
++ use SyntaxViolation::Backslash;
+ // file state
+ debug_assert!(self.serialization.is_empty());
+ let (first_char, input_after_first_char) = input.split_first();
+@@ -451,6 +542,7 @@ impl<'a> Parser<'a> {
+ let scheme_end = "file".len() as u32;
+ let path_start = "file://".len() as u32;
+ let fragment_start = "file:///".len() as u32;
++ self.serialization.push('#');
+ self.parse_fragment(input_after_first_char);
+ Ok(Url {
+ serialization: self.serialization,
+@@ -467,18 +559,18 @@ impl<'a> Parser<'a> {
+ }
+ }
+ Some('/') | Some('\\') => {
+- self.syntax_violation_if("backslash", || first_char == Some('\\'));
++ self.violation_fn.call_if(Backslash, || first_char == Some('\\'));
+ // file slash state
+ let (next_char, input_after_next_char) = input_after_first_char.split_first();
+- self.syntax_violation_if("backslash", || next_char == Some('\\'));
++ self.violation_fn.call_if(Backslash, || next_char == Some('\\'));
+ if matches!(next_char, Some('/') | Some('\\')) {
+ // file host state
+ self.serialization.push_str("file://");
+ let scheme_end = "file".len() as u32;
+ let host_start = "file://".len() as u32;
+- let (path_start, host, remaining) =
++ let (path_start, mut host, remaining) =
+ self.parse_file_host(input_after_next_char)?;
+- let host_end = to_u32(self.serialization.len())?;
++ let mut host_end = to_u32(self.serialization.len())?;
+ let mut has_host = !matches!(host, HostInternal::None);
+ let remaining = if path_start {
+ self.parse_path_start(SchemeType::File, &mut has_host, remaining)
+@@ -487,7 +579,13 @@ impl<'a> Parser<'a> {
+ self.serialization.push('/');
+ self.parse_path(SchemeType::File, &mut has_host, path_start, remaining)
+ };
+- // FIXME: deal with has_host
++ // For file URLs that have a host and whose path starts
++ // with the windows drive letter we just remove the host.
++ if !has_host {
++ self.serialization.drain(host_start as usize..host_end as usize);
++ host_end = host_start;
++ host = HostInternal::None;
++ }
+ let (query_start, fragment_start) =
+ self.parse_query_and_fragment(scheme_end, remaining)?;
+ Ok(Url {
+@@ -616,7 +714,7 @@ impl<'a> Parser<'a> {
+ Some('/') | Some('\\') => {
+ let (slashes_count, remaining) = input.count_matching(|c| matches!(c, '/' | '\\'));
+ if slashes_count >= 2 {
+- self.syntax_violation_if("expected //", || {
++ self.violation_fn.call_if(SyntaxViolation::ExpectedDoubleSlash, || {
+ input.clone().take_while(|&c| matches!(c, '/' | '\\'))
+ .collect::<String>() != "//"
+ });
+@@ -680,11 +778,9 @@ impl<'a> Parser<'a> {
+ match c {
+ '@' => {
+ if last_at.is_some() {
+- self.syntax_violation("unencoded @ sign in username or password")
++ self.violation_fn.call(SyntaxViolation::UnencodedAtSign)
+ } else {
+- self.syntax_violation(
+- "embedding authentification information (username or password) \
+- in an URL is not recommended")
++ self.violation_fn.call(SyntaxViolation::EmbeddedCredentials)
+ }
+ last_at = Some((char_count, remaining.clone()))
+ },
+@@ -701,14 +797,23 @@ impl<'a> Parser<'a> {
+ };
+
+ let mut username_end = None;
++ let mut has_password = false;
++ let mut has_username = false;
+ while userinfo_char_count > 0 {
+ let (c, utf8_c) = input.next_utf8().unwrap();
+ userinfo_char_count -= 1;
+ if c == ':' && username_end.is_none() {
+ // Start parsing password
+ username_end = Some(to_u32(self.serialization.len())?);
+- self.serialization.push(':');
++ // We don't add a colon if the password is empty
++ if userinfo_char_count > 0 {
++ self.serialization.push(':');
++ has_password = true;
++ }
+ } else {
++ if !has_password {
++ has_username = true;
++ }
+ self.check_url_code_point(c, &input);
+ self.serialization.extend(utf8_percent_encode(utf8_c, USERINFO_ENCODE_SET));
+ }
+@@ -717,7 +822,9 @@ impl<'a> Parser<'a> {
+ Some(i) => i,
+ None => to_u32(self.serialization.len())?,
+ };
+- self.serialization.push('@');
++ if has_username || has_password {
++ self.serialization.push('@');
++ }
+ Ok((username_end, remaining))
+ }
+
+@@ -783,6 +890,10 @@ impl<'a> Parser<'a> {
+ if scheme_type.is_special() && host_str.is_empty() {
+ return Err(ParseError::EmptyHost)
+ }
++ if !scheme_type.is_special() {
++ let host = Host::parse_opaque(host_str)?;
++ return Ok((host, input));
++ }
+ let host = Host::parse(host_str)?;
+ Ok((host, input))
+ }
+@@ -867,7 +978,7 @@ impl<'a> Parser<'a> {
+ match input.split_first() {
+ (Some('/'), remaining) => input = remaining,
+ (Some('\\'), remaining) => if scheme_type.is_special() {
+- self.syntax_violation("backslash");
++ self.violation_fn.call(SyntaxViolation::Backslash);
+ input = remaining
+ },
+ _ => {}
+@@ -895,7 +1006,7 @@ impl<'a> Parser<'a> {
+ },
+ '\\' if self.context != Context::PathSegmentSetter &&
+ scheme_type.is_special() => {
+- self.syntax_violation("backslash");
++ self.violation_fn.call(SyntaxViolation::Backslash);
+ ends_with_slash = true;
+ break
+ },
+@@ -905,18 +1016,14 @@ impl<'a> Parser<'a> {
+ },
+ _ => {
+ self.check_url_code_point(c, &input);
+- if c == '%' {
+- let after_percent_sign = input.clone();
+- if matches!(input.next(), Some('2')) &&
+- matches!(input.next(), Some('E') | Some('e')) {
+- self.serialization.push('.');
+- continue
+- }
+- input = after_percent_sign
+- }
+ if self.context == Context::PathSegmentSetter {
+- self.serialization.extend(utf8_percent_encode(
+- utf8_c, PATH_SEGMENT_ENCODE_SET));
++ if scheme_type.is_special() {
++ self.serialization.extend(utf8_percent_encode(
++ utf8_c, SPECIAL_PATH_SEGMENT_ENCODE_SET));
++ } else {
++ self.serialization.extend(utf8_percent_encode(
++ utf8_c, PATH_SEGMENT_ENCODE_SET));
++ }
+ } else {
+ self.serialization.extend(utf8_percent_encode(
+ utf8_c, DEFAULT_ENCODE_SET));
+@@ -925,7 +1032,7 @@ impl<'a> Parser<'a> {
+ }
+ }
+ match &self.serialization[segment_start..] {
+- ".." => {
++ ".." | "%2e%2e" | "%2e%2E" | "%2E%2e" | "%2E%2E" | "%2e." | "%2E." | ".%2e" | ".%2E" => {
+ debug_assert!(self.serialization.as_bytes()[segment_start - 1] == b'/');
+ self.serialization.truncate(segment_start - 1); // Truncate "/.."
+ self.pop_path(scheme_type, path_start);
+@@ -933,7 +1040,7 @@ impl<'a> Parser<'a> {
+ self.serialization.push('/')
+ }
+ },
+- "." => {
++ "." | "%2e" | "%2E" => {
+ self.serialization.truncate(segment_start);
+ },
+ _ => {
+@@ -945,7 +1052,7 @@ impl<'a> Parser<'a> {
+ self.serialization.push(':');
+ }
+ if *has_host {
+- self.syntax_violation("file: with host and Windows drive letter");
++ self.violation_fn.call(SyntaxViolation::FileWithHostAndWindowsDrive);
+ *has_host = false; // FIXME account for this in callers
+ }
+ }
+@@ -1087,7 +1194,7 @@ impl<'a> Parser<'a> {
+ pub fn parse_fragment(&mut self, mut input: Input) {
+ while let Some((c, utf8_c)) = input.next_utf8() {
+ if c == '\0' {
+- self.syntax_violation("NULL characters are ignored in URL fragment identifiers")
++ self.violation_fn.call(SyntaxViolation::NullInFragment)
+ } else {
+ self.check_url_code_point(c, &input);
+ self.serialization.extend(utf8_percent_encode(utf8_c,
+@@ -1097,15 +1204,16 @@ impl<'a> Parser<'a> {
+ }
+
+ fn check_url_code_point(&self, c: char, input: &Input) {
+- if let Some(log) = self.log_syntax_violation {
++ let vfn = self.violation_fn;
++ if vfn.is_set() {
+ if c == '%' {
+ let mut input = input.clone();
+ if !matches!((input.next(), input.next()), (Some(a), Some(b))
+ if is_ascii_hex_digit(a) && is_ascii_hex_digit(b)) {
+- log("expected 2 hex digits after %")
++ vfn.call(SyntaxViolation::PercentDecode)
+ }
+ } else if !is_url_code_point(c) {
+- log("non-URL code point")
++ vfn.call(SyntaxViolation::NonUrlCodePoint)
+ }
+ }
+ }
+diff -Nrup a/third_party/rust/url/src/quirks.rs b/third_party/rust/url/src/quirks.rs
+--- a/third_party/rust/url/src/quirks.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/quirks.rs 2020-02-28 20:28:57.249406137 +0300
+@@ -46,7 +46,7 @@ pub fn set_href(url: &mut Url, value: &s
+
+ /// Getter for https://url.spec.whatwg.org/#dom-url-origin
+ pub fn origin(url: &Url) -> String {
+- url.origin().unicode_serialization()
++ url.origin().ascii_serialization()
+ }
+
+ /// Getter for https://url.spec.whatwg.org/#dom-url-protocol
+@@ -152,7 +152,7 @@ pub fn set_port(url: &mut Url, new_port:
+ {
+ // has_host implies !cannot_be_a_base
+ let scheme = url.scheme();
+- if !url.has_host() || scheme == "file" {
++ if !url.has_host() || url.host() == Some(Host::Domain("")) || scheme == "file" {
+ return Err(())
+ }
+ result = Parser::parse_port(Input::new(new_port), || default_port(scheme), Context::Setter)
+diff -Nrup a/third_party/rust/url/tests/data.rs b/third_party/rust/url/tests/data.rs
+--- a/third_party/rust/url/tests/data.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/data.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -9,7 +9,7 @@
+ //! Data-driven tests
+
+ extern crate rustc_serialize;
+-extern crate test;
++extern crate rustc_test as test;
+ extern crate url;
+
+ use rustc_serialize::json::{self, Json};
+@@ -29,6 +29,7 @@ fn check_invariants(url: &Url) {
+ fn run_parsing(input: &str, base: &str, expected: Result<ExpectedAttributes, ()>) {
+ let base = match Url::parse(&base) {
+ Ok(base) => base,
++ Err(_) if expected.is_err() => return,
+ Err(message) => panic!("Error parsing base {:?}: {}", base, message)
+ };
+ let (url, expected) = match (base.join(&input), expected) {
+@@ -188,11 +189,7 @@ fn main() {
+ {
+ let mut add_one = |name: String, run: test::TestFn| {
+ tests.push(test::TestDescAndFn {
+- desc: test::TestDesc {
+- name: test::DynTestName(name),
+- ignore: false,
+- should_panic: test::ShouldPanic::No,
+- },
++ desc: test::TestDesc::new(test::DynTestName(name)),
+ testfn: run,
+ })
+ };
+diff -Nrup a/third_party/rust/url/tests/setters_tests.json b/third_party/rust/url/tests/setters_tests.json
+--- a/third_party/rust/url/tests/setters_tests.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/setters_tests.json 2020-02-28 20:28:57.250406130 +0300
+@@ -102,6 +102,31 @@
+ }
+ },
+ {
++ "comment": "Cant switch from file URL with no host",
++ "href": "file://localhost/",
++ "new_value": "http",
++ "expected": {
++ "href": "file:///",
++ "protocol": "file:"
++ }
++ },
++ {
++ "href": "file:///test",
++ "new_value": "gopher",
++ "expected": {
++ "href": "file:///test",
++ "protocol": "file:"
++ }
++ },
++ {
++ "href": "file:",
++ "new_value": "wss",
++ "expected": {
++ "href": "file:///",
++ "protocol": "file:"
++ }
++ },
++ {
+ "comment": "Spec deviation: from special scheme to not is not problematic. https://github.com/whatwg/url/issues/104",
+ "href": "http://example.net",
+ "new_value": "b",
+@@ -176,6 +201,14 @@
+ }
+ },
+ {
++ "href": "javascript:alert(1)",
++ "new_value": "wario",
++ "expected": {
++ "href": "javascript:alert(1)",
++ "username": ""
++ }
++ },
++ {
+ "href": "http://example.net",
+ "new_value": "me",
+ "expected": {
+@@ -224,6 +257,30 @@
+ "href": "http://%c3%89t%C3%A9@example.net/",
+ "username": "%c3%89t%C3%A9"
+ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "x",
++ "expected": {
++ "href": "sc:///",
++ "username": ""
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "test",
++ "expected": {
++ "href": "file://test/",
++ "username": ""
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "wario",
++ "expected": {
++ "href": "javascript://wario@x/",
++ "username": "wario"
++ }
+ }
+ ],
+ "password": [
+@@ -303,10 +360,106 @@
+ "href": "http://:%c3%89t%C3%A9@example.net/",
+ "password": "%c3%89t%C3%A9"
+ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "x",
++ "expected": {
++ "href": "sc:///",
++ "password": ""
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "test",
++ "expected": {
++ "href": "file://test/",
++ "password": ""
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "bowser",
++ "expected": {
++ "href": "javascript://:bowser@x/",
++ "password": "bowser"
++ }
+ }
+ ],
+ "host": [
+ {
++ "href": "sc://x/",
++ "new_value": "\u0009",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000A",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000D",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "#",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "/",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "?",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "@",
++ "expected": {
++ "href": "sc://x/",
++ "host": "x",
++ "hostname": "x"
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "",
++ "expected": {
++ "href": "sc://%C3%9F/",
++ "host": "%C3%9F",
++ "hostname": "%C3%9F"
++ }
++ },
++ {
+ "comment": "Cannot-be-a-base means no host",
+ "href": "mailto:me@example.net",
+ "new_value": "example.com",
+@@ -384,15 +537,6 @@
+ }
+ },
+ {
+- "comment": "Path-only URLs can gain a host",
+- "href": "a:/foo",
+- "new_value": "example.net",
+- "expected": {
+- "href": "a://example.net/foo",
+- "host": "example.net"
+- }
+- },
+- {
+ "comment": "IPv4 address syntax is normalized",
+ "href": "http://example.net",
+ "new_value": "0x7F000001:8080",
+@@ -536,7 +680,7 @@
+ }
+ },
+ {
+- "comment": "\\ is not a delimiter for non-special schemes, and its invalid in a domain",
++ "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts",
+ "href": "view-source+http://example.net/path",
+ "new_value": "example.com\\stuff",
+ "expected": {
+@@ -600,10 +744,119 @@
+ "hostname": "example.com",
+ "port": ""
+ }
++ },
++ {
++ "comment": "Broken IPv6",
++ "href": "http://example.net/",
++ "new_value": "[google.com]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.4x]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
+ }
+ ],
+ "hostname": [
+ {
++ "href": "sc://x/",
++ "new_value": "\u0009",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000A",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000D",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "#",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "/",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "?",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "@",
++ "expected": {
++ "href": "sc://x/",
++ "host": "x",
++ "hostname": "x"
++ }
++ },
++ {
+ "comment": "Cannot-be-a-base means no host",
+ "href": "mailto:me@example.net",
+ "new_value": "example.com",
+@@ -659,15 +912,6 @@
+ }
+ },
+ {
+- "comment": "Path-only URLs can gain a host",
+- "href": "a:/foo",
+- "new_value": "example.net",
+- "expected": {
+- "href": "a://example.net/foo",
+- "host": "example.net"
+- }
+- },
+- {
+ "comment": "IPv4 address syntax is normalized",
+ "href": "http://example.net:8080",
+ "new_value": "0x7F000001",
+@@ -756,7 +1000,7 @@
+ }
+ },
+ {
+- "comment": "\\ is not a delimiter for non-special schemes, and its invalid in a domain",
++ "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts",
+ "href": "view-source+http://example.net/path",
+ "new_value": "example.com\\stuff",
+ "expected": {
+@@ -765,6 +1009,52 @@
+ "hostname": "example.net",
+ "port": ""
+ }
++ },
++ {
++ "comment": "Broken IPv6",
++ "href": "http://example.net/",
++ "new_value": "[google.com]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.4x]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
+ }
+ ],
+ "port": [
+@@ -779,7 +1069,7 @@
+ }
+ },
+ {
+- "comment": "Port number is removed if empty in the new value: https://github.com/whatwg/url/pull/113",
++ "comment": "Port number is removed if empty is the new value",
+ "href": "http://example.net:8080",
+ "new_value": "",
+ "expected": {
+@@ -920,6 +1210,65 @@
+ "hostname": "example.net",
+ "port": "8080"
+ }
++ },
++ {
++ "comment": "Port numbers are 16 bit integers, overflowing is an error",
++ "href": "non-special://example.net:8080/path",
++ "new_value": "65536",
++ "expected": {
++ "href": "non-special://example.net:8080/path",
++ "host": "example.net:8080",
++ "hostname": "example.net",
++ "port": "8080"
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "12",
++ "expected": {
++ "href": "file://test/",
++ "port": ""
++ }
++ },
++ {
++ "href": "file://localhost/",
++ "new_value": "12",
++ "expected": {
++ "href": "file:///",
++ "port": ""
++ }
++ },
++ {
++ "href": "non-base:value",
++ "new_value": "12",
++ "expected": {
++ "href": "non-base:value",
++ "port": ""
++ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "12",
++ "expected": {
++ "href": "sc:///",
++ "port": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "12",
++ "expected": {
++ "href": "sc://x:12/",
++ "port": "12"
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "12",
++ "expected": {
++ "href": "javascript://x:12/",
++ "port": "12"
++ }
+ }
+ ],
+ "pathname": [
+@@ -970,8 +1319,8 @@
+ "href": "view-source+http://example.net/home?lang=fr#nav",
+ "new_value": "\\a\\%2E\\b\\%2e.\\c",
+ "expected": {
+- "href": "view-source+http://example.net/\\a\\.\\b\\..\\c?lang=fr#nav",
+- "pathname": "/\\a\\.\\b\\..\\c"
++ "href": "view-source+http://example.net/\\a\\%2E\\b\\%2e.\\c?lang=fr#nav",
++ "pathname": "/\\a\\%2E\\b\\%2e.\\c"
+ }
+ },
+ {
+@@ -984,12 +1333,48 @@
+ }
+ },
+ {
+- "comment": "Bytes already percent-encoded are left as-is, except %2E.",
++ "comment": "Bytes already percent-encoded are left as-is, including %2E outside dotted segments.",
+ "href": "http://example.net",
+ "new_value": "%2e%2E%c3%89t",
+ "expected": {
+- "href": "http://example.net/..%c3%89t%C3%A9",
+- "pathname": "/..%c3%89t%C3%A9"
++ "href": "http://example.net/%2e%2E%c3%89t%C3%A9",
++ "pathname": "/%2e%2E%c3%89t%C3%A9"
++ }
++ },
++ {
++ "comment": "? needs to be encoded",
++ "href": "http://example.net",
++ "new_value": "?",
++ "expected": {
++ "href": "http://example.net/%3F",
++ "pathname": "/%3F"
++ }
++ },
++ {
++ "comment": "# needs to be encoded",
++ "href": "http://example.net",
++ "new_value": "#",
++ "expected": {
++ "href": "http://example.net/%23",
++ "pathname": "/%23"
++ }
++ },
++ {
++ "comment": "? needs to be encoded, non-special scheme",
++ "href": "sc://example.net",
++ "new_value": "?",
++ "expected": {
++ "href": "sc://example.net/%3F",
++ "pathname": "/%3F"
++ }
++ },
++ {
++ "comment": "# needs to be encoded, non-special scheme",
++ "href": "sc://example.net",
++ "new_value": "#",
++ "expected": {
++ "href": "sc://example.net/%23",
++ "pathname": "/%23"
+ }
+ }
+ ],
+diff -Nrup a/third_party/rust/url/tests/unit.rs b/third_party/rust/url/tests/unit.rs
+--- a/third_party/rust/url/tests/unit.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/unit.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -11,7 +11,9 @@
+ #[macro_use]
+ extern crate url;
+
++use std::ascii::AsciiExt;
+ use std::borrow::Cow;
++use std::cell::{Cell, RefCell};
+ use std::net::{Ipv4Addr, Ipv6Addr};
+ use std::path::{Path, PathBuf};
+ use url::{Host, HostAndPort, Url, form_urlencoded};
+@@ -108,6 +110,17 @@ fn new_directory_paths() {
+ }
+
+ #[test]
++fn path_backslash_fun() {
++ let mut special_url = "http://foobar.com".parse::<Url>().unwrap();
++ special_url.path_segments_mut().unwrap().push("foo\\bar");
++ assert_eq!(special_url.as_str(), "http://foobar.com/foo%5Cbar");
++
++ let mut nonspecial_url = "thing://foobar.com".parse::<Url>().unwrap();
++ nonspecial_url.path_segments_mut().unwrap().push("foo\\bar");
++ assert_eq!(nonspecial_url.as_str(), "thing://foobar.com/foo\\bar");
++}
++
++#[test]
+ fn from_str() {
+ assert!("http://testing.com/this".parse::<Url>().is_ok());
+ }
+@@ -221,7 +234,7 @@ fn test_serialization() {
+ ("http://example.com/", "http://example.com/"),
+ ("http://addslash.com", "http://addslash.com/"),
+ ("http://@emptyuser.com/", "http://emptyuser.com/"),
+- ("http://:@emptypass.com/", "http://:@emptypass.com/"),
++ ("http://:@emptypass.com/", "http://emptypass.com/"),
+ ("http://user@user.com/", "http://user@user.com/"),
+ ("http://user:pass@userpass.com/", "http://user:pass@userpass.com/"),
+ ("http://slashquery.com/path/?q=something", "http://slashquery.com/path/?q=something"),
+@@ -256,6 +269,15 @@ fn test_form_serialize() {
+ }
+
+ #[test]
++fn form_urlencoded_custom_encoding_override() {
++ let encoded = form_urlencoded::Serializer::new(String::new())
++ .custom_encoding_override(|s| s.as_bytes().to_ascii_uppercase().into())
++ .append_pair("foo", "bar")
++ .finish();
++ assert_eq!(encoded, "FOO=BAR");
++}
++
++#[test]
+ fn host_and_port_display() {
+ assert_eq!(
+ format!(
+@@ -286,22 +308,6 @@ fn host_and_port_display() {
+ }
+
+ #[test]
+-/// https://github.com/servo/rust-url/issues/25
+-fn issue_25() {
+- let filename = if cfg!(windows) { r"C:\run\pg.sock" } else { "/run/pg.sock" };
+- let mut url = Url::from_file_path(filename).unwrap();
+- url.check_invariants().unwrap();
+- url.set_scheme("postgres").unwrap();
+- url.check_invariants().unwrap();
+- url.set_host(Some("")).unwrap();
+- url.check_invariants().unwrap();
+- url.set_username("me").unwrap();
+- url.check_invariants().unwrap();
+- let expected = format!("postgres://me@/{}run/pg.sock", if cfg!(windows) { "C:/" } else { "" });
+- assert_eq!(url.as_str(), expected);
+-}
+-
+-#[test]
+ /// https://github.com/servo/rust-url/issues/61
+ fn issue_61() {
+ let mut url = Url::parse("http://mozilla.org").unwrap();
+@@ -372,6 +378,11 @@ fn test_set_host() {
+ let mut url = Url::parse("foobar://example.net/hello").unwrap();
+ url.set_host(None).unwrap();
+ assert_eq!(url.as_str(), "foobar:/hello");
++
++ let mut url = Url::parse("foo://").unwrap();
++ assert_eq!(url.as_str(), "foo://%C8%99/");
++ url.set_host(Some("gou.ro")).unwrap();
++ assert_eq!(url.as_str(), "foo://go%C8%99u.ro/");
+ }
+
+ #[test]
+@@ -478,3 +489,68 @@ fn test_windows_unc_path() {
+ let url = Url::from_file_path(Path::new(r"\\.\some\path\file.txt"));
+ assert!(url.is_err());
+ }
++
++// Test the now deprecated log_syntax_violation method for backward
++// compatibility
++#[test]
++#[allow(deprecated)]
++fn test_old_log_violation_option() {
++ let violation = Cell::new(None);
++ let url = Url::options()
++ .log_syntax_violation(Some(&|s| violation.set(Some(s.to_owned()))))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++
++ let violation = violation.take();
++ assert_eq!(violation, Some("expected //".to_string()));
++}
++
++#[test]
++fn test_syntax_violation_callback() {
++ use url::SyntaxViolation::*;
++ let violation = Cell::new(None);
++ let url = Url::options()
++ .syntax_violation_callback(Some(&|v| violation.set(Some(v))))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++
++ let v = violation.take().unwrap();
++ assert_eq!(v, ExpectedDoubleSlash);
++ assert_eq!(v.description(), "expected //");
++}
++
++#[test]
++fn test_syntax_violation_callback_lifetimes() {
++ use url::SyntaxViolation::*;
++ let violation = Cell::new(None);
++ let vfn = |s| violation.set(Some(s));
++
++ let url = Url::options()
++ .syntax_violation_callback(Some(&vfn))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++ assert_eq!(violation.take(), Some(ExpectedDoubleSlash));
++
++ let url = Url::options()
++ .syntax_violation_callback(Some(&vfn))
++ .parse("http://mozilla.org\\path").unwrap();
++ assert_eq!(url.path(), "/path");
++ assert_eq!(violation.take(), Some(Backslash));
++}
++
++#[test]
++fn test_options_reuse() {
++ use url::SyntaxViolation::*;
++ let violations = RefCell::new(Vec::new());
++ let vfn = |v| violations.borrow_mut().push(v);
++
++ let options = Url::options()
++ .syntax_violation_callback(Some(&vfn));
++ let url = options.parse("http:////mozilla.org").unwrap();
++
++ let options = options.base_url(Some(&url));
++ let url = options.parse("/sub\\path").unwrap();
++ assert_eq!(url.as_str(), "http://mozilla.org/sub/path");
++ assert_eq!(*violations.borrow(),
++ vec!(ExpectedDoubleSlash, Backslash));
++}
+diff -Nrup a/third_party/rust/url/tests/urltestdata.json b/third_party/rust/url/tests/urltestdata.json
+--- a/third_party/rust/url/tests/urltestdata.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/urltestdata.json 2020-02-28 20:28:57.252406115 +0300
+@@ -31,6 +31,66 @@
+ "hash": "#c"
+ },
+ {
++ "input": "https://test:@test",
++ "base": "about:blank",
++ "href": "https://test@test/",
++ "origin": "https://test",
++ "protocol": "https:",
++ "username": "test",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://:@test",
++ "base": "about:blank",
++ "href": "https://test/",
++ "origin": "https://test",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://test:@test/x",
++ "base": "about:blank",
++ "href": "non-special://test@test/x",
++ "origin": "null",
++ "protocol": "non-special:",
++ "username": "test",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://:@test/x",
++ "base": "about:blank",
++ "href": "non-special://test/x",
++ "origin": "null",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
++ {
+ "input": "http:foo.com",
+ "base": "http://example.org/foo/bar",
+ "href": "http://example.org/foo/foo.com",
+@@ -106,6 +166,20 @@
+ "hash": "# e"
+ },
+ {
++ "input": "lolscheme:x x#x x",
++ "base": "about:blank",
++ "href": "lolscheme:x x#x x",
++ "protocol": "lolscheme:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "x x",
++ "search": "",
++ "hash": "#x x"
++ },
++ {
+ "input": "http://f:/c",
+ "base": "http://example.org/foo/bar",
+ "href": "http://f/c",
+@@ -201,6 +275,11 @@
+ "failure": true
+ },
+ {
++ "input": "non-special://f:999999/c",
++ "base": "http://example.org/foo/bar",
++ "failure": true
++ },
++ {
+ "input": "http://f: 21 / b ? d # e ",
+ "base": "http://example.org/foo/bar",
+ "failure": true
+@@ -960,6 +1039,26 @@
+ "hash": ""
+ },
+ {
++ "input": "file://example:1/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://example:test/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://example%/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://[example]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
+ "input": "ftps:/example.com/",
+ "base": "http://example.org/foo/bar",
+ "href": "ftps:/example.com/",
+@@ -1785,7 +1884,7 @@
+ {
+ "input": "http://example.com/foo/%2e%2",
+ "base": "about:blank",
+- "href": "http://example.com/foo/.%2",
++ "href": "http://example.com/foo/%2e%2",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -1793,14 +1892,14 @@
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+- "pathname": "/foo/.%2",
++ "pathname": "/foo/%2e%2",
+ "search": "",
+ "hash": ""
+ },
+ {
+ "input": "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar",
+ "base": "about:blank",
+- "href": "http://example.com/..bar",
++ "href": "http://example.com/%2e.bar",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -1808,7 +1907,7 @@
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+- "pathname": "/..bar",
++ "pathname": "/%2e.bar",
+ "search": "",
+ "hash": ""
+ },
+@@ -2189,11 +2288,6 @@
+ "hash": "# %C2%BB"
+ },
+ {
+- "input": "http://[www.google.com]/",
+- "base": "about:blank",
+- "failure": true
+- },
+- {
+ "input": "http://www.google.com",
+ "base": "about:blank",
+ "href": "http://www.google.com/",
+@@ -2226,7 +2320,7 @@
+ {
+ "input": "http://www/foo%2Ehtml",
+ "base": "about:blank",
+- "href": "http://www/foo.html",
++ "href": "http://www/foo%2Ehtml",
+ "origin": "http://www",
+ "protocol": "http:",
+ "username": "",
+@@ -2234,7 +2328,7 @@
+ "host": "www",
+ "hostname": "www",
+ "port": "",
+- "pathname": "/foo.html",
++ "pathname": "/foo%2Ehtml",
+ "search": "",
+ "hash": ""
+ },
+@@ -3096,7 +3190,7 @@
+ {
+ "input": "http:a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3111,7 +3205,7 @@
+ {
+ "input": "http:/a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3126,7 +3220,7 @@
+ {
+ "input": "http://a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3171,7 +3265,7 @@
+ {
+ "input": "http://:@www.example.com",
+ "base": "about:blank",
+- "href": "http://:@www.example.com/",
++ "href": "http://www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -3465,6 +3559,22 @@
+ "search": "",
+ "hash": ""
+ },
++ "Leading and trailing C0 control or space",
++ {
++ "input": "\u0000\u001b\u0004\u0012 http://example.com/\u001f \u000d ",
++ "base": "about:blank",
++ "href": "http://example.com/",
++ "origin": "http://example.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.com",
++ "hostname": "example.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Ideographic full stop (full-width period for Chinese, etc.) should be treated as a dot. U+3002 is mapped to U+002E (dot)",
+ {
+ "input": "http://www.foobar.com",
+@@ -3493,6 +3603,32 @@
+ "base": "http://other.com/",
+ "failure": true
+ },
++ "U+FFFD",
++ {
++ "input": "https://\ufffd",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://%EF%BF%BD",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://x/\ufffd?\ufffd#\ufffd",
++ "base": "about:blank",
++ "href": "https://x/%EF%BF%BD?%EF%BF%BD#%EF%BF%BD",
++ "origin": "https://x",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "x",
++ "hostname": "x",
++ "port": "",
++ "pathname": "/%EF%BF%BD",
++ "search": "?%EF%BF%BD",
++ "hash": "#%EF%BF%BD"
++ },
+ "Test name prepping, fullwidth input should be converted to ASCII and NOT IDN-ized. This is 'Go' in fullwidth UTF-8/UTF-16.",
+ {
+ "input": "http://.com",
+@@ -3536,7 +3672,7 @@
+ "input": "http://",
+ "base": "http://other.com/",
+ "href": "http://xn--6qqa088eba/",
+- "origin": "http://",
++ "origin": "http://xn--6qqa088eba",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+@@ -3547,6 +3683,36 @@
+ "search": "",
+ "hash": ""
+ },
++ {
++ "input": "https://fa.ExAmPlE/",
++ "base": "about:blank",
++ "href": "https://xn--fa-hia.example/",
++ "origin": "https://xn--fa-hia.example",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "xn--fa-hia.example",
++ "hostname": "xn--fa-hia.example",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://fa.ExAmPlE/",
++ "base": "about:blank",
++ "href": "sc://fa%C3%9F.ExAmPlE/",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "fa%C3%9F.ExAmPlE",
++ "hostname": "fa%C3%9F.ExAmPlE",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Invalid escaped characters should fail and the percents should be escaped. https://www.w3.org/Bugs/Public/show_bug.cgi?id=24191",
+ {
+ "input": "http://%zz%66%a.com",
+@@ -3600,18 +3766,23 @@
+ "base": "http://other.com/",
+ "failure": true
+ },
+- "Invalid escaping should trigger the regular host error handling",
++ "Invalid escaping in hosts causes failure",
+ {
+ "input": "http://%3g%78%63%30%2e%30%32%35%30%2E.01",
+ "base": "http://other.com/",
+ "failure": true
+ },
+- "Something that isn't exactly an IP should get treated as a host and spaces escaped",
++ "A space in a host causes failure",
+ {
+ "input": "http://192.168.0.1 hello",
+ "base": "http://other.com/",
+ "failure": true
+ },
++ {
++ "input": "https://x x:12",
++ "base": "about:blank",
++ "failure": true
++ },
+ "Fullwidth and escaped UTF-8 fullwidth should still be treated as IP",
+ {
+ "input": "http://",
+@@ -3628,12 +3799,83 @@
+ "search": "",
+ "hash": ""
+ },
++ "Domains with empty labels",
++ {
++ "input": "http://./",
++ "base": "about:blank",
++ "href": "http://./",
++ "origin": "http://.",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": ".",
++ "hostname": ".",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://../",
++ "base": "about:blank",
++ "href": "http://../",
++ "origin": "http://..",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "..",
++ "hostname": "..",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://0..0x300/",
++ "base": "about:blank",
++ "href": "http://0..0x300/",
++ "origin": "http://0..0x300",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "0..0x300",
++ "hostname": "0..0x300",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Broken IPv6",
+ {
++ "input": "http://[www.google.com]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
+ "input": "http://[google.com]",
+ "base": "http://other.com/",
+ "failure": true
+ },
++ {
++ "input": "http://[::1.2.3.4x]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.2.3.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.2.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
+ "Misc Unicode",
+ {
+ "input": "http://foo:@example.com/bar",
+@@ -4176,22 +4418,91 @@
+ "search": "",
+ "hash": ""
+ },
+- "# unknown schemes and non-ASCII domains",
++ "# unknown schemes and their hosts",
+ {
+ "input": "sc://.test/",
+ "base": "about:blank",
+- "href": "sc://xn--ida.test/",
++ "href": "sc://%C3%B1.test/",
+ "origin": "null",
+ "protocol": "sc:",
+ "username": "",
+ "password": "",
+- "host": "xn--ida.test",
+- "hostname": "xn--ida.test",
++ "host": "%C3%B1.test",
++ "hostname": "%C3%B1.test",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+ "hash": ""
+ },
++ {
++ "input": "sc://\u001F!\"$&'()*+,-.;<=>^_`{|}~/",
++ "base": "about:blank",
++ "href": "sc://%1F!\"$&'()*+,-.;<=>^_`{|}~/",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%1F!\"$&'()*+,-.;<=>^_`{|}~",
++ "hostname": "%1F!\"$&'()*+,-.;<=>^_`{|}~",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://\u0000/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc:// /",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://%/",
++ "base": "about:blank",
++ "href": "sc://%/",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%",
++ "hostname": "%",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://[/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://\\/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "x",
++ "base": "sc://",
++ "href": "sc://%C3%B1/x",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%C3%B1",
++ "hostname": "%C3%B1",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
+ "# unknown schemes and backslashes",
+ {
+ "input": "sc:\\../",
+@@ -4224,6 +4535,88 @@
+ "search": "",
+ "hash": ""
+ },
++ "# unknown scheme with bogus percent-encoding",
++ {
++ "input": "wow:%NBD",
++ "base": "about:blank",
++ "href": "wow:%NBD",
++ "origin": "null",
++ "protocol": "wow:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "%NBD",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "wow:%1G",
++ "base": "about:blank",
++ "href": "wow:%1G",
++ "origin": "null",
++ "protocol": "wow:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "%1G",
++ "search": "",
++ "hash": ""
++ },
++ "# Hosts and percent-encoding",
++ {
++ "input": "ftp://example.com%80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "ftp://example.com%A0/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://example.com%80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://example.com%A0/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "ftp://%e2%98%83",
++ "base": "about:blank",
++ "href": "ftp://xn--n3h/",
++ "origin": "ftp://xn--n3h",
++ "protocol": "ftp:",
++ "username": "",
++ "password": "",
++ "host": "xn--n3h",
++ "hostname": "xn--n3h",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://%e2%98%83",
++ "base": "about:blank",
++ "href": "https://xn--n3h/",
++ "origin": "https://xn--n3h",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "xn--n3h",
++ "hostname": "xn--n3h",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "# tests from jsdom/whatwg-url designed for code coverage",
+ {
+ "input": "http://127.0.0.1:10100/relative_import.html",
+@@ -4371,75 +4764,1385 @@
+ "port": "",
+ "pathname": "/baz",
+ "search": "?qux",
+- "searchParams": "",
++ "searchParams": "qux=",
+ "hash": "#foo%08bar"
+ },
+- "# IPv6 compression and serialization",
++ "# IPv4 parsing (via https://github.com/nodejs/node/pull/10317)",
++ {
++ "input": "http://192.168.257",
++ "base": "http://other.com/",
++ "href": "http://192.168.1.1/",
++ "origin": "http://192.168.1.1",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "192.168.1.1",
++ "hostname": "192.168.1.1",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://192.168.257.com",
++ "base": "http://other.com/",
++ "href": "http://192.168.257.com/",
++ "origin": "http://192.168.257.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "192.168.257.com",
++ "hostname": "192.168.257.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://256",
++ "base": "http://other.com/",
++ "href": "http://0.0.1.0/",
++ "origin": "http://0.0.1.0",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "0.0.1.0",
++ "hostname": "0.0.1.0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://256.com",
++ "base": "http://other.com/",
++ "href": "http://256.com/",
++ "origin": "http://256.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "256.com",
++ "hostname": "256.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://999999999",
++ "base": "http://other.com/",
++ "href": "http://59.154.201.255/",
++ "origin": "http://59.154.201.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "59.154.201.255",
++ "hostname": "59.154.201.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://999999999.com",
++ "base": "http://other.com/",
++ "href": "http://999999999.com/",
++ "origin": "http://999999999.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "999999999.com",
++ "hostname": "999999999.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://10000000000",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://10000000000.com",
++ "base": "http://other.com/",
++ "href": "http://10000000000.com/",
++ "origin": "http://10000000000.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "10000000000.com",
++ "hostname": "10000000000.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://4294967295",
++ "base": "http://other.com/",
++ "href": "http://255.255.255.255/",
++ "origin": "http://255.255.255.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "255.255.255.255",
++ "hostname": "255.255.255.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://4294967296",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://0xffffffff",
++ "base": "http://other.com/",
++ "href": "http://255.255.255.255/",
++ "origin": "http://255.255.255.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "255.255.255.255",
++ "hostname": "255.255.255.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://0xffffffff1",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://256.256.256.256",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://256.256.256.256.256",
++ "base": "http://other.com/",
++ "href": "http://256.256.256.256.256/",
++ "origin": "http://256.256.256.256.256",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "256.256.256.256.256",
++ "hostname": "256.256.256.256.256",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://0x.0x.0",
++ "base": "about:blank",
++ "href": "https://0.0.0.0/",
++ "origin": "https://0.0.0.0",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "0.0.0.0",
++ "hostname": "0.0.0.0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "More IPv4 parsing (via https://github.com/jsdom/whatwg-url/issues/92)",
++ {
++ "input": "https://256.0.0.1/test",
++ "base": "about:blank",
++ "failure": true
++ },
++ "# file URLs containing percent-encoded Windows drive letters (shouldn't work)",
++ {
++ "input": "file:///C%3A/",
++ "base": "about:blank",
++ "href": "file:///C%3A/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C%3A/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file:///C%7C/",
++ "base": "about:blank",
++ "href": "file:///C%7C/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C%7C/",
++ "search": "",
++ "hash": ""
++ },
++ "# file URLs relative to other file URLs (via https://github.com/jsdom/whatwg-url/pull/60)",
++ {
++ "input": "pix/submit.gif",
++ "base": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html",
++ "href": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///C:/",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "# More file URL tests by zcorpan and annevk",
++ {
++ "input": "/",
++ "base": "file:///C:/a/b",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "//d:",
++ "base": "file:///C:/a/b",
++ "href": "file:///d:",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/d:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "//d:/..",
++ "base": "file:///C:/a/b",
++ "href": "file:///d:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/d:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///ab:/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///1:/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": ""
++ },
++ {
++ "input": "file:",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": ""
++ },
++ {
++ "input": "?x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?x",
++ "hash": ""
++ },
++ {
++ "input": "file:?x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?x",
++ "hash": ""
++ },
++ {
++ "input": "#x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test#x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": "#x"
++ },
++ {
++ "input": "file:#x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test#x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": "#x"
++ },
++ "# File URLs and many (back)slashes",
++ {
++ "input": "file:///localhost//cat",
++ "base": "about:blank",
++ "href": "file:///localhost//cat",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/localhost//cat",
++ "search": "",
++ "hash": ""
++ },
+ {
+- "input": "http://[fe80:cd00::1257:0:211e:729c]/",
++ "input": "\\//pig",
++ "base": "file://lion/",
++ "href": "file:///pig",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/pig",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://",
++ "base": "file://ape/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter handling with the 'file:' base URL",
++ {
++ "input": "C|#",
++ "base": "file://host/dir/file",
++ "href": "file:///C:#",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|?",
++ "base": "file://host/dir/file",
++ "href": "file:///C:?",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|/",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|\n/",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|\\",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C",
++ "base": "file://host/dir/file",
++ "href": "file://host/dir/C",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "host",
++ "hostname": "host",
++ "port": "",
++ "pathname": "/dir/C",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|a",
++ "base": "file://host/dir/file",
++ "href": "file://host/dir/C|a",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "host",
++ "hostname": "host",
++ "port": "",
++ "pathname": "/dir/C|a",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk in the file slash state",
++ {
++ "input": "/c:/foo/bar",
++ "base": "file://host/path",
++ "href": "file:///c:/foo/bar",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/c:/foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk (no host)",
++ {
++ "input": "file:/C|/",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00::1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00::1257:0:211e:729c]",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://C|/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk with not empty host",
++ {
++ "input": "file://example.net/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://1.2.3.4/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://[1::8]/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ "# file URLs without base URL by Rimas Miseviius",
++ {
++ "input": "file:",
++ "base": "about:blank",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file:?q=v",
++ "base": "about:blank",
++ "href": "file:///?q=v",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "?q=v",
++ "hash": ""
++ },
++ {
++ "input": "file:#frag",
++ "base": "about:blank",
++ "href": "file:///#frag",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": "#frag"
++ },
++ "# IPv6 tests",
++ {
++ "input": "http://[1:0::]",
++ "base": "http://example.net/",
++ "href": "http://[1::]/",
++ "origin": "http://[1::]",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00::1257:0:211e:729c]",
+- "hostname": "[fe80:cd00::1257:0:211e:729c]",
++ "host": "[1::]",
++ "hostname": "[1::]",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Compress sequences of two or more zeroes",
+ {
+- "input": "http://[fe80:cd00:0:0:1257:0:211e:729c]/",
++ "input": "http://[0:1:2:3:4:5:6:7:8]",
++ "base": "http://example.net/",
++ "failure": true
++ },
++ {
++ "input": "https://[0::0::0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:0:]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1:2:3:4:5:6:7.0.0.0.1]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.00.0.0.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.290.0.0.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.23.23]",
++ "base": "about:blank",
++ "failure": true
++ },
++ "# Empty host",
++ {
++ "input": "http://?",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00::1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00::1257:0:211e:729c]",
++ "failure": true
++ },
++ {
++ "input": "http://#",
++ "base": "about:blank",
++ "failure": true
++ },
++ "Port overflow (2^32 + 81)",
++ {
++ "input": "http://f:4294967377/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "Port overflow (2^64 + 81)",
++ {
++ "input": "http://f:18446744073709551697/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "Port overflow (2^128 + 81)",
++ {
++ "input": "http://f:340282366920938463463374607431768211537/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "# Non-special-URL path tests",
++ {
++ "input": "///",
++ "base": "sc://x/",
++ "href": "sc:///",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "tftp://foobar.com/someconfig;mode=netascii",
++ "base": "about:blank",
++ "href": "tftp://foobar.com/someconfig;mode=netascii",
++ "origin": "null",
++ "protocol": "tftp:",
++ "username": "",
++ "password": "",
++ "host": "foobar.com",
++ "hostname": "foobar.com",
++ "port": "",
++ "pathname": "/someconfig;mode=netascii",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "telnet://user:pass@foobar.com:23/",
++ "base": "about:blank",
++ "href": "telnet://user:pass@foobar.com:23/",
++ "origin": "null",
++ "protocol": "telnet:",
++ "username": "user",
++ "password": "pass",
++ "host": "foobar.com:23",
++ "hostname": "foobar.com",
++ "port": "23",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "ut2004://10.10.10.10:7777/Index.ut2",
++ "base": "about:blank",
++ "href": "ut2004://10.10.10.10:7777/Index.ut2",
++ "origin": "null",
++ "protocol": "ut2004:",
++ "username": "",
++ "password": "",
++ "host": "10.10.10.10:7777",
++ "hostname": "10.10.10.10",
++ "port": "7777",
++ "pathname": "/Index.ut2",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz",
++ "base": "about:blank",
++ "href": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz",
++ "origin": "null",
++ "protocol": "redis:",
++ "username": "foo",
++ "password": "bar",
++ "host": "somehost:6379",
++ "hostname": "somehost",
++ "port": "6379",
++ "pathname": "/0",
++ "search": "?baz=bam&qux=baz",
++ "hash": ""
++ },
++ {
++ "input": "rsync://foo@host:911/sup",
++ "base": "about:blank",
++ "href": "rsync://foo@host:911/sup",
++ "origin": "null",
++ "protocol": "rsync:",
++ "username": "foo",
++ "password": "",
++ "host": "host:911",
++ "hostname": "host",
++ "port": "911",
++ "pathname": "/sup",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "git://github.com/foo/bar.git",
++ "base": "about:blank",
++ "href": "git://github.com/foo/bar.git",
++ "origin": "null",
++ "protocol": "git:",
++ "username": "",
++ "password": "",
++ "host": "github.com",
++ "hostname": "github.com",
++ "port": "",
++ "pathname": "/foo/bar.git",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "irc://myserver.com:6999/channel?passwd",
++ "base": "about:blank",
++ "href": "irc://myserver.com:6999/channel?passwd",
++ "origin": "null",
++ "protocol": "irc:",
++ "username": "",
++ "password": "",
++ "host": "myserver.com:6999",
++ "hostname": "myserver.com",
++ "port": "6999",
++ "pathname": "/channel",
++ "search": "?passwd",
++ "hash": ""
++ },
++ {
++ "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT",
++ "base": "about:blank",
++ "href": "dns://fw.example.org:9999/foo.bar.org?type=TXT",
++ "origin": "null",
++ "protocol": "dns:",
++ "username": "",
++ "password": "",
++ "host": "fw.example.org:9999",
++ "hostname": "fw.example.org",
++ "port": "9999",
++ "pathname": "/foo.bar.org",
++ "search": "?type=TXT",
++ "hash": ""
++ },
++ {
++ "input": "ldap://localhost:389/ou=People,o=JNDITutorial",
++ "base": "about:blank",
++ "href": "ldap://localhost:389/ou=People,o=JNDITutorial",
++ "origin": "null",
++ "protocol": "ldap:",
++ "username": "",
++ "password": "",
++ "host": "localhost:389",
++ "hostname": "localhost",
++ "port": "389",
++ "pathname": "/ou=People,o=JNDITutorial",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "git+https://github.com/foo/bar",
++ "base": "about:blank",
++ "href": "git+https://github.com/foo/bar",
++ "origin": "null",
++ "protocol": "git+https:",
++ "username": "",
++ "password": "",
++ "host": "github.com",
++ "hostname": "github.com",
++ "port": "",
++ "pathname": "/foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "urn:ietf:rfc:2648",
++ "base": "about:blank",
++ "href": "urn:ietf:rfc:2648",
++ "origin": "null",
++ "protocol": "urn:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "ietf:rfc:2648",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "tag:joe@example.org,2001:foo/bar",
++ "base": "about:blank",
++ "href": "tag:joe@example.org,2001:foo/bar",
++ "origin": "null",
++ "protocol": "tag:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "joe@example.org,2001:foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ "# percent encoded hosts in non-special-URLs",
++ {
++ "input": "non-special://%E2%80%A0/",
++ "base": "about:blank",
++ "href": "non-special://%E2%80%A0/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "%E2%80%A0",
++ "hostname": "%E2%80%A0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://H%4fSt/path",
++ "base": "about:blank",
++ "href": "non-special://H%4fSt/path",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "H%4fSt",
++ "hostname": "H%4fSt",
++ "port": "",
++ "pathname": "/path",
++ "search": "",
++ "hash": ""
++ },
++ "# IPv6 in non-special-URLs",
++ {
++ "input": "non-special://[1:2:0:0:5:0:0:0]/",
++ "base": "about:blank",
++ "href": "non-special://[1:2:0:0:5::]/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2:0:0:5::]",
++ "hostname": "[1:2:0:0:5::]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[1:2:0:0:0:0:0:3]/",
++ "base": "about:blank",
++ "href": "non-special://[1:2::3]/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2::3]",
++ "hostname": "[1:2::3]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[1:2::3]:80/",
++ "base": "about:blank",
++ "href": "non-special://[1:2::3]:80/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2::3]:80",
++ "hostname": "[1:2::3]",
++ "port": "80",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[:80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "blob:https://example.com:443/",
++ "base": "about:blank",
++ "href": "blob:https://example.com:443/",
++ "protocol": "blob:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "https://example.com:443/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "base": "about:blank",
++ "href": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "protocol": "blob:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "search": "",
++ "hash": ""
++ },
++ "Invalid IPv4 radix digits",
++ {
++ "input": "http://0177.0.0.0189",
++ "base": "about:blank",
++ "href": "http://0177.0.0.0189/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00::1257:0:211e:729c]",
+- "hostname": "[fe80:cd00::1257:0:211e:729c]",
++ "host": "0177.0.0.0189",
++ "hostname": "0177.0.0.0189",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Compress longest sequence of zeroes",
+ {
+- "input": "http://[fe80:0:0:1257:0:0:0:cd00]/",
++ "input": "http://0x7f.0.0.0x7g",
+ "base": "about:blank",
+- "href": "http://[fe80:0:0:1257::cd00]/",
+- "origin": "http://[fe80:0:0:1257::cd00]",
++ "href": "http://0x7f.0.0.0x7g/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:0:0:1257::cd00]",
+- "hostname": "[fe80:0:0:1257::cd00]",
++ "host": "0x7f.0.0.0x7g",
++ "hostname": "0x7f.0.0.0x7g",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Do not compress lone zeroes",
+ {
+- "input": "http://[fe80:cd00:0:cde:1257:0:211e:729c]/",
++ "input": "http://0X7F.0.0.0X7G",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00:0:cde:1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00:0:cde:1257:0:211e:729c]",
++ "href": "http://0x7f.0.0.0x7g/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00:0:cde:1257:0:211e:729c]",
+- "hostname": "[fe80:cd00:0:cde:1257:0:211e:729c]",
++ "host": "0x7f.0.0.0x7g",
++ "hostname": "0x7f.0.0.0x7g",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
++ },
++ "Invalid IPv4 portion of IPv6 address",
++ {
++ "input": "http://[::127.0.0.0.1]",
++ "base": "about:blank",
++ "failure": true
++ },
++ "Uncompressed IPv6 addresses with 0",
++ {
++ "input": "http://[0:1:0:1:0:1:0:1]",
++ "base": "about:blank",
++ "href": "http://[0:1:0:1:0:1:0:1]/",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "[0:1:0:1:0:1:0:1]",
++ "hostname": "[0:1:0:1:0:1:0:1]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://[1:0:1:0:1:0:1:0]",
++ "base": "about:blank",
++ "href": "http://[1:0:1:0:1:0:1:0]/",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "[1:0:1:0:1:0:1:0]",
++ "hostname": "[1:0:1:0:1:0:1:0]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "Percent-encoded query and fragment",
++ {
++ "input": "http://example.org/test?\u0022",
++ "base": "about:blank",
++ "href": "http://example.org/test?%22",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%22",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u0023",
++ "base": "about:blank",
++ "href": "http://example.org/test?#",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u003C",
++ "base": "about:blank",
++ "href": "http://example.org/test?%3C",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%3C",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u003E",
++ "base": "about:blank",
++ "href": "http://example.org/test?%3E",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%3E",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u2323",
++ "base": "about:blank",
++ "href": "http://example.org/test?%E2%8C%A3",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%E2%8C%A3",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?%23%23",
++ "base": "about:blank",
++ "href": "http://example.org/test?%23%23",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%23%23",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?%GH",
++ "base": "about:blank",
++ "href": "http://example.org/test?%GH",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%GH",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?a#%EF",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#%EF",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#%EF"
++ },
++ {
++ "input": "http://example.org/test?a#%GH",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#%GH",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#%GH"
++ },
++ "Bad bases",
++ {
++ "input": "test-a.html",
++ "base": "a",
++ "failure": true
++ },
++ {
++ "input": "test-a-slash.html",
++ "base": "a/",
++ "failure": true
++ },
++ {
++ "input": "test-a-slash-slash.html",
++ "base": "a//",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon.html",
++ "base": "a:",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon-slash.html",
++ "base": "a:/",
++ "href": "a:/test-a-colon-slash.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-slash-slash.html",
++ "base": "a://",
++ "href": "a:///test-a-colon-slash-slash.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash-slash.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-b.html",
++ "base": "a:b",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon-slash-b.html",
++ "base": "a:/b",
++ "href": "a:/test-a-colon-slash-b.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash-b.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-slash-slash-b.html",
++ "base": "a://b",
++ "href": "a://b/test-a-colon-slash-slash-b.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "b",
++ "hostname": "b",
++ "port": "",
++ "pathname": "/test-a-colon-slash-slash-b.html",
++ "search": "",
++ "hash": ""
++ },
++ "Null code point in fragment",
++ {
++ "input": "http://example.org/test?a#b\u0000c",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#bc",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#bc"
+ }
+ ]
+diff -Nrup a/toolkit/library/rust/Cargo.lock b/toolkit/library/rust/Cargo.lock
+--- a/toolkit/library/rust/Cargo.lock 2020-02-18 02:39:43.000000000 +0300
++++ b/toolkit/library/rust/Cargo.lock 2020-02-28 20:28:57.266406014 +0300
+@@ -808,7 +808,7 @@ dependencies = [
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "nserror 0.1.0",
+ "nsstring 0.1.0",
+- "url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+@@ -1154,7 +1154,7 @@ dependencies = [
+
+ [[package]]
+ name = "url"
+-version = "1.5.1"
++version = "1.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1383,7 +1383,7 @@ dependencies = [
+ "checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
+ "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+ "checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91"
+-"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"
++"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+ "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
+ "checksum vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c"
+ "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
diff --git a/seamonkey-2.53.1-rust141-encoding_rs.patch b/seamonkey-2.53.1-rust141-encoding_rs.patch
new file mode 100644
index 0000000..ca22efc
--- /dev/null
+++ b/seamonkey-2.53.1-rust141-encoding_rs.patch
@@ -0,0 +1,29 @@
+diff -Nrup -U 8 a/third_party/rust/encoding_rs/.cargo-checksum.json b/third_party/rust/encoding_rs/.cargo-checksum.json
+--- a/third_party/rust/encoding_rs/.cargo-checksum.json 2019-12-29 20:38:43.000000000 +0300
++++ b/third_party/rust/encoding_rs/.cargo-checksum.json 2020-02-24 19:55:59.483772898 +0300
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4d1af7257c9619f7ae66fc271ba2c1be5f063640ae8ceaa235c8c8aaf32f44ea","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"b74676e1affb0a2b528507be488bd9588db646b3b05807dada63cbe7b0747fc6","Ideas.md":"c1be4cc91621f52f38ea7febda7a4bb68086189cacc834c7edac4ba1a9da02fe","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"276d801faf4d6347c3ea32ae252cab95df653c846beaac535c5d70cf32094f5e","generate-encoding-data.py":"0b62de6d3b6368166b78a9259f06dc8d0f558504a0ed866dbe75dc2efb4bf464","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"240c607d3bad850c57d1e96871d5c0371278ed3923c38354bbb4c8a876c9a515","src/big5.rs":"614d479aabc63007f778d1f776a37b885e13d20b7c6c7a2818a729bde342f8a6","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"23e08359ccbe7602f3a90fce78dc76fd4065c236820ac0d11c9d9325045da0e6","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"8b0691ab21d638bd20078e33247f13afbc8012ff4b843a2fd03e3314353e8520","src/iso_2022_jp.rs":"285e7cea6df41d182a345a0f394a2348b1c313f0d55ed48c349824f2a6aff526","src/lib.rs":"dad6465f541ccdb171312879999d842dcbf11bc09119d81963df3a20f7d4e474","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"ff30e10bfb58fb8f56f0cc0b4dbcc4af6b343487562ee279ace8b31afd7bcccc","src/single_byte.rs":"0342a921427ed160f5cbe4532490aff5db00886a36b70273f54d8f6a9dcf6974","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"0bcf7eeb8bb33cbc88bd3bd8462437501a43055db02c40a12a15fae8e68dd1cb","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"8155c1c0acaab2826ee9f99ba911fbd3125707d797327e630977bc2f3f9b1064","src/utf_8.rs":"14cd64de87d8fc5f814f52f76390bda0b4c705da98e73e376fb424ca02119ba5","src/utf_8_core.rs":"0229de223eef17ad16751a646bcd3839c24f24069d660a4dc61b8a5fad19d16f","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"420fae797ea94e7a51eb005b97621ab32d68a8532c565afc60ecce6bdd84b6bd"},"package":"e00a1b1e95eb46988805ceee6f34cd95c46a6753e290cb3ff0486931989d4a4c"}
+\ No newline at end of file
++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4d1af7257c9619f7ae66fc271ba2c1be5f063640ae8ceaa235c8c8aaf32f44ea","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"b74676e1affb0a2b528507be488bd9588db646b3b05807dada63cbe7b0747fc6","Ideas.md":"c1be4cc91621f52f38ea7febda7a4bb68086189cacc834c7edac4ba1a9da02fe","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"276d801faf4d6347c3ea32ae252cab95df653c846beaac535c5d70cf32094f5e","generate-encoding-data.py":"0b62de6d3b6368166b78a9259f06dc8d0f558504a0ed866dbe75dc2efb4bf464","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"240c607d3bad850c57d1e96871d5c0371278ed3923c38354bbb4c8a876c9a515","src/big5.rs":"614d479aabc63007f778d1f776a37b885e13d20b7c6c7a2818a729bde342f8a6","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"23e08359ccbe7602f3a90fce78dc76fd4065c236820ac0d11c9d9325045da0e6","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"8b0691ab21d638bd20078e33247f13afbc8012ff4b843a2fd03e3314353e8520","src/iso_2022_jp.rs":"285e7cea6df41d182a345a0f394a2348b1c313f0d55ed48c349824f2a6aff526","src/lib.rs":"dad6465f541ccdb171312879999d842dcbf11bc09119d81963df3a20f7d4e474","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"ff30e10bfb58fb8f56f0cc0b4dbcc4af6b343487562ee279ace8b31afd7bcccc","src/single_byte.rs":"0342a921427ed160f5cbe4532490aff5db00886a36b70273f54d8f6a9dcf6974","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"0bcf7eeb8bb33cbc88bd3bd8462437501a43055db02c40a12a15fae8e68dd1cb","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"1d2c40857c946f6eecf724efc60a196865b4d84a59b08b42fbe4576fa8308fd0","src/utf_8.rs":"14cd64de87d8fc5f814f52f76390bda0b4c705da98e73e376fb424ca02119ba5","src/utf_8_core.rs":"0229de223eef17ad16751a646bcd3839c24f24069d660a4dc61b8a5fad19d16f","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"420fae797ea94e7a51eb005b97621ab32d68a8532c565afc60ecce6bdd84b6bd"},"package":"e00a1b1e95eb46988805ceee6f34cd95c46a6753e290cb3ff0486931989d4a4c"}
+diff -Nrup -U 8 a/third_party/rust/encoding_rs/src/utf_16.rs b/third_party/rust/encoding_rs/src/utf_16.rs
+--- a/third_party/rust/encoding_rs/src/utf_16.rs 2019-12-29 20:38:43.000000000 +0300
++++ b/third_party/rust/encoding_rs/src/utf_16.rs 2020-02-24 19:53:49.973548797 +0300
+@@ -25,17 +25,17 @@ impl Utf16Decoder {
+ lead_surrogate: 0,
+ lead_byte: None,
+ be: big_endian,
+ pending_bmp: false,
+ }
+ )
+ }
+
+- pub fn additional_from_state(&self) -> usize() {
++ pub fn additional_from_state(&self) -> usize {
+ 1 + if self.lead_byte.is_some() { 1 } else { 0 } +
+ if self.lead_surrogate == 0 { 0 } else { 2 }
+ }
+
+ pub fn max_utf16_buffer_length(&self, byte_length: usize) -> Option<usize> {
+ checked_add(
+ 1,
+ checked_div(byte_length.checked_add(self.additional_from_state()), 2),
diff --git a/seamonkey-2.53.1-startupcache.patch b/seamonkey-2.53.1-startupcache.patch
new file mode 100644
index 0000000..bd7d9fc
--- /dev/null
+++ b/seamonkey-2.53.1-startupcache.patch
@@ -0,0 +1,102 @@
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/startupcache/StartupCache.cpp seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/startupcache/StartupCache.cpp
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/startupcache/StartupCache.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/startupcache/StartupCache.cpp 2020-02-24 01:24:52.935332070 +0300
+@@ -76,21 +76,22 @@ StartupCache::CollectReports(nsIHandleRe
+
+ StartupCache*
+ StartupCache::GetSingleton()
+ {
+ if (!gStartupCache) {
+ if (!XRE_IsParentProcess()) {
+ return nullptr;
+ }
+-#ifdef MOZ_DISABLE_STARTUPCACHE
+- return nullptr;
+-#else
+- StartupCache::InitSingleton();
+-#endif
++
++ if (PR_GetEnv("MOZ_DISABLE_STARTUPCACHE")) {
++ return nullptr;
++ } else {
++ StartupCache::InitSingleton();
++ }
+ }
+
+ return StartupCache::gStartupCache;
+ }
+
+ void
+ StartupCache::DeleteSingleton()
+ {
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.js 2020-02-24 01:24:52.955331955 +0300
+@@ -106,8 +106,15 @@ function ReadSmartSizeEnabled()
+ }
+
+ function updateActualCacheSize()
+ {
+ Cc["@mozilla.org/netwerk/cache-storage-service;1"]
+ .getService(Ci.nsICacheStorageService)
+ .asyncGetDiskConsumption(CacheObserver);
+ }
++
++function prefClearStartupCache(aButton)
++{
++ Services.appinfo.invalidateCachesOnRestart();
++ aButton.disabled = true;
++}
++
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.xul seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.xul
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.xul 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.xul 2020-02-24 02:54:04.763717723 +0300
+@@ -103,16 +103,28 @@
+ <menuitem value="0" label="&checkOncePerSession.label;"/>
+ <menuitem value="2" label="&checkNever.label;"/>
+ </menupopup>
+ </menulist>
+ </hbox>
+
+ </groupbox>
+
++ <groupbox id="startupCache">
++ <caption id="startupCacheLabel" label="&startupCacheTitle.label;"/>
++ <description>&startupCachePara;</description>
++ <hbox id="startupCacheBox" align="center">
++ <button id="clearStartupCacheButton"
++ class="indent"
++ label="&clearStartupCache.label;"
++ accesskey="&clearStartupCache.accesskey;"
++ oncommand="prefClearStartupCache(this);"/>
++ </hbox>
++ </groupbox>
++
+ <groupbox id="prefetch">
+ <caption id="prefetchLabel" label="&prefetchTitle.label;"/>
+ <vbox id="prefetchBox" align="start">
+ <checkbox id="enablePrefetch"
+ label="&enablePrefetch.label;"
+ accesskey="&enablePrefetch.accesskey;"
+ preference="network.prefetch-next"/>
+ </vbox>
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-cache.dtd seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-cache.dtd
+--- seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-cache.dtd 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-cache.dtd 2020-02-24 02:50:26.000000000 +0300
+@@ -21,11 +21,16 @@
+ <!ENTITY diskCacheFolderExplanation "Cache files will be stored in a subfolder named "Cache" of the directory you specify. Restart &brandShortName; for changes to take effect.">
+ <!ENTITY docCache.label "Compare the page in the cache to the page on the network:">
+ <!ENTITY docCache.accesskey "m">
+ <!ENTITY checkOncePerSession.label "Once per session">
+ <!ENTITY checkEveryTime.label "Every time I view the page">
+ <!ENTITY checkNever.label "Never">
+ <!ENTITY checkAutomatically.label "When the page is out of date">
+
++<!ENTITY startupCacheTitle.label "Startup Cache">
++<!ENTITY startupCachePara "Startup cache is used to speed up SeaMonkey loading. (Updates or changes of some addons and extensions might require to flush the cache afterwards.)">
++<!ENTITY clearStartupCache.label "Clear startupCache">
++<!ENTITY clearStartupCache.accesskey "s">
++
+ <!ENTITY prefetchTitle.label "Link Prefetching">
+ <!ENTITY enablePrefetch.label "Prefetch web pages when idle, so that links in web pages designed for prefetching can load more quickly">
+ <!ENTITY enablePrefetch.accesskey "P">
diff --git a/seamonkey-2.53.1-system_nss_nspr.patch b/seamonkey-2.53.1-system_nss_nspr.patch
new file mode 100644
index 0000000..bd5fdcd
--- /dev/null
+++ b/seamonkey-2.53.1-system_nss_nspr.patch
@@ -0,0 +1,20 @@
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/old-configure.in.orig 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/old-configure.in 2020-01-06 03:19:40.952857698 +0300
+@@ -48,7 +48,7 @@
+ MOZJPEG=62
+ MOZPNG=10635
+ NSPR_VERSION=4
+-NSPR_MINVER=4.23
++NSPR_MINVER=4.21
+ NSS_VERSION=3
+
+ dnl Set the minimum version of toolkit libs used by mozilla
+@@ -1808,7 +1808,7 @@
+ _USE_SYSTEM_NSS=1 )
+
+ if test -n "$_USE_SYSTEM_NSS"; then
+- AM_PATH_NSS(3.47.1, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
++ AM_PATH_NSS(3.44.0, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
+ fi
+
+ NSS_CFLAGS="$NSS_CFLAGS -I${DIST}/include/nss"
diff --git a/seamonkey-2.53.1-useragent.patch b/seamonkey-2.53.1-useragent.patch
new file mode 100644
index 0000000..88f9610
--- /dev/null
+++ b/seamonkey-2.53.1-useragent.patch
@@ -0,0 +1,290 @@
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/calendar/base/src/calCalendarManager.js seamonkey-2.53-comm-2_53_beta_01-OK/calendar/base/src/calCalendarManager.js
+--- seamonkey-2.53-comm-2_53_beta_01/calendar/base/src/calCalendarManager.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/calendar/base/src/calCalendarManager.js 2020-02-19 23:52:08.526194868 +0300
+@@ -141,41 +141,43 @@ calCalendarManager.prototype = {
+ // Possible reasons we got here:
+ // - Its not a http channel (wtf? Oh well)
+ // - The owner is not a calICalendar (looks like its not our deal)
+ // - The WWW-Authenticate header is missing (thats ok)
+ }
+ break;
+ }
+ case "http-on-modify-request": {
+- // Unfortunately, the ability to do this with a general pref has
+- // been removed. Calendar servers might still want to know what
+- // client is used for access, so add our UA String to each
+- // request.
+- let httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
+- try {
+- // NOTE: For some reason, this observer call doesn't have
+- // the "cal" namespace defined
+- let userAgent = httpChannel.getRequestHeader("User-Agent");
+- let calUAString = Preferences.get("calendar.useragent.extra", "").trim();
+-
+- // Don't add an empty string or an already included token.
+- if (calUAString && !userAgent.includes(calUAString)) {
+- // User-Agent is not a mergeable header. We need to
+- // merge the user agent ourselves.
+- httpChannel.setRequestHeader("User-Agent",
+- userAgent + " " + calUAString,
+- false);
+- }
+- } catch (e) {
+- if (e.result != Components.results.NS_ERROR_NOT_AVAILABLE) {
+- throw e;
++ if (!Preferences.get("general.useragent.compatMode.firefox-exact", false)) {
++ // Unfortunately, the ability to do this with a general pref has
++ // been removed. Calendar servers might still want to know what
++ // client is used for access, so add our UA String to each
++ // request.
++ let httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
++ try {
++ // NOTE: For some reason, this observer call doesn't have
++ // the "cal" namespace defined
++ let userAgent = httpChannel.getRequestHeader("User-Agent");
++ let calUAString = Preferences.get("calendar.useragent.extra", "").trim();
++
++ // Don't add an empty string or an already included token.
++ if (calUAString && !userAgent.includes(calUAString)) {
++ // User-Agent is not a mergeable header. We need to
++ // merge the user agent ourselves.
++ httpChannel.setRequestHeader("User-Agent",
++ userAgent + " " + calUAString,
++ false);
++ }
++ } catch (e) {
++ if (e.result != Components.results.NS_ERROR_NOT_AVAILABLE) {
++ throw e;
++ }
++ // We swallow this error since it means the User Agent
++ // header is not set. We don't want to force it to be set.
+ }
+- // We swallow this error since it means the User Agent
+- // header is not set. We don't want to force it to be set.
+ }
+ break;
+ }
+ }
+ },
+
+ //
+ // DB migration code begins here
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.cpp seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.cpp
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.cpp 2020-02-19 23:52:08.527194862 +0300
+@@ -202,16 +202,17 @@ nsHttpHandler::nsHttpHandler()
+ , mQoSBits(0x00)
+ , mEnforceAssocReq(false)
+ , mLastUniqueID(NowInSeconds())
+ , mSessionStartTime(0)
+ , mLegacyAppName("Mozilla")
+ , mLegacyAppVersion("5.0")
+ , mProduct("Gecko")
+ , mCompatFirefoxEnabled(false)
++ , mCompatFirefoxExact(false)
+ , mUserAgentIsDirty(true)
+ , mAcceptLanguagesIsDirty(true)
+ , mPromptTempRedirect(true)
+ , mEnablePersistentHttpsCaching(false)
+ , mDoNotTrackEnabled(false)
+ , mSafeHintEnabled(false)
+ , mParentalControlEnabled(false)
+ , mHandlerActive(false)
+@@ -900,17 +901,17 @@ nsHttpHandler::BuildUserAgent()
+ mUserAgent += ')';
+
+ // Product portion
+ mUserAgent += ' ';
+ mUserAgent += mProduct;
+ mUserAgent += '/';
+ mUserAgent += mProductSub;
+
+- bool isFirefox = mAppName.EqualsLiteral("Firefox");
++ bool isFirefox = mAppName.EqualsLiteral("Firefox") || mCompatFirefoxExact;
+ if (isFirefox || mCompatFirefoxEnabled) {
+ // "Firefox/x.y" (compatibility) app token
+ mUserAgent += ' ';
+ mUserAgent += mCompatFirefox;
+ }
+ if (!isFirefox) {
+ // App portion
+ mUserAgent += ' ';
+@@ -1138,16 +1139,22 @@ nsHttpHandler::PrefsChanged(nsIPrefBranc
+ bool cVar = false;
+
+ if (PREF_CHANGED(UA_PREF("compatMode.firefox"))) {
+ rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox"), &cVar);
+ mCompatFirefoxEnabled = (NS_SUCCEEDED(rv) && cVar);
+ mUserAgentIsDirty = true;
+ }
+
++ if (PREF_CHANGED(UA_PREF("compatMode.firefox-exact"))) {
++ rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox-exact"), &cVar);
++ mCompatFirefoxExact = (NS_SUCCEEDED(rv) && cVar);
++ mUserAgentIsDirty = true;
++ }
++
+ // general.useragent.override
+ if (PREF_CHANGED(UA_PREF("override"))) {
+ prefs->GetCharPref(UA_PREF("override"),
+ getter_Copies(mUserAgentOverride));
+ mUserAgentIsDirty = true;
+ }
+
+ #ifdef ANDROID
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.h seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.h
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.h 2020-02-20 03:42:49.910562361 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.h 2020-02-19 23:52:08.527194862 +0300
+@@ -492,16 +492,17 @@ private:
+ nsCString mOscpu;
+ nsCString mMisc;
+ nsCString mProduct;
+ nsCString mProductSub;
+ nsCString mAppName;
+ nsCString mAppVersion;
+ nsCString mCompatFirefox;
+ bool mCompatFirefoxEnabled;
++ bool mCompatFirefoxExact;
+ nsCString mCompatDevice;
+ nsCString mDeviceModelId;
+
+ nsCString mUserAgent;
+ nsCString mSpoofedUserAgent;
+ nsCString mUserAgentOverride;
+ bool mUserAgentIsDirty; // true if mUserAgent should be rebuilt
+ bool mAcceptLanguagesIsDirty;
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/app/profile/suite-prefs.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/app/profile/suite-prefs.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/app/profile/suite-prefs.js 2020-02-20 03:42:50.063561357 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/app/profile/suite-prefs.js 2020-02-19 23:52:08.532194833 +0300
+@@ -36,16 +36,17 @@ pref("general.startup.addressbook",
+ pref("general.open_location.last_url", "");
+ pref("general.open_location.last_window_choice", 0);
+ pref("browser.urlbar.historyEnabled", true);
+
+ pref("general.smoothScroll", false);
+ pref("general.autoScroll", true);
+
+ pref("general.useragent.compatMode.firefox", true);
++pref("general.useragent.compatMode.firefox-exact", false);
+
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
+ pref("browser.startup.page", 1);
+ pref("browser.startup.homepage", "chrome://navigator-region/locale/region.properties");
+ pref("browser.startup.homepage.count", 1);
+
+ pref("browser.warnOnQuit", true);
+ pref("browser.warnOnRestart", true);
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.js 2020-02-20 03:39:30.000000000 +0300
+@@ -3,16 +3,31 @@
+ * 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/. */
+
+ var gLightningUAold;
+
+ function Startup()
+ {
+ CheckLightningUA();
++
++ var prefFirefoxExact = document.getElementById("general.useragent.compatMode.firefox-exact");
++ SetFirefoxExactEnabled(prefFirefoxExact.value);
++}
++
++function SetFirefoxExactEnabled(aEnable)
++{
++ EnableElementById("uaFirefoxCompat", !aEnable, false);
++
++ var prefLightningUA = document.getElementById("calendar.useragent.extra");
++ if (prefLightningUA.defaultValue)
++ {
++ var boxLightningUA = document.getElementById("uaLightningShow");
++ boxLightningUA.disabled = prefLightningUA.locked || aEnable;
++ }
+ }
+
+ // Lightning adds a UA token if calendar.useragent.extra is not empty.
+ // Checkbox is visible if Lightning is installed and enabled.
+ // Checkbox is checked if the pref contains any non-whitespace character.
+ function CheckLightningUA()
+ {
+ var prefLightningUA = document.getElementById("calendar.useragent.extra");
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.xul seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.xul
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.xul 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.xul 2020-02-19 23:52:08.529194850 +0300
+@@ -14,16 +14,20 @@
+ name="network.http.version"
+ type="string"/>
+ <preference id="network.http.proxy.version"
+ name="network.http.proxy.version"
+ type="string"/>
+ <preference id="general.useragent.compatMode.firefox"
+ name="general.useragent.compatMode.firefox"
+ type="bool"/>
++ <preference id="general.useragent.compatMode.firefox-exact"
++ name="general.useragent.compatMode.firefox-exact"
++ type="bool"
++ onchange="SetFirefoxExactEnabled(this.value);"/>
+ <preference id="calendar.useragent.extra"
+ name="calendar.useragent.extra"
+ type="string"/>
+ </preferences>
+
+ <description>&prefPara;</description>
+
+ <hbox align="start">
+@@ -57,21 +61,33 @@
+ </vbox>
+ </groupbox>
+ </hbox>
+
+ <separator class="thin"/>
+
+ <groupbox>
+ <caption label="&prefUseragent.label;"/>
++ <radiogroup id="uaFirefoxExact"
++ preference="general.useragent.compatMode.firefox-exact">
++ <radio value="true"
++ label="&prefFirefoxExact.label;"
++ accesskey="&prefFirefoxExact.accesskey;"/>
++ <radio value="false"
++ flex="1"
++ label="&prefAdvertiseSeaMonkey.label;"
++ accesskey="&prefAdvertiseSeaMonkey.accesskey;"/>
++ </radiogroup>
+ <checkbox id="uaFirefoxCompat"
++ class="indent"
+ label="&prefFirefoxCompat.label;"
+ accesskey="&prefFirefoxCompat.accesskey;"
+ preference="general.useragent.compatMode.firefox"/>
+ <checkbox id="uaLightningShow"
++ class="indent"
+ hidden="true"
+ label="&prefLightningShow.label;"
+ accesskey="&prefLightningShow.accesskey;"
+ oncommand="OnLightningChanged(this.checked);"/>
+ </groupbox>
+
+ <description>&prefCompatWarning;</description>
+ </prefpane>
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-http.dtd seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-http.dtd
+--- seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-http.dtd 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-http.dtd 2020-02-19 23:52:08.529194850 +0300
+@@ -10,13 +10,17 @@
+ <!ENTITY prefEnableHTTP10.label "Use HTTP 1.0">
+ <!ENTITY prefEnableHTTP10.accesskey "U">
+ <!ENTITY prefEnableHTTP10Proxy.accesskey "S">
+ <!ENTITY prefEnableHTTP11.label "Use HTTP 1.1">
+ <!ENTITY prefEnableHTTP11.accesskey "E">
+ <!ENTITY prefEnableHTTP11Proxy.accesskey "T">
+ <!ENTITY prefPara "HTTP connections may be fine-tuned using these options to enhance either performance or compatibility. Some proxy servers, for example, are known to require HTTP/1.0 (see the release notes for details).">
+ <!ENTITY prefUseragent.label "User Agent String">
++<!ENTITY prefFirefoxExact.label "Look exactly as Firefox">
++<!ENTITY prefFirefoxExact.accesskey "A">
++<!ENTITY prefAdvertiseSeaMonkey.label "Advertise SeaMonkey">
++<!ENTITY prefAdvertiseSeaMonkey.accesskey "M">
+ <!ENTITY prefFirefoxCompat.label "Advertise Firefox compatibility">
+ <!ENTITY prefFirefoxCompat.accesskey "F">
+ <!ENTITY prefLightningShow.label "Advertise Lightning installation">
+ <!ENTITY prefLightningShow.accesskey "L">
+ <!ENTITY prefCompatWarning "WARNING: disabling these settings may result in websites or services not working properly.">
diff --git a/seamonkey.spec b/seamonkey.spec
index 979960a..afc9da7 100644
--- a/seamonkey.spec
+++ b/seamonkey.spec
@@ -4,19 +4,26 @@
%bcond_without system_icu
%bcond_without system_sqlite
%bcond_without system_ffi
+%bcond_with system_hunspell
%bcond_with system_cairo
%bcond_without langpacks
-%bcond_with calendar
-%bcond_with inspector
-%bcond_with irc
+%bcond_without clang
+%bcond_with lto
+%bcond_with stylo
-%global nspr_version 4.13.1
-%global nss_version 3.30.0
+%bcond_without calendar
+%bcond_without dominspector
+%bcond_without irc
+%bcond_with debugqa
+
+%global nspr_version 4.21.0
+%global nss_version 3.44.0
%global libvpx_version 1.5.0
-%global icu_version 58.1
-%global sqlite_version 3.17.0
+%global icu_version 59.1
+%global sqlite_version 3.19.3
%global ffi_version 3.0.9
+%global hunspell_version 1.6.1
%global cairo_version 1.10
%define homepage http://start.fedoraproject.org/
@@ -28,14 +35,15 @@
Name: seamonkey
Summary: Web browser, e-mail, news, IRC client, HTML editor
-Version: 2.49.5
-Release: 4%{?dist}
+Version: 2.53.1
+Release: 1%{?dist}
URL: http://www.seamonkey-project.org
License: MPLv2.0
-Source0: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
+
+Source0: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
%if %{with langpacks}
-Source1: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
+Source1: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
%endif
Source3: seamonkey.sh.in
@@ -44,27 +52,25 @@ Source12: seamonkey-mail.desktop
Source13: seamonkey-mail.svg
Source100: seamonkey-find-requires.sh
-Patch2: firefox-48-jemalloc-ppc.patch
-Patch3: xulrunner-27.0-build-arm.patch
-Patch4: firefox-33-rhbz-966424.patch
+Patch3: firefox-60-mozilla-1516803.patch
Patch5: firefox-35-rhbz-1173156.patch
-Patch6: firefox-52-build-prbool.patch
+Patch6: firefox-56-build-prbool.patch
Patch7: firefox-51-mozilla-1005640.patch
Patch8: firefox-48-mozilla-256180.patch
-Patch10: firefox-50-mozilla-440908.patch
-Patch13: firefox-52-mozilla-revert-1148544.patch
-Patch14: firefox-51-mozilla-1324096.patch
+Patch10: firefox-56-mozilla-440908.patch
+Patch11: firefox-60-mozilla-1436242.patch
+Patch12: seamonkey-2.53.1-mozilla-1533969.patch
+Patch13: seamonkey-2.53.1-mozilla-revert-1332139.patch
Patch16: firefox-52-rhbz-1451055.patch
-Patch17: seamonkey-2.49.5-mozilla-1389436.patch
+Patch17: seamonkey-2.53.1-rust140-nsstring.patch
+Patch18: seamonkey-2.53.1-rust140-url_1_7_2.patch
+Patch19: seamonkey-2.53.1-rust141-encoding_rs.patch
+Patch20: seamonkey-2.53.1-system_nss_nspr.patch
Patch22: seamonkey-2.46-installdir.patch
-Patch27: seamonkey-2.46-exthandler.patch
-Patch28: seamonkey-2.49.5-crmf.patch
-Patch29: seamonkey-2.49.5-mozilla-1559419.patch
-Patch30: nss-3.28-mozilla-1334976-1336487.patch
-Patch31: seamonkey-2.49.4-gettid.patch
-Patch40: seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
-Patch41: seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
-Patch42: seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
+Patch30: seamonkey-2.53.1-rhbz-1503632.patch
+Patch31: seamonkey-2.53.1-mozilla-526293.patch
+Patch32: seamonkey-2.53.1-useragent.patch
+Patch34: seamonkey-2.53.1-startupcache.patch
%{?with_system_nspr:BuildRequires: nspr-devel >= %{nspr_version}}
%{?with_system_nss:BuildRequires: nss-devel >= %{nss_version}}
@@ -73,6 +79,7 @@ Patch42: seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
%{?with_system_icu:BuildRequires: libicu-devel >= %{icu_version}}
%{?with_system_sqlite:BuildRequires: sqlite-devel >= %{sqlite_version}}
%{?with_system_ffi:BuildRequires: libffi-devel >= %{ffi_version}}
+%{?with_system_hunspell:BuildRequires: hunspell-devel >= %{hunspell_version}}
%{?with_system_cairo:BuildRequires: cairo-devel >= %{cairo_version}}
BuildRequires: libpng-devel
@@ -81,7 +88,7 @@ BuildRequires: zlib-devel
BuildRequires: zip
BuildRequires: libIDL-devel
BuildRequires: desktop-file-utils
-BuildRequires: gtk2-devel
+BuildRequires: gtk3-devel
BuildRequires: dbus-glib-devel
BuildRequires: gnome-vfs2-devel
BuildRequires: libgnome-devel
@@ -94,19 +101,29 @@ BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: coreutils
BuildRequires: alsa-lib-devel
-BuildRequires: hunspell-devel
BuildRequires: libnotify-devel
BuildRequires: yasm >= 1.1
BuildRequires: mesa-libGL-devel
BuildRequires: pulseaudio-libs-devel
+BuildRequires: startup-notification-devel
BuildRequires: autoconf213
BuildRequires: python27
-BuildRequires: gcc-c++ >= 4.8
+
+%if %{with clang} || %{with stylo}
+BuildRequires: clang, llvm-devel
+%endif
+%if %{without clang}
+BuildRequires: gcc-c++ >= 6.1
+%endif
+
+BuildRequires: rust >= 1.35
+BuildRequires: cargo
Requires: system-bookmarks
Requires: mozilla-filesystem
Requires: hicolor-icon-theme
+Requires: p11-kit-trust
%if %{with system_nspr}
Requires: nspr >= %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo %{nspr_version})
%endif
@@ -119,7 +136,8 @@ Requires: sqlite >= %(pkg-config --silence-errors --modversion sqlite 2>/d
# ppc64: http://bugzilla.redhat.com/bugzilla/866589
# armv7hl: http://bugzilla.redhat.com/bugzilla/1035485
-ExclusiveArch: %{ix86} x86_64
+# %{ix86}: no more supported upstream
+ExclusiveArch: x86_64
%define _use_internal_dependency_generator 0
%define __find_requires %{SOURCE100}
@@ -149,35 +167,27 @@ application formerly known as Mozilla Application Suite.
cd %{sources_subdir}
pushd mozilla
-%patch2 -p1 -b .jemalloc-ppc
-%patch3 -p2 -b .build-arm
-%patch4 -p2 -b .966424
+%patch3 -p1 -b .1516803
%patch5 -p2 -b .1173156
%patch6 -p1 -b .prbool
%patch7 -p1 -b .1005640
%patch8 -p1 -b .256180
%patch10 -p1 -b .440908
-%patch13 -p1 -b .1148544
-%patch14 -p1 -b .1324096
+%patch11 -p1 -b .1436242
+%patch12 -p1 -b .1533969
+%patch13 -p1 -b .1332139
%patch16 -p1 -b .1451055
-%patch17 -p1 -b .1389436
+%patch17 -p1 -b .nsstring
+%patch18 -p1 -b .rust-url
+%patch19 -p1 -b .encoding_rs
popd
+%patch20 -p2 -b .system_nss_nspr
%patch22 -p2 -b .installdir
-%patch27 -p2 -b .exthandler
-%patch28 -p2 -b .crmf
-%patch29 -p2 -b .1559419
-%patch31 -p2 -b .gettid
-
-%if %{without system_nss}
-pushd mozilla/security/nss
-%patch30 -p1 -b .1334976
-popd
-%endif
-
-%patch40 -p2 -b .1269145
-%patch41 -p2 -b .1398973
-%patch42 -p2 -b .1461307
+%patch30 -p2 -b .1503632
+%patch31 -p2 -b .526293
+%patch32 -p1 -b .useragent
+%patch34 -p1 -b .startupcache
sed -e 's/-MOZILLA_VERSION//g' \
-e 's,LIBDIR,%{_libdir},g' %{SOURCE3} >seamonkey.sh
@@ -185,12 +195,7 @@ sed -e 's/-MOZILLA_VERSION//g' \
%if %{without calendar}
sed -i 's/MOZ_CALENDAR/UNDEF_MOZ_CALENDAR/' suite/installer/package-manifest.in
%endif
-%if %{without inspector}
-sed -i '/^\[inspector\]/,/^$/ d' suite/installer/package-manifest.in
-%endif
-%if %{without irc}
-sed -i '/^\[chatzilla\]/,/^$/ d' suite/installer/package-manifest.in
-%endif
+
#
# generate .mozconfig
@@ -217,36 +222,41 @@ ac_add_options --with-system-bz2
ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-install-strip
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-extensions=default%{!?with_inspector:,-inspector}%{!?with_irc:,-irc}
+ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --disable-crashreporter
-ac_add_options --enable-safe-browsing
-ac_add_options --enable-system-hunspell
ac_add_options --disable-updater
ac_add_options --enable-chrome-format=omni
ac_add_options --disable-necko-wifi
+ac_add_options --enable-startup-notification
ac_add_options --enable-optimize=-O2
-ac_add_options --with%{!?with_system_nspr:out}-system-nspr
-ac_add_options --with%{!?with_system_nss:out}-system-nss
-ac_add_options --with%{!?with_system_libvpx:out}-system-libvpx
-ac_add_options --with%{!?with_system_icu:out}-system-icu
+ac_add_options --enable-startupcache
-ac_add_options --%{?with_system_sqlite:en}%{!?with_system_sqlite:dis}able-system-sqlite
-ac_add_options --%{?with_system_ffi:en}%{!?with_system_ffi:dis}able-system-ffi
-ac_add_options --%{?with_system_cairo:en}%{!?with_system_cairo:dis}able-system-cairo
+%define with_sys() ac_add_options --with%%{!?with_system_%1:out}-system-%1
+%define endis_sys() ac_add_options --%%{?with_system_%1:enable}%%{!?with_system_%1:disable}-system-%1
+%define endis() ac_add_options --%%{?with_%1:enable}%%{!?with_%1:disable}-%1
+
+%{expand:%with_sys nspr}
+%{expand:%with_sys nss}
+%{expand:%with_sys libvpx}
+%{expand:%with_sys icu}
+
+%{expand:%endis_sys sqlite}
+%{expand:%endis_sys ffi}
+%{expand:%endis_sys hunspell}
+%{expand:%endis_sys cairo}
# always enable calendar to build needed internal components required for both bundled and external addons
ac_add_options --enable-calendar
+%{expand:%endis dominspector}
+%{expand:%endis irc}
+%{expand:%endis debugqa}
-%ifarch %{arm}
-ac_add_options --disable-elf-hack
-%endif
-%ifnarch %{ix86} x86_64
-ac_add_options --disable-webrtc
-%endif
+ac_add_options --disable-webrender
+ac_add_options %{?with_stylo:--enable-stylo=build}%{!?with_stylo:--disable-stylo}
+
%if %{with langpacks}
ac_add_options --with-l10n-base=../l10n
@@ -271,18 +281,20 @@ pref("intl.locale.matchOS", true);
pref("extensions.shownSelectionUI", true);
pref("extensions.autoDisableScopes", 0);
pref("shell.checkDefaultApps", 0);
-pref("media.gmp-gmpopenh264.provider.enabled",false);
-pref("media.gmp-gmpopenh264.autoupdate",false);
-pref("media.gmp-gmpopenh264.enabled",false);
-pref("gfx.xrender.enabled",true);
-pref("devtools.webide.enabled",false);
+pref("media.gmp-gmpopenh264.provider.enabled", false);
+pref("media.gmp-gmpopenh264.autoupdate", false);
+pref("media.gmp-gmpopenh264.enabled", false);
+pref("gfx.xrender.enabled", true);
+pref("devtools.webide.enabled", false);
/* use system dictionaries (hunspell) */
-pref("spellchecker.dictionary_path","%{_datadir}/myspell");
+pref("spellchecker.dictionary_path", "%{_datadir}/myspell");
/* Allow sending credetials to all https:// sites */
pref("network.negotiate-auth.trusted-uris", "https://");
+pref("general.useragent.compatMode.firefox-exact", true);
+
EOF
# all-fedora.js
@@ -295,32 +307,58 @@ sed -i -e "s|browser.startup.homepage.*$|browser.startup.homepage = %{homepage}|
cd %{sources_subdir}
+%if %{with clang}
+export CC=clang
+export CXX=clang++
+%endif
+
# Mozilla builds with -Wall with exception of a few warnings which show up
# everywhere in the code; so, don't override that.
MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wall//')
+MOZ_LINK_FLAGS=
+
+# Still not handled by clang-8
+%if %{with clang}
+MOZ_OPT_FLAGS=$(echo $MOZ_OPT_FLAGS | sed -e 's/-fstack-clash-protection//')
+%endif
# needed for -Werror=format-security
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat"
-
# just temporary for gcc9 ...
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wno-format-overflow"
-# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
+%if %{with lto}
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flto"
+%if %{with clang}
+export AS=llvm-as
+export AR=llvm-ar
+export RANLIB=llvm-ranlib
+export STRIP=llvm-strip
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fuse-ld=gold"
+%else
+export AR=gcc-ar
+export RANLIB=gcc-ranlib
+%endif
+%endif
+%if %(awk '/^MemTotal:/ { print $2 }' /proc/meminfo) <= 4200000
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--no-keep-memory"
+%if %{without clang} || %{without lto}
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--reduce-memory-overheads"
+%endif
+%endif
+
export CFLAGS=$MOZ_OPT_FLAGS
export CXXFLAGS=$MOZ_OPT_FLAGS
+export LDFLAGS=$MOZ_LINK_FLAGS
-[ "%{?__isa_bits}" == 32 -o $(awk '/^MemTotal:/ { print $2 }' /proc/meminfo) -le 4200000 ] && {
- MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
- export LDFLAGS=$MOZ_LINK_FLAGS
-}
MOZ_SMP_FLAGS=%{?_smp_mflags}
[ ${MOZ_SMP_FLAGS#-j} -gt 8 ] && MOZ_SMP_FLAGS=-j8
make -f client.mk build MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
+
%if %{with langpacks}
languages=`ls l10n | while read lang
@@ -360,6 +398,11 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/idl/seamonkey
rm -f $RPM_BUILD_ROOT%{_bindir}/seamonkey
install -p -m 755 seamonkey.sh $RPM_BUILD_ROOT%{_bindir}/seamonkey
+install -p -m 644 -D obj-*/dist/man/man1/seamonkey.1 $RPM_BUILD_ROOT/%{_mandir}/man1/seamonkey.1
+
+rm -f $RPM_BUILD_ROOT/%{_libdir}/seamonkey/removed-files
+rm -f $RPM_BUILD_ROOT/%{_libdir}/seamonkey/libnssckbi.so
+
# default prefs
install -p -m 644 all-fedora.js \
$RPM_BUILD_ROOT/%{_libdir}/seamonkey/defaults/pref/all-fedora.js
@@ -425,10 +468,11 @@ desktop-file-install --vendor mozilla \
pushd $RPM_BUILD_ROOT%{_libdir}/seamonkey/chrome/icons/default
icons=$RPM_BUILD_ROOT%{_datadir}/icons/hicolor
# seamonkey icons
-install -p -m 644 -D main-window16.png $icons/16x16/apps/seamonkey.png
-install -p -m 644 -D main-window.png $icons/32x32/apps/seamonkey.png
-install -p -m 644 -D main-window48.png $icons/48x48/apps/seamonkey.png
-install -p -m 644 -D seamonkey.png $icons/128x128/apps/seamonkey.png
+install -p -m 644 -D default16.png $icons/16x16/apps/seamonkey.png
+install -p -m 644 -D default.png $icons/32x32/apps/seamonkey.png
+install -p -m 644 -D default48.png $icons/48x48/apps/seamonkey.png
+install -p -m 644 -D default64.png $icons/64x64/apps/seamonkey.png
+install -p -m 644 -D default128.png $icons/128x128/apps/seamonkey.png
# seamonkey mail icons
install -p -m 644 -D messengerWindow16.png $icons/16x16/apps/seamonkey-mail.png
install -p -m 644 -D messengerWindow.png $icons/32x32/apps/seamonkey-mail.png
@@ -441,13 +485,15 @@ popd
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/extensions/%{seamonkey_app_id}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
+
%files -f seamonkey.lang
-%{_libdir}/seamonkey
+%license %{_libdir}/seamonkey/license.txt
-%ghost %{_libdir}/seamonkey/removed-files
+%{_libdir}/seamonkey
%{_bindir}/seamonkey
+%{_mandir}/*/*
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/applications/*.desktop
@@ -456,12 +502,9 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
%changelog
-* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.49.5-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-- Add fix for mozbz#1389436
-
-* Fri Nov 01 2019 Pete Walter <pwalter(a)fedoraproject.org> - 2.49.5-3
-- Rebuild for ICU 65
+* Fri Feb 28 2020 Dmitry Butskoy <Dmitry(a)Butskoy.name> - 2.53.1-1
+- Upgrade to 2.53.1
+- use clang to build
* Mon Sep 9 2019 Dmitry Butskoy <Dmitry(a)Butskoy.name> - 2.49.5-2
- rebuid to properly handle external lightning extension (#1750450)
@@ -552,321 +595,3 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
- avoid runtime linking with too old ffmpeg libraries (#1330898)
- still enable XRender extension by default
-* Thu Aug 4 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-9
-- Revert changes introduced by 2.40-7. The system-bookmarks is
- required for new profiles
-
-* Tue Aug 2 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-8
-- Bump release due to rebuild
-
-* Mon Aug 1 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-7
-- Seamonkey no longer require system-bookmarks during installation
- (rhbz#1361851)
-
-* Tue Jul 22 2016 Tom Callaway <spot(a)fedoraproject.org> - 2.40-6
-- rebuild for libvpx 1.6.0
-
-* Tue Jul 5 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-5
-- Disable null pointer gcc6 optimization in gcc-6.x (#1328045)
-
-* Sun Jul 3 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-4
-- add fix for gcc-6.x (mozilla bug #1245783)
-
-* Tue Jun 14 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-3
-- disable extra updatecheck (#1346171)
-- enable full-screen-api by default for media support
-
-* Mon Apr 18 2016 Caoln McNamara <caolanm(a)redhat.com> 2.40-2
-- rebuild for hunspell 1.4.0
-
-* Tue Mar 15 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-1
-- update to 2.40
-
-* Tue Feb 16 2016 Martin Stransky <stransky(a)redhat.com> 2.39-5
-- Added gcc6 build fix
-
-* Thu Feb 04 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.39-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Sat Jan 23 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.39-3
-- use system dictionaries for spell checking
-- specify default homepage for builtin default locale (en_US) as well
-- drop tons of garbage from libsuite.so component
-- massive spec and config files cleanup, including:
- - simplifying of install process and filelist generation
- - drop unneeded sources
- - generate mozconfig and prefs files inside spec file
- (better atomic support for changes and different releases)
- - actually provide information of files' locales for rpm package
- - conditionally build with system cairo, sqlite, libffi
-- more robast helper detection when content type reported wrongly
-- change some defaults to be the same as in Firefox:
- - delete temporary helpers files on exit
- - disable autoupdates by default
- - match OS locale by default
-- avoid ppc64le builds as well (#866589)
-- build with system sqlite and libffi
-
-* Tue Dec 1 2015 Tom Callaway <spot(a)fedoraproject.org> 2.39-2
-- rebuild for libvpx 1.5.0
-
-* Mon Nov 16 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.39-1
-- update to 2.39
-
-* Sun Oct 11 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.38-1
-- update to 2.38
-
-* Sun Sep 13 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.35-1
-- update to 2.35
-
-* Fri Jun 19 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.33.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sat May 02 2015 Kalev Lember <kalevlember(a)gmail.com> - 2.33.1-3
-- Rebuilt for GCC 5 C++11 ABI change
-
-* Mon Apr 13 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name>
-- cleanup of the startup script (#1210035)
-
-* Mon Apr 6 2015 Tom Callaway <spot(a)fedoraproject.org> - 2.33.1-2
-- rebuild against libvpx 1.4.0
-
-* Thu Mar 26 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.33.1-1
-- update to 2.33.1
-
-* Mon Mar 16 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.33-1
-- update to 2.33
-- apply some patches from firefox-36 package
-
-* Sun Feb 8 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.32.1-1
-- update to 2.32.1
-
-* Tue Jan 20 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.32-1
-- update to 2.32
-- apply some patches from firefox-35 package
-- enable gstreamer-1.0 support
-
-* Mon Dec 15 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.31-1
-- update to 2.31
-- apply some patches from firefox-34 package
-
-* Sat Oct 25 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.30-1
-- update to 2.30
-- apply some patches from firefox-33 package
-
-* Fri Sep 26 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.29.1-1
-- update to 2.29.1
-
-* Sat Sep 20 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.29-1
-- update to 2.29
-- apply some patches from firefox-32 package
-
-* Wed Aug 20 2014 Kevin Fenzi <kevin(a)scrye.com> - 2.26.1-3
-- Rebuild for rpm bug 1131892
-
-* Mon Aug 18 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.26.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-
-* Tue Jun 24 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26.1-1
-- update to 2.26.1
-
-* Sun Jun 08 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.26-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Fri May 9 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26-2
-- rebuild with new find-requires script
-
-* Fri May 9 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26-1
-- update to 2.26
-
-* Mon Mar 24 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.25-1
-- update to 2.25
-
-* Mon Feb 10 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.24-1
-- update to 2.24
-
-* Wed Dec 18 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.23-1
-- update to 2.23
-
-* Wed Nov 27 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.22.1-1
-- update to 2.22.1
-- don't build for armv7hl (seems not enough memory on the build system, #1035485)
-
-* Sat Nov 2 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.22-1
-- update to 2.22
-
-* Thu Sep 19 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.21-1
-- update to 2.21
-
-* Thu Aug 8 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.20-1
-- update to 2.20
-
-* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.19-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Mon Jul 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.19-2
-- implement separate switches for system/native nspr, nss and libvpx
-
-* Mon Jul 8 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.19-1
-- update to 2.19
-
-* Mon Apr 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.17.1-1
-- update to 2.17.1
-
-* Wed Apr 3 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.17-1
-- update to 2.17
-- explicitly require libjpeg-turbo (for JCS_EXTENSIONS)
-
-* Tue Mar 26 2013 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.16.2-2
-- Only build WebRTC on x86 to fix FTBFS on other arches
-
-* Fri Mar 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16.2-1
-- update to 2.16.2
-- fix desktop files (#887297)
-
-* Tue Mar 12 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16.1-1
-- update to 2.16.1
-
-* Fri Feb 22 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16-1
-- update to 2.16
-- fix build langpacks
-
-* Tue Feb 5 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15.2-1
-- update to 2.15.2
-
-* Sun Jan 27 2013 Rex Dieter <rdieter(a)fedoraproject.org> 2.15.1-2
-- silence scriptlet output
-
-* Tue Jan 22 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15.1-1
-- update to 2.15.1
-
-* Fri Jan 11 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15-1
-- update to 2.15
-- don't try to change global user settings for default browser/mail etc.
-- add fix for #304121 (derived from Xulrunner)
-
-* Mon Dec 3 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.14.1-1
-- update to 2.14.1
-
-* Thu Nov 22 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.14-1
-- update to 2.14
-- fix elfhack compile
-
-* Wed Oct 31 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.13.2-2
-- exclude ppc64 arch (hoping it is temporary, #866589)
-- fix startup warnings (error console) for omni and inspector
-- fix build langpacks
-- change License to MPLv2.0
-- add seamonkey-related directories in mozilla-filesystem (#865054)
-- use proper MOZ_SMP_FLAGS
-- add patch for jemalloc for powerpc arches (#852698)
-- add patch to avoid decommit memory on powerpc arches (#852698)
-- some cleanups in spec file
-- drop version from install directories (follow the current firefox
- and thunderbird way)
-
-* Fri Oct 26 2012 Martin Stransky <stransky(a)redhat.com> 2.13.2-1
-- Update to 2.13.2
-
-* Tue Oct 16 2012 Martin Stransky <stransky(a)redhat.com> 2.13.1-1
-- Update to 2.13.1
-
-* Tue Oct 9 2012 Martin Stransky <stransky(a)redhat.com> 2.13-1
-- Update to 2.13
-
-* Tue Aug 28 2012 Martin Stransky <stransky(a)redhat.com> 2.12.1-1
-- Update to 2.12.1
-
-* Tue Aug 28 2012 Martin Stransky <stransky(a)redhat.com> 2.12-1
-- Update to 2.12
-
-* Fri Jul 27 2012 Martin Stransky <stransky(a)redhat.com> 2.11-1
-- Update to 2.11
-
-* Thu Jun 21 2012 Martin Stransky <stransky(a)redhat.com> 2.10.1-1
-- Update to 2.10.1
-
-* Thu Jun 7 2012 Allen Hewes <allen(a)decisiv.net> 2.10-1
-- Update to 2.10
-- change sed string for version number to support 2 digits
-- remove specific .so's from installer manifest
-- fix the cache path for header.py and associated files when building
- in srcdir (vs using seperate objdir)
-
-* Mon May 7 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-4
-- Fixed #717242 - does not adhere to Static Library Packaging Guidelines
-
-* Thu May 3 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-3
-- Fixed #747411 - seamonkey needs better icons (by Edward Sheldrake)
-
-* Thu May 3 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-2
-- Fixed directories (#566901)
-
-* Wed May 2 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-1
-- Update to 2.9.1
-
-* Fri Apr 27 2012 Martin Stransky <stransky(a)redhat.com> 2.9-1
-- Update to 2.9
-
-* Wed Apr 4 2012 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.8-3
-- Add ARM configuration options
-
-* Fri Mar 16 2012 Martin Stransky <stransky(a)redhat.com> 2.8-2
-- gcc 4.7 build fixes
-
-* Thu Mar 15 2012 Martin Stransky <stransky(a)redhat.com> 2.8-1
-- Update to 2.8
-
-* Fri Feb 24 2012 Martin Stransky <stransky(a)redhat.com> 2.7.1-2
-- Added fix for mozbz#727401 - libpng crash
-
-* Tue Feb 14 2012 Martin Stransky <stransky(a)redhat.com> 2.7.1-1
-- Update to 2.7.1
-
-* Mon Feb 6 2012 Martin Stransky <stransky(a)redhat.com> 2.7-2
-- gcc 4.7 build fixes
-
-* Fri Feb 3 2012 Martin Stransky <stransky(a)redhat.com> 2.7-1
-- Update to 2.7
-
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.5-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Wed Dec 14 2011 Martin Stransky <stransky(a)redhat.com> 2.5-2
-- Fixed langpacks
-
-* Thu Dec 8 2011 Martin Stransky <stransky(a)redhat.com> 2.5-1
-- Update to 2.5
-
-* Fri Oct 14 2011 Dan Hork <dan[at]danny.cz> - 2.4.1-3
-- fix build on secondary arches
-
-* Tue Oct 11 2011 Kai Engert <kaie(a)redhat.com> - 2.4.1-2
-- Update to 2.4.1
-
-* Tue Sep 06 2011 Kai Engert <kaie(a)redhat.com> - 2.3.3-2
-- Update to 2.3.3
-
-* Sun Aug 21 2011 Kai Engert <kaie(a)redhat.com> - 2.3-2
-- Update to 2.3
-
-* Wed May 25 2011 Caoln McNamara <caolanm(a)redhat.com> - 2.0.14-2
-- rebuild for new hunspell
-
-* Fri Apr 29 2011 Jan Horak <jhorak(a)redhat.com> - 2.0.14-1
-- Update to 2.0.14
-
-* Sat Apr 9 2011 Christopher Aillon <caillon(a)redhat.com> 2.0.13-1
-- Update to 2.0.13
-
-* Mon Mar 7 2011 Martin Stransky <stransky(a)redhat.com> 2.0.12-1
-- Update to 2.0.12
-
-* Wed Feb 09 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.0.11-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Tue Jan 04 2011 Adel Gadllah <adel.gadllah(a)gmail.com> 2.0.11-3
-- BR dbus-glib-devel
-
-* Tue Jan 04 2011 Adel Gadllah <adel.gadllah(a)gmail.com> 2.0.11-2
-- disabled system cairo, breaks animated gifs (rhbz#628331)
diff --git a/sources b/sources
index 53800fa..94bb6fb 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (seamonkey-2.49.5.source.tar.xz) = 31309def1ad4276f13ecb343e936c7cade4b6850db88d9d84700f86bff7024b2b217b9e50fc3756b1d1beea483ceaa2a5a3afd053da00f6ac06e3795e9116789
-SHA512 (seamonkey-2.49.5.source-l10n.tar.xz) = eda23c334123e7fb060e93a5495b061e96a71944ce4216eee1dbf017d4803310da0882ff9fcf2c986e016ac8bbcca1fe7c2837dd04ea8208fe7127bf6e92afc5
+SHA512 (seamonkey-2.53.1.source.tar.xz) = 67c8a5343070948a88f1184a4f0c6ec720f9d43910165812b05a2a1bed8b698de2860d75b4bbf831f23c750fb521f50afa44ddc13835047f517a1407892ede3f
+SHA512 (seamonkey-2.53.1.source-l10n.tar.xz) = 52bc7d82e935abb67778a6fcdab6a9e6d66a196d0962c59ddddae4ae854e1cd0e923016b13afa55df7a3f3997014fc38e729605d449a170a7ff96b905c7ea084
diff --git a/xulrunner-27.0-build-arm.patch b/xulrunner-27.0-build-arm.patch
deleted file mode 100644
index f82dc4f..0000000
--- a/xulrunner-27.0-build-arm.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xulrunner-27.0/mozilla-release/gfx/ycbcr/moz.build.arm xulrunner-27.0/mozilla-release/gfx/ycbcr/moz.build
---- firefox-27.0/mozilla-release/gfx/ycbcr/moz.build.arm 2014-01-28 05:03:42.000000000 +0100
-+++ firefox-27.0/mozilla-release/gfx/ycbcr/moz.build 2014-02-03 11:14:34.062219509 +0100
-@@ -61,7 +61,7 @@ else:
- 'yuv_row_other.cpp',
- ]
-
--if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
-+if CONFIG['HAVE_ARM_NEON']:
- SOURCES += [
- 'yuv_row_arm.s',
- ]
4 years
Architecture specific change in rpms/seamonkey.git
by githook-noreply@fedoraproject.org
The package rpms/seamonkey.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/seamonkey.git/commit/?id=c420caed....
Change:
-%ifnarch %{ix86} x86_64
Thanks.
Full change:
============
commit c420caed1eabd5e1406732674a0ee530dacc3c33
Author: Dmitry Butskoy <dmitry(a)butskoy.name>
Date: Mon Mar 2 03:25:51 2020 +0300
Upgrade to 2.53.1
diff --git a/firefox-33-rhbz-966424.patch b/firefox-33-rhbz-966424.patch
deleted file mode 100644
index 7579d09..0000000
--- a/firefox-33-rhbz-966424.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm
---- firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 2014-10-14 08:12:14.358697255 +0200
-+++ firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm 2014-10-14 08:17:59.962181908 +0200
-@@ -174,7 +174,9 @@ this.checkCert =
- }
-
- function isBuiltinToken(tokenName) {
-- return tokenName == "Builtin Object Token";
-+ return tokenName == "Builtin Object Token" ||
-+ tokenName == "Default Trust" ||
-+ tokenName == "System Trust";
- }
-
- /**
diff --git a/firefox-48-jemalloc-ppc.patch b/firefox-48-jemalloc-ppc.patch
deleted file mode 100644
index b2aaae6..0000000
--- a/firefox-48-jemalloc-ppc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc firefox-48.0/memory/mozjemalloc/jemalloc.c
---- firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2016-07-26 10:51:46.385434384 +0200
-+++ firefox-48.0/memory/mozjemalloc/jemalloc.c 2016-07-26 10:53:49.061023106 +0200
-@@ -1090,7 +1090,7 @@ static const bool config_recycle = false
- * controlling the malloc behavior are defined as compile-time constants
- * for best performance and cannot be altered at runtime.
- */
--#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
-+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !(defined(__powerpc__))
- #define MALLOC_STATIC_SIZES 1
- #endif
-
diff --git a/firefox-50-mozilla-440908.patch b/firefox-50-mozilla-440908.patch
deleted file mode 100644
index 2d4a609..0000000
--- a/firefox-50-mozilla-440908.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff -up firefox-50.0/modules/libpref/prefapi.cpp.440908 firefox-50.0/modules/libpref/prefapi.cpp
---- firefox-50.0/modules/libpref/prefapi.cpp.440908 2016-10-31 21:15:26.000000000 +0100
-+++ firefox-50.0/modules/libpref/prefapi.cpp 2016-11-10 10:32:48.796115692 +0100
-@@ -997,8 +997,8 @@ void PREF_ReaderCallback(void *clo
- PrefValue value,
- PrefType type,
- bool isDefault,
-- bool isStickyDefault)
--
-+ bool isStickyDefault,
-+ bool isLocked)
- {
- uint32_t flags = 0;
- if (isDefault) {
-@@ -1010,4 +1010,6 @@ void PREF_ReaderCallback(void *clo
- flags |= kPrefForceSet;
- }
- pref_HashPref(pref, value, type, flags);
-+ if (isLocked)
-+ PREF_LockPref(pref, true);
- }
-diff -up firefox-50.0/modules/libpref/prefapi.h.440908 firefox-50.0/modules/libpref/prefapi.h
---- firefox-50.0/modules/libpref/prefapi.h.440908 2016-11-10 10:32:48.796115692 +0100
-+++ firefox-50.0/modules/libpref/prefapi.h 2016-11-10 10:34:58.013159112 +0100
-@@ -243,8 +243,8 @@ void PREF_ReaderCallback( void *closure,
- PrefValue value,
- PrefType type,
- bool isDefault,
-- bool isStickyDefault);
--
-+ bool isStickyDefault,
-+ bool isLocked);
-
- /*
- * Callback whenever we change a preference
-diff -up firefox-50.0/modules/libpref/prefread.cpp.440908 firefox-50.0/modules/libpref/prefread.cpp
---- firefox-50.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
-+++ firefox-50.0/modules/libpref/prefread.cpp 2016-11-10 10:32:48.796115692 +0100
-@@ -43,6 +43,7 @@ enum {
- #define BITS_PER_HEX_DIGIT 4
-
- static const char kUserPref[] = "user_pref";
-+static const char kLockPref[] = "lockPref";
- static const char kPref[] = "pref";
- static const char kPrefSticky[] = "sticky_pref";
- static const char kTrue[] = "true";
-@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
- break;
- }
- (*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
-- ps->fstickydefault);
-+ ps->fstickydefault, ps->flock);
- return true;
- }
-
-@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
- ps->vtype = PrefType::Invalid;
- ps->fdefault = false;
- ps->fstickydefault = false;
-+ ps->flock = false;
- }
- switch (c) {
- case '/': /* begin comment block or line? */
-@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
- break;
- case 'u': /* indicating user_pref */
- case 's': /* indicating sticky_pref */
-+ case 'l': /* indicating lockPref */
- case 'p': /* indicating pref */
- if (c == 'u') {
- ps->smatch = kUserPref;
- } else if (c == 's') {
- ps->smatch = kPrefSticky;
-+ } else if (c == 'l') {
-+ ps->smatch = kLockPref;
- } else {
- ps->smatch = kPref;
- }
-@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
- /* name parsing */
- case PREF_PARSE_UNTIL_NAME:
- if (c == '\"' || c == '\'') {
-- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
-+ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
-+ || ps->smatch == kLockPref);
- ps->fstickydefault = (ps->smatch == kPrefSticky);
-+ ps->flock = (ps->smatch == kLockPref);
- ps->quotechar = c;
- ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
- state = PREF_PARSE_QUOTED_STRING;
-diff -up firefox-50.0/modules/libpref/prefread.h.440908 firefox-50.0/modules/libpref/prefread.h
---- firefox-50.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
-+++ firefox-50.0/modules/libpref/prefread.h 2016-11-10 10:32:48.796115692 +0100
-@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
- PrefValue val,
- PrefType type,
- bool defPref,
-- bool stickyPref);
-+ bool stickyPref,
-+ bool lockPref);
-
- /**
- * Report any errors or warnings we encounter during parsing.
-@@ -62,6 +63,7 @@ typedef struct PrefParseState {
- PrefType vtype; /* PREF_STRING,INT,BOOL */
- bool fdefault; /* true if (default) pref */
- bool fstickydefault; /* true if (sticky) pref */
-+ bool flock; /* true if pref to be locked */
- } PrefParseState;
-
- /**
-@@ -90,7 +92,7 @@ void PREF_InitParseState(PrefParseState
- *
- * @param ps
- * PrefParseState instance.
-- */
-+ */
- void PREF_FinalizeParseState(PrefParseState *ps);
-
- /**
diff --git a/firefox-51-mozilla-1324096.patch b/firefox-51-mozilla-1324096.patch
deleted file mode 100644
index 4a2691e..0000000
--- a/firefox-51-mozilla-1324096.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/security/certverifier/CertVerifier.cpp b/security/certverifier/CertVerifier.cpp
---- a/security/certverifier/CertVerifier.cpp
-+++ b/security/certverifier/CertVerifier.cpp
-@@ -120,16 +120,20 @@ IsCertChainRootBuiltInRoot(const UniqueC
- }
- CERTCertificate* root = rootNode->cert;
- if (!root) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
- }
- return IsCertBuiltInRoot(root, result);
- }
-
-+// The term "builtin root" traditionally refers to a root CA certificate that
-+// has been added to the NSS trust store, because it has been approved
-+// for inclusion according to the Mozilla CA policy, and might be accepted
-+// by Mozilla applications as an issuer for certificates seen on the public web.
- Result
- IsCertBuiltInRoot(CERTCertificate* cert, bool& result)
- {
- result = false;
- #ifdef DEBUG
- nsCOMPtr<nsINSSComponent> component(do_GetService(PSM_COMPONENT_CONTRACTID));
- if (!component) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
-@@ -142,25 +146,38 @@ IsCertBuiltInRoot(CERTCertificate* cert,
- return Success;
- }
- #endif // DEBUG
- AutoSECMODListReadLock lock;
- for (SECMODModuleList* list = SECMOD_GetDefaultModuleList(); list;
- list = list->next) {
- for (int i = 0; i < list->module->slotCount; i++) {
- PK11SlotInfo* slot = list->module->slots[i];
-- // PK11_HasRootCerts should return true if and only if the given slot has
-- // an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST, which
-- // should be true only of the builtin root list.
-- // If we can find a copy of the given certificate on the slot with the
-- // builtin root list, that certificate must be a builtin.
-- if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot) &&
-- PK11_FindCertInSlot(slot, cert, nullptr) != CK_INVALID_HANDLE) {
-- result = true;
-- return Success;
-+ // We're searching for the "builtin root module", which is a module that
-+ // contains an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST.
-+ // We use PK11_HasRootCerts() to identify a module with that property.
-+ // In the past, we exclusively used the PKCS#11 module named nssckbi,
-+ // which is provided by the NSS library.
-+ // Nowadays, some distributions use a replacement module, which contains
-+ // the builtin roots, but which also contains additional CA certificates,
-+ // such as CAs trusted in a local deployment.
-+ // We want to be able to distinguish between these two categories,
-+ // because a CA, which may issue certificates for the public web,
-+ // is expected to comply with additional requirements.
-+ // If the certificate has attribute CKA_NSS_MOZILLA_CA_POLICY set to true,
-+ // then we treat it as a "builtin root".
-+ if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot)) {
-+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(slot, cert, nullptr);
-+ if (handle != CK_INVALID_HANDLE &&
-+ PK11_HasAttributeSet(slot, handle, CKA_NSS_MOZILLA_CA_POLICY,
-+ false)) {
-+ // Attribute was found, and is set to true
-+ result = true;
-+ break;
-+ }
- }
- }
- }
- return Success;
- }
-
- static Result
- BuildCertChainForOneKeyUsage(NSSCertDBTrustDomain& trustDomain, Input certDER,
diff --git a/firefox-52-build-prbool.patch b/firefox-52-build-prbool.patch
deleted file mode 100644
index f271631..0000000
--- a/firefox-52-build-prbool.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -up firefox-52.0/dom/u2f/U2F.cpp.prbool firefox-52.0/dom/u2f/U2F.cpp
---- firefox-52.0/dom/u2f/U2F.cpp.prbool 2017-03-03 13:42:22.613691228 +0100
-+++ firefox-52.0/dom/u2f/U2F.cpp 2017-03-03 13:48:20.864647727 +0100
-@@ -4,6 +4,7 @@
- * 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/. */
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/dom/CallbackFunction.h"
- #include "mozilla/dom/ContentChild.h"
-diff -up firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool firefox-52.0/security/certverifier/CTLogVerifier.cpp
---- firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
-+++ firefox-52.0/security/certverifier/CTLogVerifier.cpp 2017-03-03 13:42:22.613691228 +0100
-@@ -7,6 +7,7 @@
- #include "CTLogVerifier.h"
-
- #include "CTSerialization.h"
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/ArrayUtils.h"
- #include "mozilla/Assertions.h"
-diff -up firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool firefox-52.0/security/certverifier/CTObjectsExtractor.cpp
---- firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
-+++ firefox-52.0/security/certverifier/CTObjectsExtractor.cpp 2017-03-03 13:42:22.613691228 +0100
-@@ -6,6 +6,7 @@
-
- #include "CTObjectsExtractor.h"
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/Assertions.h"
- #include "mozilla/Casting.h"
-diff -up firefox-52.0/security/certverifier/OCSPCache.h.prbool firefox-52.0/security/certverifier/OCSPCache.h
---- firefox-52.0/security/certverifier/OCSPCache.h.prbool 2017-02-27 17:11:06.000000000 +0100
-+++ firefox-52.0/security/certverifier/OCSPCache.h 2017-03-03 13:42:22.613691228 +0100
-@@ -25,6 +25,7 @@
- #ifndef mozilla_psm_OCSPCache_h
- #define mozilla_psm_OCSPCache_h
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/Mutex.h"
- #include "mozilla/Vector.h"
diff --git a/firefox-52-mozilla-revert-1148544.patch b/firefox-52-mozilla-revert-1148544.patch
deleted file mode 100644
index fd02549..0000000
--- a/firefox-52-mozilla-revert-1148544.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-diff -Nrbu mozilla/netwerk/base/nsILoadGroup.idl mozilla-OK/netwerk/base/nsILoadGroup.idl
---- mozilla/netwerk/base/nsILoadGroup.idl 2017-10-16 10:19:26.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsILoadGroup.idl 2017-10-21 01:54:08.905610277 +0300
-@@ -95,10 +95,4 @@
- * the docShell has created the default request.)
- */
- attribute nsLoadFlags defaultLoadFlags;
--
-- /**
-- * The cached user agent override created by UserAgentOverrides.jsm. Used
-- * for all sub-resource requests in the loadgroup.
-- */
-- attribute ACString userAgentOverrideCache;
- };
-diff -Nrbu mozilla/netwerk/base/nsLoadGroup.cpp mozilla-OK/netwerk/base/nsLoadGroup.cpp
---- mozilla/netwerk/base/nsLoadGroup.cpp 2017-10-16 10:19:28.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsLoadGroup.cpp 2017-10-21 01:54:08.905610277 +0300
-@@ -809,20 +809,6 @@
- return NS_OK;
- }
-
--NS_IMETHODIMP
--nsLoadGroup::GetUserAgentOverrideCache(nsACString & aUserAgentOverrideCache)
--{
-- aUserAgentOverrideCache = mUserAgentOverrideCache;
-- return NS_OK;
--}
--
--NS_IMETHODIMP
--nsLoadGroup::SetUserAgentOverrideCache(const nsACString & aUserAgentOverrideCache)
--{
-- mUserAgentOverrideCache = aUserAgentOverrideCache;
-- return NS_OK;
--}
--
-
- ////////////////////////////////////////////////////////////////////////////////
-
-diff -Nrbu mozilla/netwerk/base/nsLoadGroup.h mozilla-OK/netwerk/base/nsLoadGroup.h
---- mozilla/netwerk/base/nsLoadGroup.h 2017-10-16 10:19:26.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsLoadGroup.h 2017-10-21 01:54:08.905610277 +0300
-@@ -95,8 +95,6 @@
-
- /* For nsPILoadGroupInternal */
- uint32_t mTimedNonCachedRequestsUntilOnEndPageLoad;
--
-- nsCString mUserAgentOverrideCache;
- };
-
- } // namespace net
-diff -Nrbu mozilla/netwerk/protocol/http/UserAgentOverrides.jsm mozilla-OK/netwerk/protocol/http/UserAgentOverrides.jsm
---- mozilla/netwerk/protocol/http/UserAgentOverrides.jsm 2017-10-16 10:19:32.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/UserAgentOverrides.jsm 2017-10-21 01:54:08.906610227 +0300
-@@ -46,9 +46,9 @@
- Services.prefs.addObserver(PREF_OVERRIDES_ENABLED, buildOverrides, false);
-
- try {
-- Services.obs.addObserver(HTTP_on_useragent_request, "http-on-useragent-request", false);
-+ Services.obs.addObserver(HTTP_on_modify_request, "http-on-modify-request", false);
- } catch (x) {
-- // The http-on-useragent-request notification is disallowed in content processes.
-+ // The http-on-modify-request notification is disallowed in content processes.
- }
-
- UserAgentUpdates.init(function(overrides) {
-@@ -118,7 +118,7 @@
-
- Services.prefs.removeObserver(PREF_OVERRIDES_ENABLED, buildOverrides);
-
-- Services.obs.removeObserver(HTTP_on_useragent_request, "http-on-useragent-request");
-+ Services.obs.removeObserver(HTTP_on_modify_request, "http-on-modify-request");
- },
-
- receiveMessage: function(aMessage) {
-@@ -169,7 +169,7 @@
- }
- }
-
--function HTTP_on_useragent_request(aSubject, aTopic, aData) {
-+function HTTP_on_modify_request(aSubject, aTopic, aData) {
- let channel = aSubject.QueryInterface(Ci.nsIHttpChannel);
-
- for (let callback of gOverrideFunctions) {
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpChannel.cpp mozilla-OK/netwerk/protocol/http/nsHttpChannel.cpp
---- mozilla/netwerk/protocol/http/nsHttpChannel.cpp 2017-10-16 10:19:27.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpChannel.cpp 2017-10-21 01:58:52.158525720 +0300
-@@ -6031,8 +6031,6 @@
- // notify "http-on-modify-request" observers
- CallOnModifyRequestObservers();
-
-- SetLoadGroupUserAgentOverride();
--
- // Check if request was cancelled during on-modify-request or on-useragent.
- if (mCanceled) {
- return mStatus;
-@@ -8369,50 +8367,6 @@
- }
-
- void
--nsHttpChannel::SetLoadGroupUserAgentOverride()
--{
-- nsCOMPtr<nsIURI> uri;
-- GetURI(getter_AddRefs(uri));
-- nsAutoCString uriScheme;
-- if (uri) {
-- uri->GetScheme(uriScheme);
-- }
--
-- // We don't need a UA for file: protocols.
-- if (uriScheme.EqualsLiteral("file")) {
-- gHttpHandler->OnUserAgentRequest(this);
-- return;
-- }
--
-- nsIRequestContextService* rcsvc = gHttpHandler->GetRequestContextService();
-- nsCOMPtr<nsIRequestContext> rc;
-- if (rcsvc) {
-- rcsvc->GetRequestContext(mRequestContextID,
-- getter_AddRefs(rc));
-- }
--
-- nsAutoCString ua;
-- if (nsContentUtils::IsNonSubresourceRequest(this)) {
-- gHttpHandler->OnUserAgentRequest(this);
-- if (rc) {
-- GetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua);
-- rc->SetUserAgentOverride(ua);
-- }
-- } else {
-- GetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua);
-- // Don't overwrite the UA if it is already set (eg by an XHR with explicit UA).
-- if (ua.IsEmpty()) {
-- if (rc) {
-- rc->GetUserAgentOverride(ua);
-- SetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua, false);
-- } else {
-- gHttpHandler->OnUserAgentRequest(this);
-- }
-- }
-- }
--}
--
--void
- nsHttpChannel::SetDoNotTrack()
- {
- /**
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpChannel.h mozilla-OK/netwerk/protocol/http/nsHttpChannel.h
---- mozilla/netwerk/protocol/http/nsHttpChannel.h 2017-10-16 10:19:32.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpChannel.h 2017-10-21 01:54:08.908610126 +0300
-@@ -459,8 +459,6 @@
-
- void MaybeWarnAboutAppCache();
-
-- void SetLoadGroupUserAgentOverride();
--
- void SetDoNotTrack();
-
- private:
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpHandler.h mozilla-OK/netwerk/protocol/http/nsHttpHandler.h
---- mozilla/netwerk/protocol/http/nsHttpHandler.h 2017-10-16 10:19:30.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpHandler.h 2017-10-21 01:54:08.908610126 +0300
-@@ -280,12 +280,6 @@
- NotifyObservers(chan, NS_HTTP_ON_MODIFY_REQUEST_TOPIC);
- }
-
-- // Called by the channel and cached in the loadGroup
-- void OnUserAgentRequest(nsIHttpChannel *chan)
-- {
-- NotifyObservers(chan, NS_HTTP_ON_USERAGENT_REQUEST_TOPIC);
-- }
--
- // Called by the channel once headers are available
- void OnExamineResponse(nsIHttpChannel *chan)
- {
-diff -Nrbu mozilla/netwerk/protocol/http/nsIHttpProtocolHandler.idl mozilla-OK/netwerk/protocol/http/nsIHttpProtocolHandler.idl
---- mozilla/netwerk/protocol/http/nsIHttpProtocolHandler.idl 2017-10-16 10:19:28.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsIHttpProtocolHandler.idl 2017-10-21 01:54:08.908610126 +0300
-@@ -113,14 +113,5 @@
- */
- #define NS_HTTP_ON_EXAMINE_CACHED_RESPONSE_TOPIC "http-on-examine-cached-response"
-
--/**
-- * Before an HTTP request corresponding to a channel with the LOAD_DOCUMENT_URI
-- * flag is sent to the server, this observer topic is notified. The observer of
-- * this topic can then choose to modify the user agent for this request before
-- * the request is actually sent to the server. Additionally, the modified user
-- * agent will be propagated to sub-resource requests from the same load group.
-- */
--#define NS_HTTP_ON_USERAGENT_REQUEST_TOPIC "http-on-useragent-request"
--
-
- %}
diff --git a/firefox-56-build-prbool.patch b/firefox-56-build-prbool.patch
new file mode 100644
index 0000000..05e7503
--- /dev/null
+++ b/firefox-56-build-prbool.patch
@@ -0,0 +1,44 @@
+diff -Nrbu firefox-56/dom/u2f/U2F.cpp firefox-56-OK/dom/u2f/U2F.cpp
+--- firefox-56/dom/u2f/U2F.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/dom/u2f/U2F.cpp 2020-01-02 23:10:06.690248726 +0300
+@@ -4,6 +4,7 @@
+ * 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/. */
+
++#include "prtypes.h"
+ #include "mozilla/dom/U2F.h"
+ #include "mozilla/dom/WebCryptoCommon.h"
+ #include "nsContentUtils.h"
+diff -Nrbu firefox-56/security/certverifier/CTLogVerifier.cpp firefox-56-OK/security/certverifier/CTLogVerifier.cpp
+--- firefox-56/security/certverifier/CTLogVerifier.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/CTLogVerifier.cpp 2020-01-02 23:08:51.035792314 +0300
+@@ -9,6 +9,7 @@
+ #include <stdint.h>
+
+ #include "CTSerialization.h"
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/ArrayUtils.h"
+ #include "mozilla/Assertions.h"
+diff -Nrbu firefox-56/security/certverifier/CTObjectsExtractor.cpp firefox-56-OK/security/certverifier/CTObjectsExtractor.cpp
+--- firefox-56/security/certverifier/CTObjectsExtractor.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/CTObjectsExtractor.cpp 2020-01-02 23:08:51.036792307 +0300
+@@ -6,6 +6,7 @@
+
+ #include "CTObjectsExtractor.h"
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Assertions.h"
+ #include "mozilla/Casting.h"
+diff -Nrbu firefox-56/security/certverifier/OCSPCache.h firefox-56-OK/security/certverifier/OCSPCache.h
+--- firefox-56/security/certverifier/OCSPCache.h 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/OCSPCache.h 2020-01-02 23:08:51.036792307 +0300
+@@ -25,6 +25,7 @@
+ #ifndef mozilla_psm_OCSPCache_h
+ #define mozilla_psm_OCSPCache_h
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Mutex.h"
+ #include "mozilla/Vector.h"
diff --git a/firefox-56-mozilla-440908.patch b/firefox-56-mozilla-440908.patch
new file mode 100644
index 0000000..9163193
--- /dev/null
+++ b/firefox-56-mozilla-440908.patch
@@ -0,0 +1,111 @@
+diff -up firefox-50.0/modules/libpref/prefapi.cpp.440908 firefox-50.0/modules/libpref/prefapi.cpp
+--- firefox-50.0/modules/libpref/prefapi.cpp.440908 2016-10-31 21:15:26.000000000 +0100
++++ firefox-50.0/modules/libpref/prefapi.cpp 2016-11-10 10:32:48.796115692 +0100
+@@ -997,8 +997,8 @@ void PREF_ReaderCallback(void *clo
+ PrefValue value,
+ PrefType type,
+ bool isDefault,
+- bool isStickyDefault)
+-
++ bool isStickyDefault,
++ bool isLocked)
+ {
+ uint32_t flags = 0;
+ if (isDefault) {
+@@ -1010,4 +1010,6 @@ void PREF_ReaderCallback(void *clo
+ flags |= kPrefForceSet;
+ }
+ pref_HashPref(pref, value, type, flags);
++ if (isLocked)
++ PREF_LockPref(pref, true);
+ }
+diff -up firefox-50.0/modules/libpref/prefapi.h.440908 firefox-50.0/modules/libpref/prefapi.h
+--- firefox-50.0/modules/libpref/prefapi.h.440908 2016-11-10 10:32:48.796115692 +0100
++++ firefox-50.0/modules/libpref/prefapi.h 2016-11-10 10:34:58.013159112 +0100
+@@ -243,8 +243,8 @@ void PREF_ReaderCallback( void *closure,
+ PrefValue value,
+ PrefType type,
+ bool isDefault,
+- bool isStickyDefault);
+-
++ bool isStickyDefault,
++ bool isLocked);
+
+ /*
+ * Callback whenever we change a preference
+diff -up firefox-50.0/modules/libpref/prefread.cpp.440908 firefox-50.0/modules/libpref/prefread.cpp
+--- firefox-50.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
++++ firefox-50.0/modules/libpref/prefread.cpp 2016-11-10 10:32:48.796115692 +0100
+@@ -43,6 +43,7 @@ enum {
+ #define BITS_PER_HEX_DIGIT 4
+
+ static const char kUserPref[] = "user_pref";
++static const char kLockPref[] = "lockPref";
+ static const char kPref[] = "pref";
+ static const char kPrefSticky[] = "sticky_pref";
+ static const char kTrue[] = "true";
+@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
+ break;
+ }
+ (*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
+- ps->fstickydefault);
++ ps->fstickydefault, ps->flock);
+ return true;
+ }
+
+@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
+ ps->vtype = PrefType::Invalid;
+ ps->fdefault = false;
+ ps->fstickydefault = false;
++ ps->flock = false;
+ }
+ switch (c) {
+ case '/': /* begin comment block or line? */
+@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
+ break;
+ case 'u': /* indicating user_pref */
+ case 's': /* indicating sticky_pref */
++ case 'l': /* indicating lockPref */
+ case 'p': /* indicating pref */
+ if (c == 'u') {
+ ps->smatch = kUserPref;
+ } else if (c == 's') {
+ ps->smatch = kPrefSticky;
++ } else if (c == 'l') {
++ ps->smatch = kLockPref;
+ } else {
+ ps->smatch = kPref;
+ }
+@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
+ /* name parsing */
+ case PREF_PARSE_UNTIL_NAME:
+ if (c == '\"' || c == '\'') {
+- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
++ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
++ || ps->smatch == kLockPref);
+ ps->fstickydefault = (ps->smatch == kPrefSticky);
++ ps->flock = (ps->smatch == kLockPref);
+ ps->quotechar = c;
+ ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
+ state = PREF_PARSE_QUOTED_STRING;
+diff -up firefox-50.0/modules/libpref/prefread.h.440908 firefox-50.0/modules/libpref/prefread.h
+--- firefox-50.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
++++ firefox-50.0/modules/libpref/prefread.h 2016-11-10 10:32:48.796115692 +0100
+@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
+ PrefValue val,
+ PrefType type,
+ bool defPref,
+- bool stickyPref);
++ bool stickyPref,
++ bool lockPref);
+
+ /**
+ * Report any errors or warnings we encounter during parsing.
+@@ -62,6 +63,7 @@ typedef struct PrefParseState {
+ PrefType vtype; /* PREF_STRING,INT,BOOL */
+ bool fdefault; /* true if (default) pref */
+ bool fstickydefault; /* true if (sticky) pref */
++ bool flock; /* true if pref to be locked */
+ } PrefParseState;
+
+ /**
diff --git a/firefox-56-no_rust_lto.patch b/firefox-56-no_rust_lto.patch
new file mode 100644
index 0000000..3f62ce7
--- /dev/null
+++ b/firefox-56-no_rust_lto.patch
@@ -0,0 +1,11 @@
+--- mozilla/config/rules.mk.orig 2020-01-04 22:02:35.559712770 +0300
++++ mozilla/config/rules.mk 2020-01-04 22:02:41.261673487 +0300
+@@ -878,7 +878,7 @@
+ ifndef DEVELOPER_OPTIONS
+ ifndef MOZ_DEBUG_RUST
+ # Enable link-time optimization for release builds.
+-cargo_rustc_flags += -C lto
++#cargo_rustc_flags += -C lto
+ endif
+ endif
+
diff --git a/firefox-60-mozilla-1436242.patch b/firefox-60-mozilla-1436242.patch
new file mode 100644
index 0000000..570b7c5
--- /dev/null
+++ b/firefox-60-mozilla-1436242.patch
@@ -0,0 +1,56 @@
+
+# HG changeset patch
+# User Jed Davis <jld(a)mozilla.com>
+# Date 1526943705 21600
+# Node ID 6bb3adfa15c6877f7874429462dad88f8c978c4f
+# Parent 4c71c8454879c841871ecf3afb7dbdc96bad97fc
+Bug 1436242 - Avoid undefined behavior in IPC fd-passing code. r=froydnj
+
+MozReview-Commit-ID: 3szIPUssgF5
+
+diff --git a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+--- a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
++++ b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+@@ -418,20 +418,37 @@ bool Channel::ChannelImpl::ProcessIncomi
+ const int* fds;
+ unsigned num_fds;
+ unsigned fds_i = 0; // the index of the first unused descriptor
+
+ if (input_overflow_fds_.empty()) {
+ fds = wire_fds;
+ num_fds = num_wire_fds;
+ } else {
+- const size_t prev_size = input_overflow_fds_.size();
+- input_overflow_fds_.resize(prev_size + num_wire_fds);
+- memcpy(&input_overflow_fds_[prev_size], wire_fds,
+- num_wire_fds * sizeof(int));
++ // This code may look like a no-op in the case where
++ // num_wire_fds == 0, but in fact:
++ //
++ // 1. wire_fds will be nullptr, so passing it to memcpy is
++ // undefined behavior according to the C standard, even though
++ // the memcpy length is 0.
++ //
++ // 2. prev_size will be an out-of-bounds index for
++ // input_overflow_fds_; this is undefined behavior according to
++ // the C++ standard, even though the element only has its
++ // pointer taken and isn't accessed (and the corresponding
++ // operation on a C array would be defined).
++ //
++ // UBSan makes #1 a fatal error, and assertions in libstdc++ do
++ // the same for #2 if enabled.
++ if (num_wire_fds > 0) {
++ const size_t prev_size = input_overflow_fds_.size();
++ input_overflow_fds_.resize(prev_size + num_wire_fds);
++ memcpy(&input_overflow_fds_[prev_size], wire_fds,
++ num_wire_fds * sizeof(int));
++ }
+ fds = &input_overflow_fds_[0];
+ num_fds = input_overflow_fds_.size();
+ }
+
+ // The data for the message we're currently reading consists of any data
+ // stored in incoming_message_ followed by data in input_buf_ (followed by
+ // other messages).
+
+
diff --git a/firefox-60-mozilla-1516803.patch b/firefox-60-mozilla-1516803.patch
new file mode 100644
index 0000000..3e88737
--- /dev/null
+++ b/firefox-60-mozilla-1516803.patch
@@ -0,0 +1,11 @@
+--- mozilla/security/sandbox/linux/moz.build.orig 2019-12-29 20:38:43.000000000 +0300
++++ mozilla/security/sandbox/linux/moz.build 2020-01-13 22:07:08.152645892 +0300
+@@ -97,7 +97,7 @@
+ # from the function using it which breaks the build. Work around that by
+ # forcing there to be only one partition.
+ if '-flto' in CONFIG['OS_CXXFLAGS'] and CONFIG['CC_TYPE'] != 'clang':
+- LDFLAGS += ['--param lto-partitions=1']
++ LDFLAGS += ['--param', 'lto-partitions=1']
+
+ DEFINES['NS_NO_XPCOM'] = True
+ DisableStlWrapping()
diff --git a/nss-3.28-mozilla-1334976-1336487.patch b/nss-3.28-mozilla-1334976-1336487.patch
deleted file mode 100644
index fcf23cd..0000000
--- a/nss-3.28-mozilla-1334976-1336487.patch
+++ /dev/null
@@ -1,3304 +0,0 @@
-diff --git a/cmd/addbuiltin/addbuiltin.c b/cmd/addbuiltin/addbuiltin.c
---- a/cmd/addbuiltin/addbuiltin.c
-+++ b/cmd/addbuiltin/addbuiltin.c
-@@ -26,16 +26,39 @@ dumpbytes(unsigned char *buf, int len)
- if ((i != 0) && ((i & 0xf) == 0)) {
- printf("\n");
- }
- printf("\\%03o", buf[i]);
- }
- printf("\n");
- }
-
-+int
-+hasPositiveTrust(unsigned int trust)
-+{
-+ if (trust & CERTDB_TRUSTED) {
-+ if (trust & CERTDB_TRUSTED_CA) {
-+ return PR_TRUE;
-+ } else {
-+ return PR_FALSE;
-+ }
-+ } else {
-+ if (trust & CERTDB_TRUSTED_CA) {
-+ return PR_TRUE;
-+ } else if (trust & CERTDB_VALID_CA) {
-+ return PR_TRUE;
-+ } else if (trust & CERTDB_TERMINAL_RECORD) {
-+ return PR_FALSE;
-+ } else {
-+ return PR_FALSE;
-+ }
-+ }
-+ return PR_FALSE;
-+}
-+
- char *
- getTrustString(unsigned int trust)
- {
- if (trust & CERTDB_TRUSTED) {
- if (trust & CERTDB_TRUSTED_CA) {
- return "CKT_NSS_TRUSTED_DELEGATOR";
- } else {
- return "CKT_NSS_TRUSTED";
-@@ -197,16 +220,21 @@ ConvertCertificate(SECItem *sdder, char
- dumpbytes(cert->derIssuer.data, cert->derIssuer.len);
- printf("END\n");
- printf("CKA_SERIAL_NUMBER MULTILINE_OCTAL\n");
- dumpbytes(serial->data, serial->len);
- printf("END\n");
- printf("CKA_VALUE MULTILINE_OCTAL\n");
- dumpbytes(sdder->data, sdder->len);
- printf("END\n");
-+ if (hasPositiveTrust(trust->sslFlags) ||
-+ hasPositiveTrust(trust->emailFlags) ||
-+ hasPositiveTrust(trust->objectSigningFlags)) {
-+ printf("CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE\n");
-+ }
- }
-
- if ((trust->sslFlags | trust->emailFlags | trust->objectSigningFlags) ==
- CERTDB_TERMINAL_RECORD)
- trust_info = "Distrust";
- else
- trust_info = "Trust for";
-
-diff --git a/cmd/lib/secutil.c b/cmd/lib/secutil.c
---- a/cmd/lib/secutil.c
-+++ b/cmd/lib/secutil.c
-@@ -27,17 +27,17 @@
- #include <unistd.h>
- #endif
-
- /* for SEC_TraverseNames */
- #include "cert.h"
- #include "certt.h"
- #include "certdb.h"
-
--/* #include "secmod.h" */
-+#include "secmod.h"
- #include "pk11func.h"
- #include "secoid.h"
-
- static char consoleName[] = {
- #ifdef XP_UNIX
- "/dev/tty"
- #else
- #ifdef XP_OS2
-@@ -3224,25 +3224,58 @@ SECU_PrintSignedContent(FILE *out, SECIt
- SECStatus
- SEC_PrintCertificateAndTrust(CERTCertificate *cert,
- const char *label,
- CERTCertTrust *trust)
- {
- SECStatus rv;
- SECItem data;
- CERTCertTrust certTrust;
-+ PK11SlotList *slotList;
-+ PRBool falseAttributeFound = PR_FALSE;
-+ PRBool trueAttributeFound = PR_FALSE;
-+ const char *moz_policy_ca_info = NULL;
-
- data.data = cert->derCert.data;
- data.len = cert->derCert.len;
-
- rv = SECU_PrintSignedData(stdout, &data, label, 0,
- (SECU_PPFunc)SECU_PrintCertificate);
- if (rv) {
- return (SECFailure);
- }
-+
-+ slotList = PK11_GetAllSlotsForCert(cert, NULL);
-+ if (slotList) {
-+ PK11SlotListElement *se = PK11_GetFirstSafe(slotList);
-+ for (; se; se = PK11_GetNextSafe(slotList, se, PR_FALSE)) {
-+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(se->slot, cert, NULL);
-+ if (handle != CK_INVALID_HANDLE) {
-+ PORT_SetError(0);
-+ if (PK11_HasAttributeSet(se->slot, handle,
-+ CKA_NSS_MOZILLA_CA_POLICY, PR_FALSE)) {
-+ trueAttributeFound = PR_TRUE;
-+ } else if (!PORT_GetError()) {
-+ falseAttributeFound = PR_TRUE;
-+ }
-+ }
-+ }
-+ PK11_FreeSlotList(slotList);
-+ }
-+
-+ if (trueAttributeFound) {
-+ moz_policy_ca_info = "true (attribute present)";
-+ } else if (falseAttributeFound) {
-+ moz_policy_ca_info = "false (attribute present)";
-+ } else {
-+ moz_policy_ca_info = "false (attribute missing)";
-+ }
-+ SECU_Indent(stdout, 1);
-+ printf("Mozilla-CA-Policy: %s\n", moz_policy_ca_info);
-+
- if (trust) {
- SECU_PrintTrustFlags(stdout, trust,
- "Certificate Trust Flags", 1);
- } else if (CERT_GetCertTrust(cert, &certTrust) == SECSuccess) {
- SECU_PrintTrustFlags(stdout, &certTrust,
- "Certificate Trust Flags", 1);
- }
-
-diff --git a/lib/ckfw/builtins/certdata.txt b/lib/ckfw/builtins/certdata.txt
---- a/lib/ckfw/builtins/certdata.txt
-+++ b/lib/ckfw/builtins/certdata.txt
-@@ -186,16 +186,17 @@ CKA_VALUE MULTILINE_OCTAL
- \034\161\142\356\312\310\227\254\027\135\212\302\370\107\206\156
- \052\304\126\061\225\320\147\211\205\053\371\154\246\135\106\235
- \014\252\202\344\231\121\335\160\267\333\126\075\141\344\152\341
- \134\326\366\376\075\336\101\314\007\256\143\122\277\123\123\364
- \053\351\307\375\266\367\202\137\205\322\101\030\333\201\263\004
- \034\305\037\244\200\157\025\040\311\336\014\210\012\035\326\146
- \125\342\374\110\311\051\046\151\340
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA"
- # Issuer: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
- # Serial Number:04:00:00:00:00:01:15:4b:5a:c3:94
- # Subject: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
- # Not Valid Before: Tue Sep 01 12:00:00 1998
- # Not Valid After : Fri Jan 28 12:00:00 2028
- # Fingerprint (MD5): 3E:45:52:15:09:51:92:E1:B7:5D:37:9F:B1:87:29:8A
-@@ -319,16 +320,17 @@ CKA_VALUE MULTILINE_OCTAL
- \176\273\363\171\030\221\273\364\157\235\301\360\214\065\214\135
- \001\373\303\155\271\357\104\155\171\106\061\176\012\376\251\202
- \301\377\357\253\156\040\304\120\311\137\235\115\233\027\214\014
- \345\001\311\240\101\152\163\123\372\245\120\264\156\045\017\373
- \114\030\364\375\122\331\216\151\261\350\021\017\336\210\330\373
- \035\111\367\252\336\225\317\040\170\302\140\022\333\045\100\214
- \152\374\176\102\070\100\144\022\367\236\201\341\223\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA - R2"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
- # Serial Number:04:00:00:00:00:01:0f:86:26:e6:0d
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
- # Not Valid Before: Fri Dec 15 08:00:00 2006
- # Not Valid After : Wed Dec 15 08:00:00 2021
- # Fingerprint (MD5): 94:14:77:7E:3E:5E:FD:8F:30:BD:41:B0:CF:E7:D0:30
-@@ -474,16 +476,17 @@ CKA_VALUE MULTILINE_OCTAL
- \114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354
- \245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216
- \274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042
- \171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170
- \023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043
- \363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243
- \113\336\006\226\161\054\362\333\266\037\244\357\077\356
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:00:8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4
- # Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73
-@@ -638,16 +641,17 @@ CKA_VALUE MULTILINE_OCTAL
- \301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110
- \260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153
- \106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045
- \342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317
- \162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263
- \377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125
- \311\130\020\371\252\357\132\266\317\113\113\337\052
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a
- # Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6
-@@ -802,16 +806,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151
- \027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246
- \124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156
- \352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255
- \117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126
- \200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255
- \153\271\012\172\116\117\113\204\356\113\361\175\335\021
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:00:9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09
-@@ -1076,16 +1081,17 @@ CKA_VALUE MULTILINE_OCTAL
- \273\377\043\357\150\031\313\022\223\047\134\003\055\157\060\320
- \036\266\032\254\336\132\367\321\252\250\047\246\376\171\201\304
- \171\231\063\127\272\022\260\251\340\102\154\223\312\126\336\376
- \155\204\013\010\213\176\215\352\327\230\041\306\363\347\074\171
- \057\136\234\321\114\025\215\341\354\042\067\314\232\103\013\227
- \334\200\220\215\263\147\233\157\110\010\025\126\317\277\361\053
- \174\136\232\166\351\131\220\305\174\203\065\021\145\121
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust.net Premium 2048 Secure Server CA"
- # Issuer: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
- # Serial Number: 946069240 (0x3863def8)
- # Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
- # Not Valid Before: Fri Dec 24 17:50:51 1999
- # Not Valid After : Tue Jul 24 14:15:12 2029
- # Fingerprint (MD5): EE:29:31:BC:32:7E:9A:E6:E8:B5:F7:51:B4:34:71:90
-@@ -1213,16 +1219,17 @@ CKA_VALUE MULTILINE_OCTAL
- \056\310\244\236\116\010\024\113\155\375\160\155\153\032\143\275
- \144\346\037\267\316\360\362\237\056\273\033\267\362\120\210\163
- \222\302\342\343\026\215\232\062\002\253\216\030\335\351\020\021
- \356\176\065\253\220\257\076\060\224\172\320\063\075\247\145\017
- \365\374\216\236\142\317\107\104\054\001\135\273\035\265\062\322
- \107\322\070\056\320\376\201\334\062\152\036\265\356\074\325\374
- \347\201\035\031\303\044\102\352\143\071\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Baltimore CyberTrust Root"
- # Issuer: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
- # Serial Number: 33554617 (0x20000b9)
- # Subject: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
- # Not Valid Before: Fri May 12 18:46:00 2000
- # Not Valid After : Mon May 12 23:59:00 2025
- # Fingerprint (MD5): AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4
-@@ -1356,16 +1363,17 @@ CKA_VALUE MULTILINE_OCTAL
- \213\375\273\034\126\066\362\376\262\266\345\166\273\325\042\145
- \247\077\376\321\146\255\013\274\153\231\206\357\077\175\363\030
- \062\312\173\306\343\253\144\106\225\370\046\151\331\125\203\173
- \054\226\007\377\131\054\104\243\306\345\351\251\334\241\143\200
- \132\041\136\041\317\123\124\360\272\157\211\333\250\252\225\317
- \213\343\161\314\036\033\040\104\010\300\172\266\100\375\304\344
- \065\341\035\026\034\320\274\053\216\326\161\331
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Low-Value Services Root"
- # Issuer: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:38:31 2000
- # Not Valid After : Sat May 30 10:38:31 2020
- # Fingerprint (MD5): 1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC
-@@ -1504,16 +1512,17 @@ CKA_VALUE MULTILINE_OCTAL
- \335\217\212\303\366\366\214\032\102\005\121\324\105\365\237\247
- \142\041\150\025\040\103\074\231\347\174\275\044\330\251\221\027
- \163\210\077\126\033\061\070\030\264\161\017\232\315\310\016\236
- \216\056\033\341\214\230\203\313\037\061\361\104\114\306\004\163
- \111\166\140\017\307\370\275\027\200\153\056\351\314\114\016\132
- \232\171\017\040\012\056\325\236\143\046\036\125\222\224\330\202
- \027\132\173\320\274\307\217\116\206\004
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust External Root"
- # Issuer: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:48:38 2000
- # Not Valid After : Sat May 30 10:48:38 2020
- # Fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F
-@@ -1649,16 +1658,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\032\214\307\355\234\116\232\340\022\273\265\152\114\204\341
- \341\042\015\207\000\144\376\214\175\142\071\145\246\357\102\266
- \200\045\022\141\001\250\044\023\160\000\021\046\137\372\065\120
- \305\110\314\006\107\350\047\330\160\215\137\144\346\241\104\046
- \136\042\354\222\315\377\102\232\104\041\155\134\305\343\042\035
- \137\107\022\347\316\137\135\372\330\252\261\063\055\331\166\362
- \116\072\063\014\053\263\055\220\006
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Public Services Root"
- # Issuer: CN=AddTrust Public CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Public CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:41:50 2000
- # Not Valid After : Sat May 30 10:41:50 2020
- # Fingerprint (MD5): C1:62:3E:23:C5:82:73:9C:03:59:4B:2B:E9:77:49:7F
-@@ -1794,16 +1804,17 @@ CKA_VALUE MULTILINE_OCTAL
- \077\240\261\007\326\351\117\334\336\105\161\060\062\177\033\056
- \011\371\277\122\241\356\302\200\076\006\134\056\125\100\301\033
- \365\160\105\260\334\135\372\366\162\132\167\322\143\315\317\130
- \211\000\102\143\077\171\071\320\104\260\202\156\101\031\350\335
- \340\301\210\132\321\036\161\223\037\044\060\164\345\036\250\336
- \074\047\067\177\203\256\236\167\317\360\060\261\377\113\231\350
- \306\241
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Qualified Certificates Root"
- # Issuer: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:44:50 2000
- # Not Valid After : Sat May 30 10:44:50 2020
- # Fingerprint (MD5): 27:EC:39:47:CD:DA:5A:AF:E2:9A:01:65:21:A9:4C:BB
-@@ -1956,16 +1967,17 @@ CKA_VALUE MULTILINE_OCTAL
- \175\352\261\355\060\045\301\204\332\064\322\133\170\203\126\354
- \234\066\303\046\342\021\366\147\111\035\222\253\214\373\353\377
- \172\356\205\112\247\120\200\360\247\134\112\224\056\137\005\231
- \074\122\101\340\315\264\143\317\001\103\272\234\203\334\217\140
- \073\363\132\264\264\173\256\332\013\220\070\165\357\201\035\146
- \322\367\127\160\066\263\277\374\050\257\161\045\205\133\023\376
- \036\177\132\264\074
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Entrust Root Certification Authority"
- # Issuer: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
- # Serial Number: 1164660820 (0x456b5054)
- # Subject: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
- # Not Valid Before: Mon Nov 27 20:23:42 2006
- # Not Valid After : Fri Nov 27 20:53:42 2026
- # Fingerprint (MD5): D6:A5:C3:ED:5D:DD:3E:00:C1:3D:87:92:1F:1D:3F:E4
-@@ -2089,16 +2101,17 @@ CKA_VALUE MULTILINE_OCTAL
- \270\234\344\035\266\253\346\224\245\301\307\203\255\333\365\047
- \207\016\004\154\325\377\335\240\135\355\207\122\267\053\025\002
- \256\071\246\152\164\351\332\304\347\274\115\064\036\251\134\115
- \063\137\222\011\057\210\146\135\167\227\307\035\166\023\251\325
- \345\361\026\011\021\065\325\254\333\044\161\160\054\230\126\013
- \331\027\264\321\343\121\053\136\165\350\325\320\334\117\064\355
- \302\005\146\200\241\313\346\063
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Global CA"
- # Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
- # Serial Number: 144470 (0x23456)
- # Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
- # Not Valid Before: Tue May 21 04:00:00 2002
- # Not Valid After : Sat May 21 04:00:00 2022
- # Fingerprint (MD5): F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5
-@@ -2216,16 +2229,17 @@ CKA_VALUE MULTILINE_OCTAL
- \151\266\362\377\341\032\320\014\321\166\205\313\212\045\275\227
- \136\054\157\025\231\046\347\266\051\377\042\354\311\002\307\126
- \000\315\111\271\263\154\173\123\004\032\342\250\311\252\022\005
- \043\302\316\347\273\004\002\314\300\107\242\344\304\051\057\133
- \105\127\211\121\356\074\353\122\010\377\007\065\036\237\065\152
- \107\112\126\230\321\132\205\037\214\365\042\277\253\316\203\363
- \342\042\051\256\175\203\100\250\272\154
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Global CA 2"
- # Issuer: CN=GeoTrust Global CA 2,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Global CA 2,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Mon Mar 04 05:00:00 2019
- # Fingerprint (MD5): 0E:40:A7:6C:DE:03:5D:8F:D1:0F:E4:D1:8D:F9:6C:A9
-@@ -2375,16 +2389,17 @@ CKA_VALUE MULTILINE_OCTAL
- \121\173\327\251\234\006\241\066\335\325\211\224\274\331\344\055
- \014\136\011\154\010\227\174\243\075\174\223\377\077\241\024\247
- \317\265\135\353\333\333\034\304\166\337\210\271\275\105\005\225
- \033\256\374\106\152\114\257\110\343\316\256\017\322\176\353\346
- \154\234\117\201\152\172\144\254\273\076\325\347\313\166\056\305
- \247\110\301\134\220\017\313\310\077\372\346\062\341\215\033\157
- \244\346\216\330\371\051\110\212\316\163\376\054
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Universal CA"
- # Issuer: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Sun Mar 04 05:00:00 2029
- # Fingerprint (MD5): 92:65:58:8B:A2:1A:31:72:73:68:5C:B4:A5:7A:07:48
-@@ -2534,16 +2549,17 @@ CKA_VALUE MULTILINE_OCTAL
- \227\124\167\332\075\022\267\340\036\357\010\006\254\371\205\207
- \351\242\334\257\176\030\022\203\375\126\027\101\056\325\051\202
- \175\231\364\061\366\161\251\317\054\001\047\245\005\271\252\262
- \110\116\052\357\237\223\122\121\225\074\122\163\216\126\114\027
- \100\300\011\050\344\213\152\110\123\333\354\315\125\125\361\306
- \370\351\242\054\114\246\321\046\137\176\257\132\114\332\037\246
- \362\034\054\176\256\002\026\322\126\320\057\127\123\107\350\222
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Universal CA 2"
- # Issuer: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Sun Mar 04 05:00:00 2029
- # Fingerprint (MD5): 34:FC:B8:D0:36:DB:9E:14:B3:C2:F2:DB:8F:E4:94:C7
-@@ -2670,16 +2686,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\074\154\151\227\333\256\137\071\232\160\057\005\074\031\106
- \004\231\040\066\320\140\156\141\006\273\026\102\214\160\367\060
- \373\340\333\146\243\000\001\275\346\054\332\221\137\240\106\213
- \115\152\234\075\075\335\005\106\376\166\277\240\012\074\344\000
- \346\047\267\377\204\055\336\272\042\047\226\020\161\353\042\355
- \337\337\063\234\317\343\255\256\216\324\216\346\117\121\257\026
- \222\340\134\366\007\017
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Visa eCommerce Root"
- # Issuer: CN=Visa eCommerce Root,OU=Visa International Service Association,O=VISA,C=US
- # Serial Number:13:86:35:4d:1d:3f:06:f2:c1:f9:65:05:d5:90:1c:62
- # Subject: CN=Visa eCommerce Root,OU=Visa International Service Association,O=VISA,C=US
- # Not Valid Before: Wed Jun 26 02:18:36 2002
- # Not Valid After : Fri Jun 24 00:16:12 2022
- # Fingerprint (MD5): FC:11:B8:D8:08:93:30:00:6D:23:F9:7E:EB:52:1E:02
-@@ -2792,16 +2809,17 @@ CKA_VALUE MULTILINE_OCTAL
- \012\072\223\023\233\073\024\043\023\143\234\077\321\207\047\171
- \345\114\121\343\001\255\205\135\032\073\261\325\163\020\244\323
- \362\274\156\144\365\132\126\220\250\307\016\114\164\017\056\161
- \073\367\310\107\364\151\157\025\362\021\136\203\036\234\174\122
- \256\375\002\332\022\250\131\147\030\333\274\160\335\233\261\151
- \355\200\316\211\100\110\152\016\065\312\051\146\025\041\224\054
- \350\140\052\233\205\112\100\363\153\212\044\354\006\026\054\163
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certum Root CA"
- # Issuer: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL
- # Serial Number: 65568 (0x10020)
- # Subject: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL
- # Not Valid Before: Tue Jun 11 10:46:39 2002
- # Not Valid After : Fri Jun 11 10:46:39 2027
- # Fingerprint (MD5): 2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9
-@@ -2937,16 +2955,17 @@ CKA_VALUE MULTILINE_OCTAL
- \154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
- \372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
- \227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
- \156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
- \343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
- \262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
- \225\351\066\226\230\156
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo AAA Services root"
- # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): 49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0
-@@ -3087,16 +3106,17 @@ CKA_VALUE MULTILINE_OCTAL
- \223\367\252\023\313\322\023\342\267\056\073\315\153\120\027\011
- \150\076\265\046\127\356\266\340\266\335\271\051\200\171\175\217
- \243\360\244\050\244\025\304\205\364\047\324\153\277\345\134\344
- \145\002\166\124\264\343\067\146\044\323\031\141\310\122\020\345
- \213\067\232\271\251\371\035\277\352\231\222\141\226\377\001\315
- \241\137\015\274\161\274\016\254\013\035\107\105\035\301\354\174
- \354\375\051
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo Secure Services root"
- # Issuer: CN=Secure Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=Secure Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): D3:D9:BD:AE:9F:AC:67:24:B3:C8:1B:52:E1:B9:A9:BD
-@@ -3239,16 +3259,17 @@ CKA_VALUE MULTILINE_OCTAL
- \201\170\057\050\300\176\323\314\102\012\365\256\120\240\321\076
- \306\241\161\354\077\240\040\214\146\072\211\264\216\324\330\261
- \115\045\107\356\057\210\310\265\341\005\105\300\276\024\161\336
- \172\375\216\173\175\115\010\226\245\022\163\360\055\312\067\047
- \164\022\047\114\313\266\227\351\331\256\010\155\132\071\100\335
- \005\107\165\152\132\041\263\243\030\317\116\367\056\127\267\230
- \160\136\310\304\170\260\142
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo Trusted Services root"
- # Issuer: CN=Trusted Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=Trusted Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): 91:1B:3F:6E:CD:9E:AB:EE:07:FE:1F:71:D2:B3:61:27
-@@ -3417,16 +3438,17 @@ CKA_VALUE MULTILINE_OCTAL
- \231\003\072\212\314\124\045\071\061\201\173\023\042\121\272\106
- \154\241\273\236\372\004\154\111\046\164\217\322\163\353\314\060
- \242\346\352\131\042\207\370\227\365\016\375\352\314\222\244\026
- \304\122\030\352\041\316\261\361\346\204\201\345\272\251\206\050
- \362\103\132\135\022\235\254\036\331\250\345\012\152\247\177\240
- \207\051\317\362\211\115\324\354\305\342\346\172\320\066\043\212
- \112\164\066\371
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA"
- # Issuer: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM
- # Serial Number: 985026699 (0x3ab6508b)
- # Subject: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM
- # Not Valid Before: Mon Mar 19 18:33:33 2001
- # Not Valid After : Wed Mar 17 18:33:33 2021
- # Fingerprint (MD5): 27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24
-@@ -3585,16 +3607,17 @@ CKA_VALUE MULTILINE_OCTAL
- \226\136\234\307\357\047\142\010\342\221\031\134\322\361\041\335
- \272\027\102\202\227\161\201\123\061\251\237\366\175\142\277\162
- \341\243\223\035\314\212\046\132\011\070\320\316\327\015\200\026
- \264\170\245\072\207\114\215\212\245\325\106\227\362\054\020\271
- \274\124\042\300\001\120\151\103\236\364\262\357\155\370\354\332
- \361\343\261\357\337\221\217\124\052\013\045\301\046\031\304\122
- \020\005\145\325\202\020\352\302\061\315\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA 2"
- # Issuer: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
- # Serial Number: 1289 (0x509)
- # Subject: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
- # Not Valid Before: Fri Nov 24 18:27:00 2006
- # Not Valid After : Mon Nov 24 18:23:33 2031
- # Fingerprint (MD5): 5E:39:7B:DD:F8:BA:EC:82:E9:AC:62:BA:0C:54:00:2B
-@@ -3764,16 +3787,17 @@ CKA_VALUE MULTILINE_OCTAL
- \340\164\053\262\353\175\276\101\033\265\300\106\305\241\042\313
- \137\116\301\050\222\336\030\272\325\052\050\273\021\213\027\223
- \230\231\140\224\134\043\317\132\047\227\136\013\005\006\223\067
- \036\073\151\066\353\251\236\141\035\217\062\332\216\014\326\164
- \076\173\011\044\332\001\167\107\304\073\315\064\214\231\365\312
- \341\045\141\063\262\131\033\342\156\327\067\127\266\015\251\022
- \332
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA 3"
- # Issuer: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM
- # Serial Number: 1478 (0x5c6)
- # Subject: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Fri Nov 24 19:11:23 2006
- # Not Valid After : Mon Nov 24 19:06:44 2031
- # Fingerprint (MD5): 31:85:3C:62:94:97:63:B9:AA:FD:89:4E:AF:6F:E0:CF
-@@ -3892,16 +3916,17 @@ CKA_VALUE MULTILINE_OCTAL
- \161\245\062\252\057\306\211\166\103\100\023\023\147\075\242\124
- \045\020\313\361\072\362\331\372\333\111\126\273\246\376\247\101
- \065\303\340\210\141\311\210\307\337\066\020\042\230\131\352\260
- \112\373\126\026\163\156\254\115\367\042\241\117\255\035\172\055
- \105\047\345\060\301\136\362\332\023\313\045\102\121\225\107\003
- \214\154\041\314\164\102\355\123\377\063\213\217\017\127\001\026
- \057\317\246\356\311\160\042\024\275\375\276\154\013\003
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication Root CA"
- # Issuer: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP
- # Not Valid Before: Tue Sep 30 04:20:49 2003
- # Not Valid After : Sat Sep 30 04:20:49 2023
- # Fingerprint (MD5): F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A
-@@ -4014,16 +4039,17 @@ CKA_VALUE MULTILINE_OCTAL
- \066\276\246\133\015\152\154\232\037\221\173\371\371\357\102\272
- \116\116\236\314\014\215\224\334\331\105\234\136\354\102\120\143
- \256\364\135\304\261\022\334\312\073\250\056\235\024\132\005\165
- \267\354\327\143\342\272\065\266\004\010\221\350\332\235\234\366
- \146\265\030\254\012\246\124\046\064\063\322\033\301\324\177\032
- \072\216\013\252\062\156\333\374\117\045\237\331\062\307\226\132
- \160\254\337\114
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Sonera Class 2 Root CA"
- # Issuer: CN=Sonera Class2 CA,O=Sonera,C=FI
- # Serial Number: 29 (0x1d)
- # Subject: CN=Sonera Class2 CA,O=Sonera,C=FI
- # Not Valid Before: Fri Apr 06 07:29:40 2001
- # Not Valid After : Tue Apr 06 07:29:40 2021
- # Fingerprint (MD5): A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB
-@@ -4175,16 +4201,17 @@ CKA_VALUE MULTILINE_OCTAL
- \211\272\061\035\305\020\150\122\236\337\242\205\305\134\010\246
- \170\346\123\117\261\350\267\323\024\236\223\246\303\144\343\254
- \176\161\315\274\237\351\003\033\314\373\351\254\061\301\257\174
- \025\164\002\231\303\262\107\246\302\062\141\327\307\157\110\044
- \121\047\241\325\207\125\362\173\217\230\075\026\236\356\165\266
- \370\320\216\362\363\306\256\050\133\247\360\363\066\027\374\303
- \005\323\312\003\112\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Email Root CA"
- # Issuer: CN=UTN-USERFirst-Client Authentication and Email,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:25:25:67:c9:89
- # Subject: CN=UTN-USERFirst-Client Authentication and Email,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 17:28:50 1999
- # Not Valid After : Tue Jul 09 17:36:58 2019
- # Fingerprint (MD5): D7:34:3D:EF:1D:27:09:28:E1:31:02:5B:13:2B:DD:F7
-@@ -4338,16 +4365,17 @@ CKA_VALUE MULTILINE_OCTAL
- \370\323\157\133\036\226\343\340\164\167\164\173\212\242\156\055
- \335\166\326\071\060\202\360\253\234\122\362\052\307\257\111\136
- \176\307\150\345\202\201\310\152\047\371\047\210\052\325\130\120
- \225\037\360\073\034\127\273\175\024\071\142\053\232\311\224\222
- \052\243\042\014\377\211\046\175\137\043\053\107\327\025\035\251
- \152\236\121\015\052\121\236\201\371\324\073\136\160\022\177\020
- \062\234\036\273\235\370\146\250
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Hardware Root CA"
- # Issuer: CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:2a:fe:65:0a:fd
- # Subject: CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 18:10:42 1999
- # Not Valid After : Tue Jul 09 18:19:22 2019
- # Fingerprint (MD5): 4C:56:41:E5:0D:BB:2B:E8:CA:A3:ED:18:08:AD:43:39
-@@ -4498,16 +4526,17 @@ CKA_VALUE MULTILINE_OCTAL
- \261\104\252\152\317\027\172\317\157\017\324\370\044\125\137\360
- \064\026\111\146\076\120\106\311\143\161\070\061\142\270\142\271
- \363\123\255\154\265\053\242\022\252\031\117\011\332\136\347\223
- \306\216\024\010\376\360\060\200\030\240\206\205\115\310\175\327
- \213\003\376\156\325\367\235\026\254\222\054\240\043\345\234\221
- \122\037\224\337\027\224\163\303\263\301\301\161\005\040\000\170
- \275\023\122\035\250\076\315\000\037\310
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Object Root CA"
- # Issuer: CN=UTN-USERFirst-Object,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:2d:e0:b3:5f:1b
- # Subject: CN=UTN-USERFirst-Object,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 18:31:20 1999
- # Not Valid After : Tue Jul 09 18:40:36 2019
- # Fingerprint (MD5): A7:F2:E4:16:06:41:11:50:30:6B:9C:E3:B4:9C:B0:C9
-@@ -4661,16 +4690,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\351\007\106\101\316\357\101\201\256\130\337\203\242\256\312
- \327\167\037\347\000\074\235\157\216\344\062\011\035\115\170\064
- \170\064\074\224\233\046\355\117\161\306\031\172\275\040\042\110
- \132\376\113\175\003\267\347\130\276\306\062\116\164\036\150\335
- \250\150\133\263\076\356\142\175\331\200\350\012\165\172\267\356
- \264\145\232\041\220\340\252\320\230\274\070\265\163\074\213\370
- \334
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Camerfirma Chambers of Commerce Root"
- # Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Serial Number: 0 (0x0)
- # Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Not Valid Before: Tue Sep 30 16:13:43 2003
- # Not Valid After : Wed Sep 30 16:13:44 2037
- # Fingerprint (MD5): B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84
-@@ -4820,16 +4850,17 @@ CKA_VALUE MULTILINE_OCTAL
- \222\025\323\137\076\306\000\111\072\156\130\262\321\321\047\015
- \045\310\062\370\040\021\315\175\062\063\110\224\124\114\335\334
- \171\304\060\237\353\216\270\125\265\327\210\134\305\152\044\075
- \262\323\005\003\121\306\007\357\314\024\162\164\075\156\162\316
- \030\050\214\112\240\167\345\011\053\105\104\107\254\267\147\177
- \001\212\005\132\223\276\241\301\377\370\347\016\147\244\107\111
- \166\135\165\220\032\365\046\217\360
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Camerfirma Global Chambersign Root"
- # Issuer: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Serial Number: 0 (0x0)
- # Subject: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Not Valid Before: Tue Sep 30 16:14:18 2003
- # Not Valid After : Wed Sep 30 16:14:18 2037
- # Fingerprint (MD5): C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19
-@@ -4972,16 +5003,17 @@ CKA_VALUE MULTILINE_OCTAL
- \212\144\101\061\270\016\154\220\044\244\233\134\161\217\272\273
- \176\034\033\333\152\200\017\041\274\351\333\246\267\100\364\262
- \213\251\261\344\357\232\032\320\075\151\231\356\250\050\243\341
- \074\263\360\262\021\234\317\174\100\346\335\347\103\175\242\330
- \072\265\251\215\362\064\231\304\324\020\341\006\375\011\204\020
- \073\356\304\114\364\354\047\174\102\302\164\174\202\212\011\311
- \264\003\045\274
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "XRamp Global CA Root"
- # Issuer: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
- # Serial Number:50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad
- # Subject: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
- # Not Valid Before: Mon Nov 01 17:14:04 2004
- # Not Valid After : Mon Jan 01 05:37:19 2035
- # Fingerprint (MD5): A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1
-@@ -5118,16 +5150,17 @@ CKA_VALUE MULTILINE_OCTAL
- \216\222\204\162\071\353\040\352\203\355\203\315\227\156\010\274
- \353\116\046\266\163\053\344\323\366\114\376\046\161\342\141\021
- \164\112\377\127\032\207\017\165\110\056\317\121\151\027\240\002
- \022\141\225\325\321\100\262\020\114\356\304\254\020\103\246\245
- \236\012\325\225\142\232\015\317\210\202\305\062\014\344\053\237
- \105\346\015\237\050\234\261\271\052\132\127\255\067\017\257\035
- \177\333\275\237
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Go Daddy Class 2 CA"
- # Issuer: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US
- # Serial Number: 0 (0x0)
- # Subject: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US
- # Not Valid Before: Tue Jun 29 17:06:20 2004
- # Not Valid After : Thu Jun 29 17:06:20 2034
- # Fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67
-@@ -5262,16 +5295,17 @@ CKA_VALUE MULTILINE_OCTAL
- \055\225\276\365\161\220\103\314\215\037\232\000\012\207\051\351
- \125\042\130\000\043\352\343\022\103\051\133\107\010\335\214\101
- \152\145\006\250\345\041\252\101\264\225\041\225\271\175\321\064
- \253\023\326\255\274\334\342\075\071\315\275\076\165\160\241\030
- \131\003\311\042\264\217\234\325\136\052\327\245\266\324\012\155
- \370\267\100\021\106\232\037\171\016\142\277\017\227\354\340\057
- \037\027\224
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Class 2 CA"
- # Issuer: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US
- # Serial Number: 0 (0x0)
- # Subject: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US
- # Not Valid Before: Tue Jun 29 17:39:16 2004
- # Not Valid After : Thu Jun 29 17:39:16 2034
- # Fingerprint (MD5): 32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24
-@@ -5467,16 +5501,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\340\167\055\341\145\231\162\151\004\032\107\011\346\017\001
- \126\044\373\037\277\016\171\251\130\056\271\304\011\001\176\225
- \272\155\000\006\076\262\352\112\020\071\330\320\053\365\277\354
- \165\277\227\002\305\011\033\010\334\125\067\342\201\373\067\204
- \103\142\040\312\347\126\113\145\352\376\154\301\044\223\044\241
- \064\353\005\377\232\042\256\233\175\077\361\145\121\012\246\060
- \152\263\364\210\034\200\015\374\162\212\350\203\136
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "StartCom Certification Authority"
- # Issuer: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Serial Number: 1 (0x1)
- # Subject: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Not Valid Before: Sun Sep 17 19:46:36 2006
- # Not Valid After : Wed Sep 17 19:46:36 2036
- # Fingerprint (MD5): 22:4D:8F:8A:FC:F7:35:C2:BB:57:34:90:7B:8B:22:16
-@@ -5631,16 +5666,17 @@ CKA_VALUE MULTILINE_OCTAL
- \262\304\060\231\043\116\135\362\110\241\022\014\334\022\220\011
- \220\124\221\003\074\107\345\325\311\145\340\267\113\175\354\107
- \323\263\013\076\255\236\320\164\000\016\353\275\121\255\300\336
- \054\300\303\152\376\357\334\013\247\372\106\337\140\333\234\246
- \131\120\165\043\151\163\223\262\371\374\002\323\107\346\161\316
- \020\002\356\047\214\204\377\254\105\015\023\134\203\062\340\045
- \245\206\054\174\364\022
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Taiwan GRCA"
- # Issuer: O=Government Root Certification Authority,C=TW
- # Serial Number:1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6
- # Subject: O=Government Root Certification Authority,C=TW
- # Not Valid Before: Thu Dec 05 13:23:33 2002
- # Not Valid After : Sun Dec 05 13:23:33 2032
- # Fingerprint (MD5): 37:85:44:53:32:45:1F:20:F0:F3:95:E1:25:C4:43:4E
-@@ -5803,16 +5839,17 @@ CKA_VALUE MULTILINE_OCTAL
- \204\126\141\276\161\027\376\035\023\017\376\306\207\105\351\376
- \062\240\032\015\023\244\224\125\161\245\026\213\272\312\211\260
- \262\307\374\217\330\124\265\223\142\235\316\317\131\373\075\030
- \316\052\313\065\025\202\135\377\124\042\133\161\122\373\267\311
- \376\140\233\000\101\144\360\252\052\354\266\102\103\316\211\146
- \201\310\213\237\071\124\003\045\323\026\065\216\204\320\137\372
- \060\032\365\232\154\364\016\123\371\072\133\321\034
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Swisscom Root CA 1"
- # Issuer: CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:5c:0b:85:5c:0b:e7:59:41:df:57:cc:3f:7f:9d:a8:36
- # Subject: CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Thu Aug 18 12:06:20 2005
- # Not Valid After : Mon Aug 18 22:06:20 2025
- # Fingerprint (MD5): F8:38:7C:77:88:DF:2C:16:68:2E:C2:E2:52:4B:B8:F9
-@@ -5943,16 +5980,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\267\372\214\036\335\142\361\276\120\147\267\154\275\363\361
- \037\153\014\066\007\026\177\067\174\251\133\155\172\361\022\106
- \140\203\327\047\004\276\113\316\227\276\303\147\052\150\021\337
- \200\347\014\063\146\277\023\015\024\156\363\177\037\143\020\036
- \372\215\033\045\155\154\217\245\267\141\001\261\322\243\046\241
- \020\161\235\255\342\303\371\303\231\121\267\053\007\010\316\056
- \346\120\262\247\372\012\105\057\242\360\362
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert Assured ID Root CA"
- # Issuer: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39
- # Subject: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): 87:CE:0B:7B:2A:0E:49:00:E1:58:71:9B:37:A8:93:72
-@@ -6083,16 +6121,17 @@ CKA_VALUE MULTILINE_OCTAL
- \076\052\271\066\123\317\072\120\006\367\056\350\304\127\111\154
- \141\041\030\325\004\255\170\074\054\072\200\153\247\353\257\025
- \024\351\330\211\301\271\070\154\342\221\154\212\377\144\271\167
- \045\127\060\300\033\044\243\341\334\351\337\107\174\265\264\044
- \010\005\060\354\055\275\013\277\105\277\120\271\251\363\353\230
- \001\022\255\310\210\306\230\064\137\215\012\074\306\351\325\225
- \225\155\336
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert Global Root CA"
- # Issuer: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a
- # Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): 79:E4:A9:84:0D:7D:3A:96:D7:C0:4F:E2:43:4C:89:2E
-@@ -6224,16 +6263,17 @@ CKA_VALUE MULTILINE_OCTAL
- \143\070\275\104\244\177\344\046\053\012\304\227\151\015\351\214
- \342\300\020\127\270\310\166\022\221\125\362\110\151\330\274\052
- \002\133\017\104\324\040\061\333\364\272\160\046\135\220\140\236
- \274\113\027\011\057\264\313\036\103\150\311\007\047\301\322\134
- \367\352\041\271\150\022\234\074\234\277\236\374\200\134\233\143
- \315\354\107\252\045\047\147\240\067\363\000\202\175\124\327\251
- \370\351\056\023\243\167\350\037\112
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert High Assurance EV Root CA"
- # Issuer: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77
- # Subject: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): D4:74:DE:57:5C:39:B2:D3:9C:85:83:C5:C0:65:49:8A
-@@ -6356,16 +6396,17 @@ CKA_VALUE MULTILINE_OCTAL
- \311\273\211\176\156\200\210\036\057\024\264\003\044\250\062\157
- \003\232\107\054\060\276\126\306\247\102\002\160\033\352\100\330
- \272\005\003\160\007\244\226\377\375\110\063\012\341\334\245\201
- \220\233\115\335\175\347\347\262\315\134\310\152\225\370\245\366
- \215\304\135\170\010\276\173\006\326\111\317\031\066\120\043\056
- \010\346\236\005\115\107\030\325\026\351\261\326\266\020\325\273
- \227\277\242\216\264\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certplus Class 2 Primary CA"
- # Issuer: CN=Class 2 Primary CA,O=Certplus,C=FR
- # Serial Number:00:85:bd:4b:f3:d8:da:e3:69:f6:94:d7:5f:c3:a5:44:23
- # Subject: CN=Class 2 Primary CA,O=Certplus,C=FR
- # Not Valid Before: Wed Jul 07 17:05:00 1999
- # Not Valid After : Sat Jul 06 23:59:59 2019
- # Fingerprint (MD5): 88:2C:8C:52:B8:A2:3C:F3:F7:BB:03:EA:AE:AC:42:0B
-@@ -6482,16 +6523,17 @@ CKA_VALUE MULTILINE_OCTAL
- \162\062\207\306\360\104\273\123\162\155\103\365\046\110\232\122
- \147\267\130\253\376\147\166\161\170\333\015\242\126\024\023\071
- \044\061\205\242\250\002\132\060\107\341\335\120\007\274\002\011
- \220\000\353\144\143\140\233\026\274\210\311\022\346\322\175\221
- \213\371\075\062\215\145\264\351\174\261\127\166\352\305\266\050
- \071\277\025\145\034\310\366\167\226\152\012\215\167\013\330\221
- \013\004\216\007\333\051\266\012\356\235\202\065\065\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DST Root CA X3"
- # Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co.
- # Serial Number:44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b
- # Subject: CN=DST Root CA X3,O=Digital Signature Trust Co.
- # Not Valid Before: Sat Sep 30 21:12:19 2000
- # Not Valid After : Thu Sep 30 14:01:15 2021
- # Fingerprint (MD5): 41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5
-@@ -6623,16 +6665,17 @@ CKA_VALUE MULTILINE_OCTAL
- \343\062\213\372\340\301\206\115\162\074\056\330\223\170\012\052
- \370\330\322\047\075\031\211\137\132\173\212\073\314\014\332\121
- \256\307\013\367\053\260\067\005\354\274\127\043\342\070\322\233
- \150\363\126\022\210\117\102\174\270\061\304\265\333\344\310\041
- \064\351\110\021\065\356\372\307\222\127\305\237\064\344\307\366
- \367\016\013\114\234\150\170\173\161\061\307\353\036\340\147\101
- \363\267\240\247\315\345\172\063\066\152\372\232\053
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DST ACES CA X6"
- # Issuer: CN=DST ACES CA X6,OU=DST ACES,O=Digital Signature Trust,C=US
- # Serial Number:0d:5e:99:0a:d6:9d:b7:78:ec:d8:07:56:3b:86:15:d9
- # Subject: CN=DST ACES CA X6,OU=DST ACES,O=Digital Signature Trust,C=US
- # Not Valid Before: Thu Nov 20 21:19:58 2003
- # Not Valid After : Mon Nov 20 21:19:58 2017
- # Fingerprint (MD5): 21:D8:4C:82:2B:99:09:33:A2:EB:14:24:8D:8E:5F:E8
-@@ -6790,16 +6833,17 @@ CKA_VALUE MULTILINE_OCTAL
- \137\373\140\130\321\373\304\301\155\211\242\273\040\037\235\161
- \221\313\062\233\023\075\076\175\222\122\065\254\222\224\242\323
- \030\302\174\307\352\257\166\005\026\335\147\047\302\176\034\007
- \042\041\363\100\012\033\064\007\104\023\302\204\152\216\337\031
- \132\277\177\353\035\342\032\070\321\134\257\107\222\153\200\265
- \060\245\311\215\330\253\061\201\037\337\302\146\067\323\223\251
- \205\206\171\145\322
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Platinum CA - G2"
- # Issuer: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH
- # Serial Number:4e:b2:00:67:0c:03:5d:4f
- # Subject: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:36:00 2006
- # Not Valid After : Sat Oct 25 08:36:00 2036
- # Fingerprint (MD5): C9:98:27:77:28:1E:3D:0E:15:3C:84:00:B8:85:03:E6
-@@ -6954,16 +6998,17 @@ CKA_VALUE MULTILINE_OCTAL
- \001\320\277\150\236\143\140\153\065\115\013\155\272\241\075\300
- \223\340\177\043\263\125\255\162\045\116\106\371\322\026\357\260
- \144\301\001\236\351\312\240\152\230\016\317\330\140\362\057\111
- \270\344\102\341\070\065\026\364\310\156\117\367\201\126\350\272
- \243\276\043\257\256\375\157\003\340\002\073\060\166\372\033\155
- \101\317\001\261\351\270\311\146\364\333\046\363\072\244\164\362
- \111\044\133\311\260\320\127\301\372\076\172\341\227\311
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Gold CA - G2"
- # Issuer: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
- # Serial Number:00:bb:40:1c:43:f5:5e:4f:b0
- # Subject: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:30:35 2006
- # Not Valid After : Sat Oct 25 08:30:35 2036
- # Fingerprint (MD5): 24:77:D9:A8:91:D1:3B:FA:88:2D:C2:FF:F8:CD:33:93
-@@ -7119,16 +7164,17 @@ CKA_VALUE MULTILINE_OCTAL
- \212\060\372\215\345\232\153\025\001\116\147\252\332\142\126\076
- \204\010\146\322\304\066\175\247\076\020\374\210\340\324\200\345
- \000\275\252\363\116\006\243\172\152\371\142\162\343\011\117\353
- \233\016\001\043\361\237\273\174\334\334\154\021\227\045\262\362
- \264\143\024\322\006\052\147\214\203\365\316\352\007\330\232\152
- \036\354\344\012\273\052\114\353\011\140\071\316\312\142\330\056
- \156
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Silver CA - G2"
- # Issuer: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH
- # Serial Number:4f:1b:d4:2f:54:bb:2f:4b
- # Subject: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:32:46 2006
- # Not Valid After : Sat Oct 25 08:32:46 2036
- # Fingerprint (MD5): E0:06:A1:C9:7D:CF:C9:FC:0D:C0:56:75:96:D8:62:13
-@@ -7250,16 +7296,17 @@ CKA_VALUE MULTILINE_OCTAL
- \254\257\031\240\163\022\055\374\302\101\272\201\221\332\026\132
- \061\267\371\264\161\200\022\110\231\162\163\132\131\123\301\143
- \122\063\355\247\311\322\071\002\160\372\340\261\102\146\051\252
- \233\121\355\060\124\042\024\137\331\253\035\301\344\224\360\370
- \365\053\367\352\312\170\106\326\270\221\375\246\015\053\032\024
- \001\076\200\360\102\240\225\007\136\155\315\314\113\244\105\215
- \253\022\350\263\336\132\345\240\174\350\017\042\035\132\351\131
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority"
- # Issuer: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US
- # Serial Number:18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1
- # Subject: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US
- # Not Valid Before: Mon Nov 27 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): 02:26:C3:01:5E:08:30:37:43:A9:D0:7D:CF:37:E6:BF
-@@ -7404,16 +7451,17 @@ CKA_VALUE MULTILINE_OCTAL
- \376\254\100\171\345\254\020\157\075\217\033\171\166\213\304\067
- \263\041\030\204\345\066\000\353\143\040\231\271\351\376\063\004
- \273\101\310\301\002\371\104\143\040\236\201\316\102\323\326\077
- \054\166\323\143\234\131\335\217\246\341\016\240\056\101\367\056
- \225\107\317\274\375\063\363\366\013\141\176\176\221\053\201\107
- \302\047\060\356\247\020\135\067\217\134\071\053\344\004\360\173
- \215\126\214\150
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA"
- # Issuer: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Serial Number:34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d
- # Subject: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Not Valid Before: Fri Nov 17 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): 8C:CA:DC:0B:22:CE:F5:BE:72:AC:41:1A:11:A8:D8:12
-@@ -7578,16 +7626,17 @@ CKA_VALUE MULTILINE_OCTAL
- \336\375\250\202\052\155\050\037\015\013\304\345\347\032\046\031
- \341\364\021\157\020\265\225\374\347\102\005\062\333\316\235\121
- \136\050\266\236\205\323\133\357\245\175\105\100\162\216\267\016
- \153\016\006\373\063\065\110\161\270\235\047\213\304\145\137\015
- \206\166\234\104\172\366\225\134\366\135\062\010\063\244\124\266
- \030\077\150\134\362\102\112\205\070\124\203\137\321\350\054\362
- \254\021\326\250\355\143\152
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G5"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Wed Nov 08 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): CB:17:E4:31:67:3E:E2:09:FE:45:57:93:F3:0A:FA:1C
-@@ -7720,16 +7769,17 @@ CKA_VALUE MULTILINE_OCTAL
- \144\122\066\137\140\147\331\234\305\005\164\013\347\147\043\322
- \010\374\210\351\256\213\177\341\060\364\067\176\375\306\062\332
- \055\236\104\060\060\154\356\007\336\322\064\374\322\377\100\366
- \113\364\146\106\006\124\246\362\062\012\143\046\060\153\233\321
- \334\213\107\272\341\271\325\142\320\242\240\364\147\005\170\051
- \143\032\157\004\326\370\306\114\243\232\261\067\264\215\345\050
- \113\035\236\054\302\270\150\274\355\002\356\061
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SecureTrust CA"
- # Issuer: CN=SecureTrust CA,O=SecureTrust Corporation,C=US
- # Serial Number:0c:f0:8e:5c:08:16:a5:ad:42:7f:f0:eb:27:18:59:d0
- # Subject: CN=SecureTrust CA,O=SecureTrust Corporation,C=US
- # Not Valid Before: Tue Nov 07 19:31:18 2006
- # Not Valid After : Mon Dec 31 19:40:55 2029
- # Fingerprint (MD5): DC:32:C3:A7:6D:25:57:C7:68:09:9D:EA:2D:A9:A2:D1
-@@ -7854,16 +7904,17 @@ CKA_VALUE MULTILINE_OCTAL
- \103\265\113\055\024\237\371\334\046\015\277\246\107\164\006\330
- \210\321\072\051\060\204\316\322\071\200\142\033\250\307\127\111
- \274\152\125\121\147\025\112\276\065\007\344\325\165\230\067\171
- \060\024\333\051\235\154\305\151\314\107\125\242\060\367\314\134
- \177\302\303\230\034\153\116\026\200\353\172\170\145\105\242\000
- \032\257\014\015\125\144\064\110\270\222\271\361\264\120\051\362
- \117\043\037\332\154\254\037\104\341\335\043\170\121\133\307\026
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Secure Global CA"
- # Issuer: CN=Secure Global CA,O=SecureTrust Corporation,C=US
- # Serial Number:07:56:22:a4:e8:d4:8a:89:4d:f4:13:c8:f0:f8:ea:a5
- # Subject: CN=Secure Global CA,O=SecureTrust Corporation,C=US
- # Not Valid Before: Tue Nov 07 19:42:28 2006
- # Not Valid After : Mon Dec 31 19:52:06 2029
- # Fingerprint (MD5): CF:F4:27:0D:D4:ED:DC:65:16:49:6D:3D:DA:BF:6E:DE
-@@ -8003,16 +8054,17 @@ CKA_VALUE MULTILINE_OCTAL
- \314\225\122\223\360\160\045\131\234\040\147\304\356\371\213\127
- \141\364\222\166\175\077\204\215\125\267\350\345\254\325\361\365
- \031\126\246\132\373\220\034\257\223\353\345\034\324\147\227\135
- \004\016\276\013\203\246\027\203\271\060\022\240\305\063\025\005
- \271\015\373\307\005\166\343\330\112\215\374\064\027\243\306\041
- \050\276\060\105\061\036\307\170\276\130\141\070\254\073\342\001
- \145
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "COMODO Certification Authority"
- # Issuer: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:4e:81:2d:8a:82:65:e0:0b:02:ee:3e:35:02:46:e5:3d
- # Subject: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Fri Dec 01 00:00:00 2006
- # Not Valid After : Mon Dec 31 23:59:59 2029
- # Fingerprint (MD5): 5C:48:DC:F7:42:72:EC:56:94:6D:1C:CC:71:35:80:75
-@@ -8148,16 +8200,17 @@ CKA_VALUE MULTILINE_OCTAL
- \056\044\137\313\130\017\353\050\354\257\021\226\363\334\173\157
- \300\247\210\362\123\167\263\140\136\256\256\050\332\065\054\157
- \064\105\323\046\341\336\354\133\117\047\153\026\174\275\104\004
- \030\202\263\211\171\027\020\161\075\172\242\026\116\365\001\315
- \244\154\145\150\241\111\166\134\103\311\330\274\066\147\154\245
- \224\265\324\314\271\275\152\065\126\041\336\330\303\353\373\313
- \244\140\114\260\125\240\240\173\127\262
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Network Solutions Certificate Authority"
- # Issuer: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
- # Serial Number:57:cb:33:6f:c2:5c:16:e6:47:16:17:e3:90:31:68:e0
- # Subject: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
- # Not Valid Before: Fri Dec 01 00:00:00 2006
- # Not Valid After : Mon Dec 31 23:59:59 2029
- # Fingerprint (MD5): D3:F3:A6:16:C0:FA:6B:1D:59:B1:2D:96:4D:0E:11:2E
-@@ -8308,16 +8361,17 @@ CKA_VALUE MULTILINE_OCTAL
- \332\245\223\127\216\076\155\065\046\010\131\325\347\104\327\166
- \040\143\347\254\023\147\303\155\261\160\106\174\325\226\021\075
- \211\157\135\250\241\353\215\012\332\303\035\063\154\243\352\147
- \031\232\231\177\113\075\203\121\052\035\312\057\206\014\242\176
- \020\055\053\324\026\225\013\007\252\056\024\222\111\267\051\157
- \330\155\061\175\365\374\241\020\007\207\316\057\131\334\076\130
- \333
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "WellsSecure Public Root Certificate Authority"
- # Issuer: CN=WellsSecure Public Root Certificate Authority,OU=Wells Fargo Bank NA,O=Wells Fargo WellsSecure,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=WellsSecure Public Root Certificate Authority,OU=Wells Fargo Bank NA,O=Wells Fargo WellsSecure,C=US
- # Not Valid Before: Thu Dec 13 17:07:54 2007
- # Not Valid After : Wed Dec 14 00:07:54 2022
- # Fingerprint (MD5): 15:AC:A5:C2:92:2D:79:BC:E8:7F:CB:67:ED:02:CF:36
-@@ -8434,16 +8488,17 @@ CKA_VALUE MULTILINE_OCTAL
- \004\003\003\003\150\000\060\145\002\061\000\357\003\133\172\254
- \267\170\012\162\267\210\337\377\265\106\024\011\012\372\240\346
- \175\010\306\032\207\275\030\250\163\275\046\312\140\014\235\316
- \231\237\317\134\017\060\341\276\024\061\352\002\060\024\364\223
- \074\111\247\063\172\220\106\107\263\143\175\023\233\116\267\157
- \030\067\200\123\376\335\040\340\065\232\066\321\307\001\271\346
- \334\335\363\377\035\054\072\026\127\331\222\071\326
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "COMODO ECC Certification Authority"
- # Issuer: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:1f:47:af:aa:62:00:70:50:54:4c:01:9e:9b:63:99:2a
- # Subject: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Mar 06 00:00:00 2008
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 7C:62:FF:74:9D:31:53:5E:68:4A:D5:78:AA:1E:BF:23
-@@ -8741,16 +8796,17 @@ CKA_VALUE MULTILINE_OCTAL
- \250\215\376\206\076\007\026\222\341\173\347\035\354\063\166\176
- \102\056\112\205\371\221\211\150\204\003\201\245\233\232\276\343
- \067\305\124\253\126\073\030\055\101\244\014\370\102\333\231\240
- \340\162\157\273\135\341\026\117\123\012\144\371\116\364\277\116
- \124\275\170\154\210\352\277\234\023\044\302\160\151\242\177\017
- \310\074\255\010\311\260\230\100\243\052\347\210\203\355\167\217
- \164
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication EV RootCA1"
- # Issuer: OU=Security Communication EV RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication EV RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Not Valid Before: Wed Jun 06 02:12:32 2007
- # Not Valid After : Sat Jun 06 02:12:32 2037
- # Fingerprint (MD5): 22:2D:A6:01:EA:7C:0A:F7:F0:6C:56:43:3F:77:76:D3
-@@ -8888,16 +8944,17 @@ CKA_VALUE MULTILINE_OCTAL
- \204\325\120\003\266\342\204\243\246\066\252\021\072\001\341\030
- \113\326\104\150\263\075\371\123\164\204\263\106\221\106\226\000
- \267\200\054\266\341\343\020\342\333\242\347\050\217\001\226\142
- \026\076\000\343\034\245\066\201\030\242\114\122\166\300\021\243
- \156\346\035\272\343\132\276\066\123\305\076\165\217\206\151\051
- \130\123\265\234\273\157\237\134\305\030\354\335\057\341\230\311
- \374\276\337\012\015
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "OISTE WISeKey Global Root GA CA"
- # Issuer: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH
- # Serial Number:41:3d:72:c7:f4:6b:1f:81:43:7d:f1:d2:28:54:df:9a
- # Subject: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH
- # Not Valid Before: Sun Dec 11 16:03:44 2005
- # Not Valid After : Fri Dec 11 16:09:51 2037
- # Fingerprint (MD5): BC:6C:51:33:A7:E9:D3:66:63:54:15:72:1B:21:92:93
-@@ -9095,16 +9152,17 @@ CKA_VALUE MULTILINE_OCTAL
- \254\106\155\114\364\062\207\264\040\004\340\154\170\260\167\321
- \205\106\113\246\022\267\165\350\112\311\126\154\327\222\253\235
- \365\111\070\322\117\123\343\125\220\021\333\230\226\306\111\362
- \076\364\237\033\340\367\210\334\045\142\231\104\330\163\277\077
- \060\363\014\067\076\324\302\050\200\163\261\001\267\235\132\226
- \024\001\113\251\021\235\051\152\056\320\135\201\300\317\262\040
- \103\307\003\340\067\116\135\012\334\131\040\045
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Microsec e-Szigno Root CA"
- # Issuer: CN=Microsec e-Szigno Root CA,OU=e-Szigno CA,O=Microsec Ltd.,L=Budapest,C=HU
- # Serial Number:00:cc:b8:e7:bf:4e:29:1a:fd:a2:dc:66:a5:1c:2c:0f:11
- # Subject: CN=Microsec e-Szigno Root CA,OU=e-Szigno CA,O=Microsec Ltd.,L=Budapest,C=HU
- # Not Valid Before: Wed Apr 06 12:28:44 2005
- # Not Valid After : Thu Apr 06 12:28:44 2017
- # Fingerprint (MD5): F0:96:B6:2F:C5:10:D5:67:8E:83:25:32:E8:5E:2E:E5
-@@ -9228,16 +9286,17 @@ CKA_VALUE MULTILINE_OCTAL
- \013\221\003\165\054\154\162\265\141\225\232\015\213\271\015\347
- \365\337\124\315\336\346\330\326\011\010\227\143\345\301\056\260
- \267\104\046\300\046\300\257\125\060\236\073\325\066\052\031\004
- \364\134\036\377\317\054\267\377\320\375\207\100\021\325\021\043
- \273\110\300\041\251\244\050\055\375\025\370\260\116\053\364\060
- \133\041\374\021\221\064\276\101\357\173\235\227\165\377\227\225
- \300\226\130\057\352\273\106\327\273\344\331\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certigna"
- # Issuer: CN=Certigna,O=Dhimyotis,C=FR
- # Serial Number:00:fe:dc:e3:01:0f:c9:48:ff
- # Subject: CN=Certigna,O=Dhimyotis,C=FR
- # Not Valid Before: Fri Jun 29 15:13:05 2007
- # Not Valid After : Tue Jun 29 15:13:05 2027
- # Fingerprint (MD5): AB:57:A6:5B:7D:42:82:19:B5:D8:58:26:28:5E:FD:FF
-@@ -9409,16 +9468,17 @@ CKA_VALUE MULTILINE_OCTAL
- \104\276\141\106\241\204\075\010\047\114\201\040\167\211\010\352
- \147\100\136\154\010\121\137\064\132\214\226\150\315\327\367\211
- \302\034\323\062\000\257\122\313\323\140\133\052\072\107\176\153
- \060\063\241\142\051\177\112\271\341\055\347\024\043\016\016\030
- \107\341\171\374\025\125\320\261\374\045\161\143\165\063\034\043
- \053\257\134\331\355\107\167\140\016\073\017\036\322\300\334\144
- \005\211\374\170\326\134\054\046\103\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AC Raiz Certicamara S.A."
- # Issuer: CN=AC Ra..z Certic..mara S.A.,O=Sociedad Cameral de Certificaci..n Digital - Certic..mara S.A.,C=CO
- # Serial Number:07:7e:52:93:7b:e0:15:e3:57:f0:69:8c:cb:ec:0c
- # Subject: CN=AC Ra..z Certic..mara S.A.,O=Sociedad Cameral de Certificaci..n Digital - Certic..mara S.A.,C=CO
- # Not Valid Before: Mon Nov 27 20:46:29 2006
- # Not Valid After : Tue Apr 02 21:42:02 2030
- # Fingerprint (MD5): 93:2A:3E:F6:FD:23:69:0D:71:20:D4:2B:47:99:2B:A6
-@@ -9566,16 +9626,17 @@ CKA_VALUE MULTILINE_OCTAL
- \334\071\361\305\162\243\021\003\375\073\102\122\051\333\350\001
- \367\233\136\214\326\215\206\116\031\372\274\034\276\305\041\245
- \207\236\170\056\066\333\011\161\243\162\064\370\154\343\006\011
- \362\136\126\245\323\335\230\372\324\346\006\364\360\266\040\143
- \113\352\051\275\252\202\146\036\373\201\252\247\067\255\023\030
- \346\222\303\201\301\063\273\210\036\241\347\342\264\275\061\154
- \016\121\075\157\373\226\126\200\342\066\027\321\334\344
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TC TrustCenter Class 3 CA II"
- # Issuer: CN=TC TrustCenter Class 3 CA II,OU=TC TrustCenter Class 3 CA,O=TC TrustCenter GmbH,C=DE
- # Serial Number:4a:47:00:01:00:02:e5:a0:5d:d6:3f:00:51:bf
- # Subject: CN=TC TrustCenter Class 3 CA II,OU=TC TrustCenter Class 3 CA,O=TC TrustCenter GmbH,C=DE
- # Not Valid Before: Thu Jan 12 14:41:57 2006
- # Not Valid After : Wed Dec 31 22:59:59 2025
- # Fingerprint (MD5): 56:5F:AA:80:61:12:17:F6:67:21:E6:2B:6D:61:56:8E
-@@ -9706,16 +9767,17 @@ CKA_VALUE MULTILINE_OCTAL
- \332\347\212\067\041\276\131\143\340\362\205\210\061\123\324\124
- \024\205\160\171\364\056\006\167\047\165\057\037\270\212\371\376
- \305\272\330\066\344\203\354\347\145\267\277\143\132\363\106\257
- \201\224\067\324\101\214\326\043\326\036\317\365\150\033\104\143
- \242\132\272\247\065\131\241\345\160\005\233\016\043\127\231\224
- \012\155\272\071\143\050\206\222\363\030\204\330\373\321\317\005
- \126\144\127
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Deutsche Telekom Root CA 2"
- # Issuer: CN=Deutsche Telekom Root CA 2,OU=T-TeleSec Trust Center,O=Deutsche Telekom AG,C=DE
- # Serial Number: 38 (0x26)
- # Subject: CN=Deutsche Telekom Root CA 2,OU=T-TeleSec Trust Center,O=Deutsche Telekom AG,C=DE
- # Not Valid Before: Fri Jul 09 12:11:00 1999
- # Not Valid After : Tue Jul 09 23:59:00 2019
- # Fingerprint (MD5): 74:01:4A:91:B1:08:C4:58:CE:47:CD:F0:DD:11:53:08
-@@ -9838,16 +9900,17 @@ CKA_VALUE MULTILINE_OCTAL
- \205\272\115\355\050\062\353\371\141\112\344\304\066\036\031\334
- \157\204\021\037\225\365\203\050\030\250\063\222\103\047\335\135
- \023\004\105\117\207\325\106\315\075\250\272\360\363\270\126\044
- \105\353\067\307\341\166\117\162\071\030\337\176\164\162\307\163
- \055\071\352\140\346\255\021\242\126\207\173\303\150\232\376\370
- \214\160\250\337\145\062\364\244\100\214\241\302\104\003\016\224
- \000\147\240\161\000\202\110
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ComSign CA"
- # Issuer: C=IL,O=ComSign,CN=ComSign CA
- # Serial Number:14:13:96:83:14:55:8c:ea:7b:63:e5:fc:34:87:77:44
- # Subject: C=IL,O=ComSign,CN=ComSign CA
- # Not Valid Before: Wed Mar 24 11:32:18 2004
- # Not Valid After : Mon Mar 19 15:02:18 2029
- # Fingerprint (MD5): CD:F4:39:F3:B5:18:50:D7:3E:A4:C5:91:A0:3E:21:4B
-@@ -9968,16 +10031,17 @@ CKA_VALUE MULTILINE_OCTAL
- \275\224\000\231\277\021\245\334\340\171\305\026\013\175\002\141
- \035\352\205\371\002\025\117\347\132\211\116\024\157\343\067\113
- \205\365\301\074\141\340\375\005\101\262\222\177\303\035\240\320
- \256\122\144\140\153\030\306\046\234\330\365\144\344\066\032\142
- \237\212\017\076\377\155\116\031\126\116\040\221\154\237\064\063
- \072\064\127\120\072\157\201\136\006\306\365\076\174\116\216\053
- \316\145\006\056\135\322\052\123\164\136\323\156\047\236\217
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ComSign Secured CA"
- # Issuer: C=IL,O=ComSign,CN=ComSign Secured CA
- # Serial Number:00:c7:28:47:09:b3:b8:6c:45:8c:1d:fa:24:f5:36:4e:e9
- # Subject: C=IL,O=ComSign,CN=ComSign Secured CA
- # Not Valid Before: Wed Mar 24 11:37:20 2004
- # Not Valid After : Fri Mar 16 15:04:56 2029
- # Fingerprint (MD5): 40:01:25:06:8D:21:43:6A:0E:43:00:9C:E7:43:F3:D5
-@@ -10097,16 +10161,17 @@ CKA_VALUE MULTILINE_OCTAL
- \017\124\335\203\273\237\321\217\247\123\163\303\313\377\060\354
- \174\004\270\330\104\037\223\137\161\011\042\267\156\076\352\034
- \003\116\235\032\040\141\373\201\067\354\136\374\012\105\253\327
- \347\027\125\320\240\352\140\233\246\366\343\214\133\051\302\006
- \140\024\235\055\227\114\251\223\025\235\141\304\001\137\110\326
- \130\275\126\061\022\116\021\310\041\340\263\021\221\145\333\264
- \246\210\070\316\125
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Cybertrust Global Root"
- # Issuer: CN=Cybertrust Global Root,O="Cybertrust, Inc"
- # Serial Number:04:00:00:00:00:01:0f:85:aa:2d:48
- # Subject: CN=Cybertrust Global Root,O="Cybertrust, Inc"
- # Not Valid Before: Fri Dec 15 08:00:00 2006
- # Not Valid After : Wed Dec 15 08:00:00 2021
- # Fingerprint (MD5): 72:E4:4A:87:E3:69:40:80:77:EA:BC:E3:F4:FF:F0:E1
-@@ -10263,16 +10328,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\343\061\325\307\354\350\362\260\376\222\036\026\012\032\374
- \331\363\370\047\266\311\276\035\264\154\144\220\177\364\344\304
- \133\327\067\256\102\016\335\244\032\157\174\210\124\305\026\156
- \341\172\150\056\370\072\277\015\244\074\211\073\170\247\116\143
- \203\004\041\010\147\215\362\202\111\320\133\375\261\315\017\203
- \204\324\076\040\205\367\112\075\053\234\375\052\012\011\115\352
- \201\370\021\234
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ePKI Root Certification Authority"
- # Issuer: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW
- # Serial Number:15:c8:bd:65:47:5c:af:b8:97:00:5e:e4:06:d2:bc:9d
- # Subject: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW
- # Not Valid Before: Mon Dec 20 02:31:27 2004
- # Not Valid After : Wed Dec 20 02:31:27 2034
- # Fingerprint (MD5): 1B:2E:00:CA:26:06:90:3D:AD:FE:6F:15:68:D3:6B:B3
-@@ -10447,16 +10513,17 @@ CKA_VALUE MULTILINE_OCTAL
- \200\262\136\014\112\023\236\040\330\142\100\253\220\352\144\112
- \057\254\015\001\022\171\105\250\057\207\031\150\310\342\205\307
- \060\262\165\371\070\077\262\300\223\264\153\342\003\104\316\147
- \240\337\211\326\255\214\166\243\023\303\224\141\053\153\331\154
- \301\007\012\042\007\205\154\205\044\106\251\276\077\213\170\204
- \202\176\044\014\235\375\201\067\343\045\250\355\066\116\225\054
- \311\234\220\332\354\251\102\074\255\266\002
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TUBITAK UEKAE Kok Sertifika Hizmet Saglayicisi - Surum 3"
- # Issuer: CN=T..B..TAK UEKAE K..k Sertifika Hizmet Sa..lay..c..s.. - S..r..m ...,OU=Kamu Sertifikasyon Merkezi,OU=Ulusal Elektronik ve Kriptoloji Ara..t..rma Enstit..s.. - UEKAE,O=T..rkiye Bilimsel ve Teknolojik Ara..t..rma Kurumu - T..B..TAK,L=Gebze - Kocaeli,C=TR
- # Serial Number: 17 (0x11)
- # Subject: CN=T..B..TAK UEKAE K..k Sertifika Hizmet Sa..lay..c..s.. - S..r..m ...,OU=Kamu Sertifikasyon Merkezi,OU=Ulusal Elektronik ve Kriptoloji Ara..t..rma Enstit..s.. - UEKAE,O=T..rkiye Bilimsel ve Teknolojik Ara..t..rma Kurumu - T..B..TAK,L=Gebze - Kocaeli,C=TR
- # Not Valid Before: Fri Aug 24 11:37:07 2007
- # Not Valid After : Mon Aug 21 11:37:07 2017
- # Fingerprint (MD5): ED:41:F5:8C:50:C5:2B:9C:73:E6:EE:6C:EB:C2:A8:26
-@@ -10583,16 +10650,17 @@ CKA_VALUE MULTILINE_OCTAL
- \045\335\141\047\043\034\265\061\007\004\066\264\032\220\275\240
- \164\161\120\211\155\274\024\343\017\206\256\361\253\076\307\240
- \011\314\243\110\321\340\333\144\347\222\265\317\257\162\103\160
- \213\371\303\204\074\023\252\176\222\233\127\123\223\372\160\302
- \221\016\061\371\233\147\135\351\226\070\136\137\263\163\116\210
- \025\147\336\236\166\020\142\040\276\125\151\225\103\000\071\115
- \366\356\260\132\116\111\104\124\130\137\102\203
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "certSIGN ROOT CA"
- # Issuer: OU=certSIGN ROOT CA,O=certSIGN,C=RO
- # Serial Number:20:06:05:16:70:02
- # Subject: OU=certSIGN ROOT CA,O=certSIGN,C=RO
- # Not Valid Before: Tue Jul 04 17:20:04 2006
- # Not Valid After : Fri Jul 04 17:20:04 2031
- # Fingerprint (MD5): 18:98:C0:D6:E9:3A:FC:F9:B0:F5:0C:F7:4B:01:44:17
-@@ -10706,16 +10774,17 @@ CKA_VALUE MULTILINE_OCTAL
- \125\171\373\116\206\231\270\224\332\206\070\152\223\243\347\313
- \156\345\337\352\041\125\211\234\175\175\177\230\365\000\211\356
- \343\204\300\134\226\265\305\106\352\106\340\205\125\266\033\311
- \022\326\301\315\315\200\363\002\001\074\310\151\313\105\110\143
- \330\224\320\354\205\016\073\116\021\145\364\202\214\246\075\256
- \056\042\224\011\310\134\352\074\201\135\026\052\003\227\026\125
- \011\333\212\101\202\236\146\233\021
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "CNNIC ROOT"
- # Issuer: CN=CNNIC ROOT,O=CNNIC,C=CN
- # Serial Number: 1228079105 (0x49330001)
- # Subject: CN=CNNIC ROOT,O=CNNIC,C=CN
- # Not Valid Before: Mon Apr 16 07:09:14 2007
- # Not Valid After : Fri Apr 16 07:09:14 2027
- # Fingerprint (MD5): 21:BC:82:AB:49:C4:13:3B:4B:B2:2B:5C:6B:90:9C:19
-@@ -10836,16 +10905,17 @@ CKA_VALUE MULTILINE_OCTAL
- \246\176\264\222\027\374\043\224\201\275\156\247\305\214\302\353
- \021\105\333\370\101\311\226\166\352\160\137\171\022\153\344\243
- \007\132\005\357\047\111\317\041\237\212\114\011\160\146\251\046
- \301\053\021\116\063\322\016\374\326\154\322\016\062\144\150\377
- \255\005\170\137\003\035\250\343\220\254\044\340\017\100\247\113
- \256\213\050\267\202\312\030\007\346\267\133\164\351\040\031\177
- \262\033\211\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ApplicationCA - Japanese Government"
- # Issuer: OU=ApplicationCA,O=Japanese Government,C=JP
- # Serial Number: 49 (0x31)
- # Subject: OU=ApplicationCA,O=Japanese Government,C=JP
- # Not Valid Before: Wed Dec 12 15:00:00 2007
- # Not Valid After : Tue Dec 12 15:00:00 2017
- # Fingerprint (MD5): 7E:23:4E:5B:A7:A5:B4:25:E9:00:07:74:11:62:AE:D6
-@@ -10984,16 +11054,17 @@ CKA_VALUE MULTILINE_OCTAL
- \207\174\015\015\317\056\010\134\112\100\015\076\354\201\141\346
- \044\333\312\340\016\055\007\262\076\126\334\215\365\101\205\007
- \110\233\014\013\313\111\077\175\354\267\375\313\215\147\211\032
- \253\355\273\036\243\000\010\010\027\052\202\134\061\135\106\212
- \055\017\206\233\164\331\105\373\324\100\261\172\252\150\055\206
- \262\231\042\341\301\053\307\234\370\363\137\250\202\022\353\031
- \021\055
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority - G3"
- # Issuer: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Serial Number:15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
- # Subject: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): B5:E8:34:36:C9:10:44:58:48:70:6D:2E:83:D4:B8:05
-@@ -11112,16 +11183,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\335\370\340\127\107\133\247
- \346\012\303\275\365\200\212\227\065\015\033\211\074\124\206\167
- \050\312\241\364\171\336\265\346\070\260\360\145\160\214\177\002
- \124\302\277\377\330\241\076\331\317\002\061\000\304\215\224\374
- \334\123\322\334\235\170\026\037\025\063\043\123\122\343\132\061
- \135\235\312\256\275\023\051\104\015\047\133\250\347\150\234\022
- \367\130\077\056\162\002\127\243\217\241\024\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA - G2"
- # Issuer: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US
- # Serial Number:35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56
- # Subject: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 74:9D:EA:60:24:C4:FD:22:53:3E:CC:3A:72:D9:29:4F
-@@ -11271,16 +11343,17 @@ CKA_VALUE MULTILINE_OCTAL
- \051\101\221\042\074\151\247\273\002\362\266\134\047\003\211\364
- \006\352\233\344\162\202\343\241\011\301\351\000\031\323\076\324
- \160\153\272\161\246\252\130\256\364\273\351\154\266\357\207\314
- \233\273\377\071\346\126\141\323\012\247\304\134\114\140\173\005
- \167\046\172\277\330\007\122\054\142\367\160\143\331\071\274\157
- \034\302\171\334\166\051\257\316\305\054\144\004\136\210\066\156
- \061\324\100\032\142\064\066\077\065\001\256\254\143\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA - G3"
- # Issuer: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Serial Number:60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb
- # Subject: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): FB:1B:5D:43:8A:94:CD:44:C6:76:F2:43:4B:47:E7:31
-@@ -11406,16 +11479,17 @@ CKA_VALUE MULTILINE_OCTAL
- \144\226\131\246\350\011\336\213\272\372\132\210\210\360\037\221
- \323\106\250\362\112\114\002\143\373\154\137\070\333\056\101\223
- \251\016\346\235\334\061\034\262\240\247\030\034\171\341\307\066
- \002\060\072\126\257\232\164\154\366\373\203\340\063\323\010\137
- \241\234\302\133\237\106\326\266\313\221\006\143\242\006\347\063
- \254\076\250\201\022\320\313\272\320\222\013\266\236\226\252\004
- \017\212
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority - G2"
- # Issuer: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Serial Number:3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b
- # Subject: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 01:5E:D8:6B:BD:6F:3D:8E:A1:31:F8:12:E0:98:73:6A
-@@ -11575,16 +11649,17 @@ CKA_VALUE MULTILINE_OCTAL
- \007\021\360\325\333\335\345\214\360\325\062\260\203\346\127\342
- \217\277\276\241\252\277\075\035\265\324\070\352\327\260\134\072
- \117\152\077\217\300\146\154\143\252\351\331\244\026\364\201\321
- \225\024\016\175\315\225\064\331\322\217\160\163\201\173\234\176
- \275\230\141\330\105\207\230\220\305\353\206\060\306\065\277\360
- \377\303\125\210\203\113\357\005\222\006\161\362\270\230\223\267
- \354\315\202\141\361\070\346\117\227\230\052\132\215
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Universal Root Certification Authority"
- # Issuer: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:40:1a:c4:64:21:b3:13:21:03:0e:bb:e4:12:1a:c5:1d
- # Subject: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): 8E:AD:B5:01:AA:4D:81:E4:8C:1D:D1:E1:14:00:95:19
-@@ -11729,16 +11804,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\060\145\002\060\146\041\014\030\046\140\132\070\173\126\102
- \340\247\374\066\204\121\221\040\054\166\115\103\075\304\035\204
- \043\320\254\326\174\065\006\316\315\151\275\220\015\333\154\110
- \102\035\016\252\102\002\061\000\234\075\110\071\043\071\130\032
- \025\022\131\152\236\357\325\131\262\035\122\054\231\161\315\307
- \051\337\033\052\141\173\161\321\336\363\300\345\015\072\112\252
- \055\247\330\206\052\335\056\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G4"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:2f:80:fe:23:8c:0e:22:0f:48:67:12:28:91:87:ac:b3
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 3A:52:E1:E7:FD:6F:3A:E3:6F:F3:6F:99:1B:F9:22:41
-@@ -11888,16 +11964,17 @@ CKA_VALUE MULTILINE_OCTAL
- \276\245\025\143\241\324\225\207\361\236\271\363\211\363\075\205
- \270\270\333\276\265\271\051\371\332\067\005\000\111\224\003\204
- \104\347\277\103\061\317\165\213\045\321\364\246\144\365\222\366
- \253\005\353\075\351\245\013\066\142\332\314\006\137\066\213\266
- \136\061\270\052\373\136\366\161\337\104\046\236\304\346\015\221
- \264\056\165\225\200\121\152\113\060\246\260\142\241\223\361\233
- \330\316\304\143\165\077\131\107\261
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "NetLock Arany (Class Gold) Ftanstvny"
- # Issuer: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
- # Serial Number:49:41:2c:e4:00:10
- # Subject: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
- # Not Valid Before: Thu Dec 11 15:08:21 2008
- # Not Valid After : Wed Dec 06 15:08:21 2028
- # Fingerprint (MD5): C5:A1:B7:FF:73:DD:D6:D7:34:32:18:DF:FC:3C:AD:88
-@@ -12061,16 +12138,17 @@ CKA_VALUE MULTILINE_OCTAL
- \120\346\105\020\107\170\266\116\322\145\311\303\067\337\341\102
- \143\260\127\067\105\055\173\212\234\277\005\352\145\125\063\367
- \071\020\305\050\052\041\172\033\212\304\044\371\077\025\310\232
- \025\040\365\125\142\226\355\155\223\120\274\344\252\170\255\331
- \313\012\145\207\246\146\301\304\201\243\167\072\130\036\013\356
- \203\213\235\036\322\122\244\314\035\157\260\230\155\224\061\265
- \370\161\012\334\271\374\175\062\140\346\353\257\212\001
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Staat der Nederlanden Root CA - G2"
- # Issuer: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
- # Serial Number: 10000012 (0x98968c)
- # Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Wed Mar 26 11:18:17 2008
- # Not Valid After : Wed Mar 25 11:03:10 2020
- # Fingerprint (MD5): 7C:A5:0F:F8:5B:9A:7D:6D:30:AE:54:5A:E3:42:A2:8A
-@@ -12186,16 +12264,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\024\344\141\215\254\020\220\236\204\120\273\360\226\157\105
- \237\212\363\312\154\117\372\021\072\025\025\106\303\315\037\203
- \133\055\101\022\355\120\147\101\023\075\041\253\224\212\252\116
- \174\301\261\373\247\326\265\047\057\227\253\156\340\035\342\321
- \034\054\037\104\342\374\276\221\241\234\373\326\051\123\163\206
- \237\123\330\103\016\135\326\143\202\161\035\200\164\312\366\342
- \002\153\331\132
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Hongkong Post Root CA 1"
- # Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK
- # Serial Number: 1000 (0x3e8)
- # Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK
- # Not Valid Before: Thu May 15 05:13:14 2003
- # Not Valid After : Mon May 15 04:52:29 2023
- # Fingerprint (MD5): A8:0D:6F:39:78:B9:43:6D:77:42:6D:98:5A:CC:23:CA
-@@ -12316,16 +12395,17 @@ CKA_VALUE MULTILINE_OCTAL
- \143\173\132\151\226\002\041\250\275\122\131\351\175\065\313\310
- \122\312\177\201\376\331\153\323\367\021\355\045\337\370\347\371
- \244\372\162\227\204\123\015\245\320\062\030\121\166\131\024\154
- \017\353\354\137\200\214\165\103\203\303\205\230\377\114\236\055
- \015\344\167\203\223\116\265\226\007\213\050\023\233\214\031\215
- \101\047\111\100\356\336\346\043\104\071\334\241\042\326\272\003
- \362
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SecureSign RootCA11"
- # Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP
- # Serial Number: 1 (0x1)
- # Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP
- # Not Valid Before: Wed Apr 08 04:56:47 2009
- # Not Valid After : Sun Apr 08 04:56:47 2029
- # Fingerprint (MD5): B7:52:74:E2:92:B4:80:93:F2:75:E4:CC:D7:F2:EA:26
-@@ -12481,16 +12561,17 @@ CKA_VALUE MULTILINE_OCTAL
- \307\202\066\076\247\070\143\251\060\054\027\020\140\222\237\125
- \207\022\131\020\302\017\147\151\021\314\116\036\176\112\232\255
- \257\100\250\165\254\126\220\164\270\240\234\245\171\157\334\351
- \032\310\151\005\351\272\372\003\263\174\344\340\116\302\316\235
- \350\266\106\015\156\176\127\072\147\224\302\313\037\234\167\112
- \147\116\151\206\103\223\070\373\266\333\117\203\221\324\140\176
- \113\076\053\070\007\125\230\136\244
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ACEDICOM Root"
- # Issuer: C=ES,O=EDICOM,OU=PKI,CN=ACEDICOM Root
- # Serial Number:61:8d:c7:86:3b:01:82:05
- # Subject: C=ES,O=EDICOM,OU=PKI,CN=ACEDICOM Root
- # Not Valid Before: Fri Apr 18 16:24:22 2008
- # Not Valid After : Thu Apr 13 16:24:22 2028
- # Fingerprint (MD5): 42:81:A0:E2:1C:E3:55:10:DE:55:89:42:65:96:22:E6
-@@ -12627,16 +12708,17 @@ CKA_VALUE MULTILINE_OCTAL
- \255\234\032\303\004\074\355\002\141\326\036\006\363\137\072\207
- \362\053\361\105\207\345\075\254\321\307\127\204\275\153\256\334
- \330\371\266\033\142\160\013\075\066\311\102\362\062\327\172\141
- \346\322\333\075\317\310\251\311\233\334\333\130\104\327\157\070
- \257\177\170\323\243\255\032\165\272\034\301\066\174\217\036\155
- \034\303\165\106\256\065\005\246\366\134\075\041\356\126\360\311
- \202\042\055\172\124\253\160\303\175\042\145\202\160\226
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Microsec e-Szigno Root CA 2009"
- # Issuer: E=info(a)e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU
- # Serial Number:00:c2:7e:43:04:4e:47:3f:19
- # Subject: E=info(a)e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU
- # Not Valid Before: Tue Jun 16 11:30:18 2009
- # Not Valid After : Sun Dec 30 11:30:18 2029
- # Fingerprint (MD5): F8:49:F4:03:BC:44:2D:83:BE:48:69:7D:29:64:FC:B1
-@@ -12758,16 +12840,17 @@ CKA_VALUE MULTILINE_OCTAL
- \231\302\037\172\016\343\055\010\255\012\034\054\377\074\253\125
- \016\017\221\176\066\353\303\127\111\276\341\056\055\174\140\213
- \303\101\121\023\043\235\316\367\062\153\224\001\250\231\347\054
- \063\037\072\073\045\322\206\100\316\073\054\206\170\311\141\057
- \024\272\356\333\125\157\337\204\356\005\011\115\275\050\330\162
- \316\323\142\120\145\036\353\222\227\203\061\331\263\265\312\107
- \130\077\137
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA - R3"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
- # Serial Number:04:00:00:00:00:01:21:58:53:08:a2
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
- # Not Valid Before: Wed Mar 18 10:00:00 2009
- # Not Valid After : Sun Mar 18 10:00:00 2029
- # Fingerprint (MD5): C5:DF:B8:49:CA:05:13:55:EE:2D:BA:1A:C3:3E:B0:28
-@@ -12930,16 +13013,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\153\044\254\227\130\104\107\255\131\030\361\041\145\160\336
- \316\064\140\250\100\361\363\074\244\303\050\043\214\376\047\063
- \103\100\240\027\074\353\352\073\260\162\246\243\271\112\113\136
- \026\110\364\262\274\310\214\222\305\235\237\254\162\066\274\064
- \200\064\153\251\213\222\300\270\027\355\354\166\123\365\044\001
- \214\263\042\350\113\174\125\306\235\372\243\024\273\145\205\156
- \156\117\022\176\012\074\235\225
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
- # Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
- # Serial Number:53:ec:3b:ee:fb:b2:48:5f
- # Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
- # Not Valid Before: Wed May 20 08:38:15 2009
- # Not Valid After : Tue Dec 31 08:38:15 2030
- # Fingerprint (MD5): 73:3A:74:7A:EC:BB:A3:96:A6:C2:E4:E2:C8:9B:C0:C3
-@@ -13098,16 +13182,17 @@ CKA_VALUE MULTILINE_OCTAL
- \150\103\110\262\333\353\163\044\347\221\177\124\244\266\200\076
- \235\243\074\114\162\302\127\304\240\324\314\070\047\316\325\006
- \236\242\110\331\351\237\316\202\160\066\223\232\073\337\226\041
- \343\131\267\014\332\221\067\360\375\131\132\263\231\310\151\154
- \103\046\001\065\143\140\125\211\003\072\165\330\272\112\331\124
- \377\356\336\200\330\055\321\070\325\136\055\013\230\175\076\154
- \333\374\046\210\307
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Izenpe.com"
- # Issuer: CN=Izenpe.com,O=IZENPE S.A.,C=ES
- # Serial Number:00:b0:b7:5a:16:48:5f:bf:e1:cb:f5:8b:d7:19:e6:7d
- # Subject: CN=Izenpe.com,O=IZENPE S.A.,C=ES
- # Not Valid Before: Thu Dec 13 13:08:28 2007
- # Not Valid After : Sun Dec 13 08:27:25 2037
- # Fingerprint (MD5): A6:B0:CD:85:80:DA:5C:50:34:A3:39:90:2F:55:67:73
-@@ -13302,16 +13387,17 @@ CKA_VALUE MULTILINE_OCTAL
- \176\030\230\265\105\073\366\171\264\350\367\032\173\006\203\373
- \320\213\332\273\307\275\030\253\010\157\074\200\153\100\077\031
- \031\272\145\212\346\276\325\134\323\066\327\357\100\122\044\140
- \070\147\004\061\354\217\363\202\306\336\271\125\363\073\061\221
- \132\334\265\010\025\255\166\045\012\015\173\056\207\342\014\246
- \006\274\046\020\155\067\235\354\335\170\214\174\200\305\360\331
- \167\110\320
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Chambers of Commerce Root - 2008"
- # Issuer: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Serial Number:00:a3:da:42:7e:a4:b1:ae:da
- # Subject: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Not Valid Before: Fri Aug 01 12:29:50 2008
- # Not Valid After : Sat Jul 31 12:29:50 2038
- # Fingerprint (MD5): 5E:80:9E:84:5A:0E:65:0B:17:02:F3:55:18:2A:3E:D7
-@@ -13510,16 +13596,17 @@ CKA_VALUE MULTILINE_OCTAL
- \223\256\231\240\357\045\152\163\230\211\133\072\056\023\210\036
- \277\300\222\224\064\033\343\047\267\213\036\157\102\377\347\351
- \067\233\120\035\055\242\371\002\356\313\130\130\072\161\274\150
- \343\252\301\257\034\050\037\242\334\043\145\077\201\352\256\231
- \323\330\060\317\023\015\117\025\311\204\274\247\110\055\370\060
- \043\167\330\106\113\171\155\366\214\355\072\177\140\021\170\364
- \351\233\256\325\124\300\164\200\321\013\102\237\301
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Global Chambersign Root - 2008"
- # Issuer: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Serial Number:00:c9:cd:d3:e9:d5:7d:23:ce
- # Subject: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Not Valid Before: Fri Aug 01 12:31:40 2008
- # Not Valid After : Sat Jul 31 12:31:40 2038
- # Fingerprint (MD5): 9E:80:FF:78:01:0C:2E:C1:36:BD:FE:96:90:6E:08:F3
-@@ -15376,16 +15463,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\144\363\054\176\024\374\002\352\237\315\377\007\150\027\333
- \042\220\070\055\172\215\321\124\361\151\343\137\063\312\172\075
- \173\012\343\312\177\137\071\345\342\165\272\305\166\030\063\316
- \054\360\057\114\255\367\261\347\316\117\250\304\233\112\124\006
- \305\177\175\325\010\017\342\034\376\176\027\270\254\136\366\324
- \026\262\103\011\014\115\366\247\153\264\231\204\145\312\172\210
- \342\342\104\276\134\367\352\034\365
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Go Daddy Root Certificate Authority - G2"
- # Issuer: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): 80:3A:BC:22:C1:E6:FB:8D:9B:3B:27:4A:32:1B:9A:01
-@@ -15525,16 +15613,17 @@ CKA_VALUE MULTILINE_OCTAL
- \037\305\354\372\234\176\317\176\261\361\007\055\266\374\277\312
- \244\277\320\227\005\112\274\352\030\050\002\220\275\124\170\011
- \041\161\323\321\175\035\331\026\260\251\141\075\320\012\000\042
- \374\307\173\313\011\144\105\013\073\100\201\367\175\174\062\365
- \230\312\130\216\175\052\356\220\131\163\144\371\066\164\136\045
- \241\365\146\005\056\177\071\025\251\052\373\120\213\216\205\151
- \364
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Root Certificate Authority - G2"
- # Issuer: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): D6:39:81:C6:52:7E:96:69:FC:FC:CA:66:ED:05:F2:96
-@@ -15676,16 +15765,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\100\317\175\106\035\377\036\307\341\316\377\043\333\306\372
- \215\125\116\251\002\347\107\021\106\076\364\375\275\173\051\046
- \273\251\141\142\067\050\266\055\052\366\020\206\144\311\160\247
- \322\255\267\051\160\171\352\074\332\143\045\237\375\150\267\060
- \354\160\373\165\212\267\155\140\147\262\036\310\271\351\330\250
- \157\002\213\147\015\115\046\127\161\332\040\374\301\112\120\215
- \261\050\272
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Services Root Certificate Authority - G2"
- # Issuer: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): 17:35:74:AF:7B:61:1C:EB:F4:F9:3C:E2:EE:40:F9:A2
-@@ -15806,16 +15896,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\063\252\262\157\323\012\242\120\343\366\073\350\056\104\302
- \333\146\070\251\063\126\110\361\155\033\063\215\015\214\077\140
- \067\235\323\312\155\176\064\176\015\237\162\166\213\033\237\162
- \375\122\065\101\105\002\226\057\034\262\232\163\111\041\261\111
- \107\105\107\264\357\152\064\021\311\115\232\314\131\267\326\002
- \236\132\116\145\265\224\256\033\337\051\260\026\361\277\000\236
- \007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Commercial"
- # Issuer: CN=AffirmTrust Commercial,O=AffirmTrust,C=US
- # Serial Number:77:77:06:27:26:a9:b1:7c
- # Subject: CN=AffirmTrust Commercial,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:06:06 2010
- # Not Valid After : Tue Dec 31 14:06:06 2030
- # Fingerprint (MD5): 82:92:BA:5B:EF:CD:8A:6F:A6:3D:55:F9:84:F6:D6:B7
-@@ -15931,16 +16022,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\207\165\155\267\130\226\132\335\155\322\000\240\364\233\110
- \276\303\067\244\272\066\340\174\207\205\227\032\025\242\336\056
- \242\133\275\257\030\371\220\120\315\160\131\370\047\147\107\313
- \307\240\007\072\175\321\054\135\154\031\072\146\265\175\375\221
- \157\202\261\276\010\223\333\024\107\361\242\067\307\105\236\074
- \307\167\257\144\250\223\337\366\151\203\202\140\362\111\102\064
- \355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Networking"
- # Issuer: CN=AffirmTrust Networking,O=AffirmTrust,C=US
- # Serial Number:7c:4f:04:39:1c:d4:99:2d
- # Subject: CN=AffirmTrust Networking,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:08:24 2010
- # Not Valid After : Tue Dec 31 14:08:24 2030
- # Fingerprint (MD5): 42:65:CA:BE:01:9A:9A:4C:A9:8C:41:49:CD:C0:D5:7F
-@@ -16088,16 +16180,17 @@ CKA_VALUE MULTILINE_OCTAL
- \030\246\265\250\136\264\203\154\153\151\100\323\237\334\361\303
- \151\153\271\341\155\011\364\361\252\120\166\012\172\175\172\027
- \241\125\226\102\231\061\011\335\140\021\215\005\060\176\346\216
- \106\321\235\024\332\307\027\344\005\226\214\304\044\265\033\317
- \024\007\262\100\370\243\236\101\206\274\004\320\153\226\310\052
- \200\064\375\277\357\006\243\335\130\305\205\075\076\217\376\236
- \051\340\266\270\011\150\031\034\030\103
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Premium"
- # Issuer: CN=AffirmTrust Premium,O=AffirmTrust,C=US
- # Serial Number:6d:8c:14:46:b1:a6:0a:ee
- # Subject: CN=AffirmTrust Premium,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:10:36 2010
- # Not Valid After : Mon Dec 31 14:10:36 2040
- # Fingerprint (MD5): C4:5D:0E:48:B6:AC:28:30:4E:0A:BC:F9:38:16:87:57
-@@ -16193,16 +16286,17 @@ CKA_VALUE MULTILINE_OCTAL
- \027\011\363\207\210\120\132\257\310\300\102\277\107\137\365\154
- \152\206\340\304\047\164\344\070\123\327\005\177\033\064\343\306
- \057\263\312\011\074\067\235\327\347\270\106\361\375\241\342\161
- \002\060\102\131\207\103\324\121\337\272\323\011\062\132\316\210
- \176\127\075\234\137\102\153\365\007\055\265\360\202\223\371\131
- \157\256\144\372\130\345\213\036\343\143\276\265\201\315\157\002
- \214\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Premium ECC"
- # Issuer: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
- # Serial Number:74:97:25:8a:c7:3f:7a:54
- # Subject: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:20:24 2010
- # Not Valid After : Mon Dec 31 14:20:24 2040
- # Fingerprint (MD5): 64:B0:09:55:CF:B1:D5:99:E2:BE:13:AB:A6:5D:EA:4D
-@@ -16331,16 +16425,17 @@ CKA_VALUE MULTILINE_OCTAL
- \227\306\166\350\047\226\243\146\335\341\256\362\101\133\312\230
- \126\203\163\160\344\206\032\322\061\101\272\057\276\055\023\132
- \166\157\116\350\116\201\016\077\133\003\042\240\022\276\146\130
- \021\112\313\003\304\264\052\052\055\226\027\340\071\124\274\110
- \323\166\047\235\232\055\006\246\311\354\071\322\253\333\237\232
- \013\047\002\065\051\261\100\225\347\371\350\234\125\210\031\106
- \326\267\064\365\176\316\071\232\331\070\361\121\367\117\054
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certum Trusted Network CA"
- # Issuer: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Serial Number: 279744 (0x444c0)
- # Subject: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Not Valid Before: Wed Oct 22 12:07:37 2008
- # Not Valid After : Mon Dec 31 12:07:37 2029
- # Fingerprint (MD5): D5:E9:81:40:C5:18:69:FC:46:2C:89:75:62:0F:AA:78
-@@ -16500,16 +16595,17 @@ CKA_VALUE MULTILINE_OCTAL
- \032\050\364\041\003\356\056\331\301\200\352\271\331\202\326\133
- \166\302\313\073\265\322\000\360\243\016\341\255\156\100\367\333
- \240\264\320\106\256\025\327\104\302\115\065\371\322\013\362\027
- \366\254\146\325\044\262\117\321\034\231\300\156\365\175\353\164
- \004\270\371\115\167\011\327\264\317\007\060\011\361\270\000\126
- \331\027\026\026\012\053\206\337\217\001\031\032\345\273\202\143
- \377\276\013\166\026\136\067\067\346\330\164\227\242\231\105\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certinomis - Autorit Racine"
- # Issuer: CN=Certinomis - Autorit.. Racine,OU=0002 433998903,O=Certinomis,C=FR
- # Serial Number: 1 (0x1)
- # Subject: CN=Certinomis - Autorit.. Racine,OU=0002 433998903,O=Certinomis,C=FR
- # Not Valid Before: Wed Sep 17 08:28:59 2008
- # Not Valid After : Sun Sep 17 08:28:59 2028
- # Fingerprint (MD5): 7F:30:78:8C:03:E3:CA:C9:0A:E2:C9:EA:1E:AA:55:1A
-@@ -16634,16 +16730,17 @@ CKA_VALUE MULTILINE_OCTAL
- \172\162\132\203\263\171\157\357\264\374\320\012\245\130\117\106
- \337\373\155\171\131\362\204\042\122\256\017\314\373\174\073\347
- \152\312\107\141\303\172\370\323\222\004\037\270\040\204\341\066
- \124\026\307\100\336\073\212\163\334\337\306\011\114\337\354\332
- \377\324\123\102\241\311\362\142\035\042\203\074\227\305\371\031
- \142\047\254\145\042\327\323\074\306\345\216\262\123\314\111\316
- \274\060\376\173\016\063\220\373\355\322\024\221\037\007\257
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TWCA Root Certification Authority"
- # Issuer: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
- # Serial Number: 1 (0x1)
- # Subject: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
- # Not Valid Before: Thu Aug 28 07:24:33 2008
- # Not Valid After : Tue Dec 31 15:59:59 2030
- # Fingerprint (MD5): AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79
-@@ -18024,16 +18121,17 @@ CKA_VALUE MULTILINE_OCTAL
- \273\233\051\126\074\376\000\067\317\043\154\361\116\252\266\164
- \106\022\154\221\356\064\325\354\232\221\347\104\276\220\061\162
- \325\111\002\366\002\345\364\037\353\174\331\226\125\251\377\354
- \212\371\231\107\377\065\132\002\252\004\313\212\133\207\161\051
- \221\275\244\264\172\015\275\232\365\127\043\000\007\041\027\077
- \112\071\321\005\111\013\247\266\067\201\245\135\214\252\063\136
- \201\050\174\247\175\047\353\000\256\215\067
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication RootCA2"
- # Issuer: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Not Valid Before: Fri May 29 05:00:39 2009
- # Not Valid After : Tue May 29 05:00:39 2029
- # Fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43
-@@ -18206,16 +18304,17 @@ CKA_VALUE MULTILINE_OCTAL
- \234\211\333\151\070\276\354\134\016\126\307\145\121\345\120\210
- \210\277\102\325\053\075\345\371\272\236\056\263\312\364\163\222
- \002\013\276\114\146\353\040\376\271\313\265\231\177\346\266\023
- \372\312\113\115\331\356\123\106\006\073\306\116\255\223\132\201
- \176\154\052\113\152\005\105\214\362\041\244\061\220\207\154\145
- \234\235\245\140\225\072\122\177\365\321\253\010\156\363\356\133
- \371\210\075\176\270\157\156\003\344\102
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "EC-ACC"
- # Issuer: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES
- # Serial Number:ee:2b:3d:eb:d4:21:de:14:a8:62:ac:04:f3:dd:c4:01
- # Subject: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES
- # Not Valid Before: Tue Jan 07 23:00:00 2003
- # Not Valid After : Tue Jan 07 22:59:59 2031
- # Fingerprint (MD5): EB:F5:9D:29:0D:61:F9:42:1F:7C:C2:BA:6D:E3:15:09
-@@ -18368,16 +18467,17 @@ CKA_VALUE MULTILINE_OCTAL
- \372\363\003\022\226\170\006\215\261\147\355\216\077\276\237\117
- \002\365\263\011\057\363\114\207\337\052\313\225\174\001\314\254
- \066\172\277\242\163\172\367\217\301\265\232\241\024\262\217\063
- \237\015\357\042\334\146\173\204\275\105\027\006\075\074\312\271
- \167\064\217\312\352\317\077\061\076\343\210\343\200\111\045\310
- \227\265\235\232\231\115\260\074\370\112\000\233\144\335\237\071
- \113\321\047\327\270
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Hellenic Academic and Research Institutions RootCA 2011"
- # Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR
- # Not Valid Before: Tue Dec 06 13:49:52 2011
- # Not Valid After : Mon Dec 01 13:49:52 2031
- # Fingerprint (MD5): 73:9F:4C:4B:73:5B:79:E9:FA:BA:1C:EF:6E:CB:D5:C9
-@@ -18603,16 +18703,17 @@ CKA_VALUE MULTILINE_OCTAL
- \177\244\101\041\220\101\167\246\071\037\352\236\343\237\320\146
- \157\005\354\252\166\176\277\153\026\240\353\265\307\374\222\124
- \057\053\021\047\045\067\170\114\121\152\260\363\314\130\135\024
- \361\152\110\025\377\302\007\266\261\215\017\216\134\120\106\263
- \075\277\001\230\117\262\131\124\107\076\064\173\170\155\126\223
- \056\163\352\146\050\170\315\035\024\277\240\217\057\056\270\056
- \216\362\024\212\314\351\265\174\373\154\235\014\245\341\226
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Actalis Authentication Root CA"
- # Issuer: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
- # Serial Number:57:0a:11:97:42:c4:e3:cc
- # Subject: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
- # Not Valid Before: Thu Sep 22 11:22:02 2011
- # Not Valid After : Sun Sep 22 11:22:02 2030
- # Fingerprint (MD5): 69:C1:0D:4F:07:A3:1B:C3:FE:56:3D:04:BC:11:F6:A6
-@@ -18733,16 +18834,17 @@ CKA_VALUE MULTILINE_OCTAL
- \177\124\365\243\340\217\360\174\125\042\217\051\266\201\243\341
- \155\116\054\033\200\147\354\255\040\237\014\142\141\325\227\377
- \103\355\055\301\332\135\051\052\205\077\254\145\356\206\017\005
- \215\220\137\337\356\237\364\277\356\035\373\230\344\177\220\053
- \204\170\020\016\154\111\123\357\025\133\145\106\112\135\257\272
- \373\072\162\035\315\366\045\210\036\227\314\041\234\051\001\015
- \145\353\127\331\363\127\226\273\110\315\201
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Trustis FPS Root CA"
- # Issuer: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB
- # Serial Number:1b:1f:ad:b6:20:f9:24:d3:36:6b:f7:c7:f1:8c:a0:59
- # Subject: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB
- # Not Valid Before: Tue Dec 23 12:14:06 2003
- # Not Valid After : Sun Jan 21 11:36:54 2024
- # Fingerprint (MD5): 30:C9:E7:1E:6B:E6:14:EB:65:B2:16:69:20:31:67:4D
-@@ -18933,16 +19035,17 @@ CKA_VALUE MULTILINE_OCTAL
- \046\161\304\205\136\161\044\312\245\033\154\330\141\323\032\340
- \124\333\316\272\251\062\265\042\366\163\101\011\135\270\027\135
- \016\017\231\220\326\107\332\157\012\072\142\050\024\147\202\331
- \361\320\200\131\233\313\061\330\233\017\214\167\116\265\150\212
- \362\154\366\044\016\055\154\160\305\163\321\336\024\320\161\217
- \266\323\173\002\366\343\270\324\011\156\153\236\165\204\071\346
- \177\045\245\362\110\000\300\244\001\332\077
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "StartCom Certification Authority"
- # Issuer: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Serial Number: 45 (0x2d)
- # Subject: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Not Valid Before: Sun Sep 17 19:46:37 2006
- # Not Valid After : Wed Sep 17 19:46:36 2036
- # Fingerprint (MD5): C9:3B:0D:84:41:FC:A4:76:79:23:08:57:DE:10:19:16
-@@ -19097,16 +19200,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\056\055\304\011\072\003\147\151\204\232\341\131\220\212\050
- \205\325\135\164\261\321\016\040\130\233\023\245\260\143\246\355
- \173\107\375\105\125\060\244\356\232\324\346\342\207\357\230\311
- \062\202\021\051\042\274\000\012\061\136\055\017\300\216\351\153
- \262\217\056\006\330\321\221\307\306\022\364\114\375\060\027\303
- \301\332\070\133\343\251\352\346\241\272\171\357\163\330\266\123
- \127\055\366\320\341\327\110
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "StartCom Certification Authority G2"
- # Issuer: CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
- # Serial Number: 59 (0x3b)
- # Subject: CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
- # Not Valid Before: Fri Jan 01 01:00:01 2010
- # Not Valid After : Sat Dec 31 23:59:01 2039
- # Fingerprint (MD5): 78:4B:FB:9E:64:82:0A:D3:B8:4C:62:F3:64:F2:90:64
-@@ -19256,16 +19360,17 @@ CKA_VALUE MULTILINE_OCTAL
- \112\220\136\303\372\047\004\261\171\025\164\231\314\276\255\040
- \336\046\140\034\353\126\121\246\243\352\344\243\077\247\377\141
- \334\361\132\115\154\062\043\103\356\254\250\356\356\112\022\011
- \074\135\161\302\276\171\372\302\207\150\035\013\375\134\151\314
- \006\320\232\175\124\231\052\311\071\032\031\257\113\052\103\363
- \143\135\132\130\342\057\343\035\344\251\326\320\012\320\236\277
- \327\201\011\361\311\307\046\015\254\230\026\126\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Buypass Class 2 Root CA"
- # Issuer: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO
- # Serial Number: 2 (0x2)
- # Subject: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO
- # Not Valid Before: Tue Oct 26 08:38:03 2010
- # Not Valid After : Fri Oct 26 08:38:03 2040
- # Fingerprint (MD5): 46:A7:D2:FE:45:FB:64:5A:A8:59:90:9B:78:44:9B:29
-@@ -19414,16 +19519,17 @@ CKA_VALUE MULTILINE_OCTAL
- \105\310\114\161\331\274\311\231\122\127\106\057\120\317\275\065
- \151\364\075\025\316\006\245\054\017\076\366\201\272\224\273\303
- \273\277\145\170\322\206\171\377\111\073\032\203\014\360\336\170
- \354\310\362\115\114\032\336\202\051\370\301\132\332\355\356\346
- \047\136\350\105\320\235\034\121\250\150\253\104\343\320\213\152
- \343\370\073\273\334\115\327\144\362\121\276\346\252\253\132\351
- \061\356\006\274\163\277\023\142\012\237\307\271\227
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Buypass Class 3 Root CA"
- # Issuer: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
- # Serial Number: 2 (0x2)
- # Subject: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
- # Not Valid Before: Tue Oct 26 08:28:58 2010
- # Not Valid After : Fri Oct 26 08:28:58 2040
- # Fingerprint (MD5): 3D:3B:18:9E:2C:64:5A:E8:D5:88:CE:0E:F9:37:C2:EC
-@@ -19555,16 +19661,17 @@ CKA_VALUE MULTILINE_OCTAL
- \367\124\076\201\075\332\111\152\232\263\357\020\075\346\353\157
- \321\310\042\107\313\314\317\001\061\222\331\030\343\042\276\011
- \036\032\076\132\262\344\153\014\124\172\175\103\116\270\211\245
- \173\327\242\075\226\206\314\362\046\064\055\152\222\235\232\032
- \320\060\342\135\116\004\260\137\213\040\176\167\301\075\225\202
- \321\106\232\073\074\170\270\157\241\320\015\144\242\170\036\051
- \116\223\303\244\124\024\133
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "T-TeleSec GlobalRoot Class 3"
- # Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Serial Number: 1 (0x1)
- # Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Not Valid Before: Wed Oct 01 10:29:56 2008
- # Not Valid After : Sat Oct 01 23:59:59 2033
- # Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF
-@@ -19703,16 +19810,17 @@ CKA_VALUE MULTILINE_OCTAL
- \346\164\163\224\135\026\230\023\225\376\373\333\261\104\345\072
- \160\254\067\153\346\263\063\162\050\311\263\127\240\366\002\026
- \210\006\013\266\246\113\040\050\324\336\075\213\255\067\005\123
- \164\376\156\314\274\103\027\161\136\371\305\314\032\251\141\356
- \367\166\014\363\162\364\162\255\317\162\002\066\007\107\317\357
- \031\120\211\140\314\351\044\225\017\302\313\035\362\157\166\220
- \307\314\165\301\226\305\235
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "EE Certification Centre Root CA"
- # Issuer: E=pki(a)sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
- # Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a
- # Subject: E=pki(a)sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
- # Not Valid Before: Sat Oct 30 10:10:30 2010
- # Not Valid After : Tue Dec 17 23:59:59 2030
- # Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F
-@@ -19932,16 +20040,17 @@ CKA_VALUE MULTILINE_OCTAL
- \005\332\143\127\213\345\263\252\333\300\056\034\220\104\333\032
- \135\030\244\356\276\004\133\231\325\161\137\125\145\144\142\325
- \242\233\004\131\206\310\142\167\347\174\202\105\152\075\027\277
- \354\235\165\014\256\243\157\132\323\057\230\066\364\360\365\031
- \253\021\135\310\246\343\052\130\152\102\011\303\275\222\046\146
- \062\015\135\010\125\164\377\214\230\320\012\246\204\152\321\071
- \175
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TURKTRUST Certificate Services Provider Root 2007"
- # Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
- # Serial Number: 1 (0x1)
- # Subject: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
- # Not Valid Before: Tue Dec 25 18:37:19 2007
- # Not Valid After : Fri Dec 22 18:37:19 2017
- # Fingerprint (MD5): 2B:70:20:56:86:82:A0:18:C8:07:53:12:28:70:21:72
-@@ -20080,16 +20189,17 @@ CKA_VALUE MULTILINE_OCTAL
- \310\154\353\202\123\004\246\344\114\042\115\215\214\272\316\133
- \163\354\144\124\120\155\321\234\125\373\151\303\066\303\214\274
- \074\205\246\153\012\046\015\340\223\230\140\256\176\306\044\227
- \212\141\137\221\216\146\222\011\207\066\315\213\233\055\076\366
- \121\324\120\324\131\050\275\203\362\314\050\173\123\206\155\330
- \046\210\160\327\352\221\315\076\271\312\300\220\156\132\306\136
- \164\145\327\134\376\243\342
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "D-TRUST Root Class 3 CA 2 2009"
- # Issuer: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE
- # Serial Number: 623603 (0x983f3)
- # Subject: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE
- # Not Valid Before: Thu Nov 05 08:35:58 2009
- # Not Valid After : Mon Nov 05 08:35:58 2029
- # Fingerprint (MD5): CD:E0:25:69:8D:47:AC:9C:89:35:90:F7:FD:51:3D:2F
-@@ -20223,16 +20333,17 @@ CKA_VALUE MULTILINE_OCTAL
- \173\360\171\121\327\103\075\247\323\201\323\360\311\117\271\332
- \306\227\206\320\202\303\344\102\155\376\260\342\144\116\016\046
- \347\100\064\046\265\010\211\327\010\143\143\070\047\165\036\063
- \352\156\250\335\237\231\117\164\115\201\211\200\113\335\232\227
- \051\134\057\276\201\101\271\214\377\352\175\140\006\236\315\327
- \075\323\056\243\025\274\250\346\046\345\157\303\334\270\003\041
- \352\237\026\361\054\124\265
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "D-TRUST Root Class 3 CA 2 EV 2009"
- # Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
- # Serial Number: 623604 (0x983f4)
- # Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
- # Not Valid Before: Thu Nov 05 08:50:46 2009
- # Not Valid After : Mon Nov 05 08:50:46 2029
- # Fingerprint (MD5): AA:C6:43:2C:5E:2D:CD:C4:34:C0:50:4F:11:02:4F:B6
-@@ -20472,16 +20583,17 @@ CKA_VALUE MULTILINE_OCTAL
- \071\246\202\326\161\312\336\267\325\272\150\010\355\231\314\375
- \242\222\313\151\270\235\371\012\244\246\076\117\223\050\052\141
- \154\007\046\000\377\226\137\150\206\270\270\316\312\125\340\253
- \261\075\177\230\327\063\016\132\075\330\170\302\304\140\057\307
- \142\360\141\221\322\070\260\366\236\125\333\100\200\005\022\063
- \316\035\222\233\321\151\263\377\277\361\222\012\141\065\077\335
- \376\206\364\274\340\032\161\263\142\246
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "PSCProcert"
- # Issuer: E=acraiz(a)suscerte.gob.ve,OU=Superintendencia de Servicios de Certificacion Electronica,O=Sistema Nacional de Certificacion Electronica,ST=Distrito Capital,L=Caracas,C=VE,CN=Autoridad de Certificacion Raiz del Estado Venezolano
- # Serial Number: 11 (0xb)
- # Subject: CN=PSCProcert,C=VE,O=Sistema Nacional de Certificacion Electronica,OU=Proveedor de Certificados PROCERT,ST=Miranda,L=Chacao,E=contacto(a)procert.net.ve
- # Not Valid Before: Tue Dec 28 16:51:00 2010
- # Not Valid After : Fri Dec 25 23:59:59 2020
- # Fingerprint (MD5): E6:24:E9:12:01:AE:0C:DE:8E:85:C4:CE:A3:12:DD:EC
-@@ -20630,16 +20742,17 @@ CKA_VALUE MULTILINE_OCTAL
- \146\102\107\302\130\044\231\341\345\076\345\165\054\216\103\326
- \135\074\170\036\250\225\202\051\120\321\321\026\272\357\301\276
- \172\331\264\330\314\036\114\106\341\167\261\061\253\275\052\310
- \316\217\156\241\135\177\003\165\064\344\255\211\105\124\136\276
- \256\050\245\273\077\170\171\353\163\263\012\015\375\276\311\367
- \126\254\366\267\355\057\233\041\051\307\070\266\225\304\004\362
- \303\055\375\024\052\220\231\271\007\314\237
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "China Internet Network Information Center EV Certificates Root"
- # Issuer: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
- # Serial Number: 1218379777 (0x489f0001)
- # Subject: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
- # Not Valid Before: Tue Aug 31 07:11:25 2010
- # Not Valid After : Sat Aug 31 07:11:25 2030
- # Fingerprint (MD5): 55:5D:63:00:97:BD:6A:97:F5:67:AB:4B:FB:6E:63:15
-@@ -20805,16 +20918,17 @@ CKA_VALUE MULTILINE_OCTAL
- \361\377\246\100\005\205\005\134\312\007\031\134\013\023\050\114
- \130\177\302\245\357\105\332\140\323\256\145\141\235\123\203\164
- \302\256\362\134\302\026\355\222\076\204\076\163\140\210\274\166
- \364\054\317\320\175\175\323\270\136\321\221\022\020\351\315\335
- \312\045\343\325\355\231\057\276\165\201\113\044\371\105\106\224
- \311\051\041\123\234\046\105\252\023\027\344\347\315\170\342\071
- \301\053\022\236\246\236\033\305\346\016\331\061\331
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Swisscom Root CA 2"
- # Issuer: CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:1e:9e:28:e8:48:f2:e5:ef:c3:7c:4a:1e:5a:18:67:b6
- # Subject: CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Fri Jun 24 08:38:14 2011
- # Not Valid After : Wed Jun 25 07:38:14 2031
- # Fingerprint (MD5): 5B:04:69:EC:A5:83:94:63:18:A7:86:D0:E4:F2:6E:19
-@@ -20980,16 +21094,17 @@ CKA_VALUE MULTILINE_OCTAL
- \234\337\164\326\360\100\025\035\310\271\217\265\066\305\257\370
- \042\270\312\035\363\326\266\031\017\237\141\145\152\352\164\310
- \174\217\303\117\135\145\202\037\331\015\211\332\165\162\373\357
- \361\107\147\023\263\310\321\031\210\047\046\232\231\171\177\036
- \344\054\077\173\356\361\336\115\213\226\227\303\325\077\174\033
- \043\355\244\263\035\026\162\103\113\040\341\131\176\302\350\255
- \046\277\242\367
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Swisscom Root EV CA 2"
- # Issuer: CN=Swisscom Root EV CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:00:f2:fa:64:e2:74:63:d3:8d:fd:10:1d:04:1f:76:ca:58
- # Subject: CN=Swisscom Root EV CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Fri Jun 24 09:45:08 2011
- # Not Valid After : Wed Jun 25 08:45:08 2031
- # Fingerprint (MD5): 7B:30:34:9F:DD:0A:4B:6B:35:CA:31:51:28:5D:AE:EC
-@@ -21144,16 +21259,17 @@ CKA_VALUE MULTILINE_OCTAL
- \001\347\177\227\017\327\362\173\031\375\032\327\217\311\372\205
- \153\172\235\236\211\266\246\050\231\223\210\100\367\076\315\121
- \243\312\352\357\171\107\041\265\376\062\342\307\303\121\157\276
- \200\164\360\244\303\072\362\117\351\137\337\031\012\362\073\023
- \103\254\061\244\263\347\353\374\030\326\001\251\363\052\217\066
- \016\353\264\261\274\267\114\311\153\277\241\363\331\364\355\342
- \360\343\355\144\236\075\057\226\122\117\200\123\213
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA Disig Root R1"
- # Issuer: CN=CA Disig Root R1,O=Disig a.s.,L=Bratislava,C=SK
- # Serial Number:00:c3:03:9a:ee:50:90:6e:28
- # Subject: CN=CA Disig Root R1,O=Disig a.s.,L=Bratislava,C=SK
- # Not Valid Before: Thu Jul 19 09:06:56 2012
- # Not Valid After : Sat Jul 19 09:06:56 2042
- # Fingerprint (MD5): BE:EC:11:93:9A:F5:69:21:BC:D7:C1:C0:67:89:CC:2A
-@@ -21306,16 +21422,17 @@ CKA_VALUE MULTILINE_OCTAL
- \233\116\166\300\216\175\375\244\045\307\107\355\377\037\163\254
- \314\303\245\351\157\012\216\233\145\302\120\205\265\243\240\123
- \022\314\125\207\141\363\201\256\020\106\141\275\104\041\270\302
- \075\164\317\176\044\065\372\034\007\016\233\075\042\312\357\061
- \057\214\254\022\275\357\100\050\374\051\147\237\262\023\117\146
- \044\304\123\031\351\036\051\025\357\346\155\260\177\055\147\375
- \363\154\033\165\106\243\345\112\027\351\244\327\013
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA Disig Root R2"
- # Issuer: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK
- # Serial Number:00:92:b8:88:db:b0:8a:c1:63
- # Subject: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK
- # Not Valid Before: Thu Jul 19 09:15:30 2012
- # Not Valid After : Sat Jul 19 09:15:30 2042
- # Fingerprint (MD5): 26:01:FB:D8:27:A7:17:9A:45:54:38:1A:43:01:3B:03
-@@ -21505,16 +21622,17 @@ CKA_VALUE MULTILINE_OCTAL
- \346\301\232\351\036\002\107\237\052\250\155\251\133\317\354\105
- \167\177\230\047\232\062\135\052\343\204\356\305\230\146\057\226
- \040\035\335\330\303\047\327\260\371\376\331\175\315\320\237\217
- \013\024\130\121\237\057\213\303\070\055\336\350\217\326\215\207
- \244\365\126\103\026\231\054\364\244\126\264\064\270\141\067\311
- \302\130\200\033\240\227\241\374\131\215\351\021\366\321\017\113
- \125\064\106\052\213\206\073
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "ACCVRAIZ1"
- # Issuer: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1
- # Serial Number:5e:c3:b7:a6:43:7f:a4:e0
- # Subject: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1
- # Not Valid Before: Thu May 05 09:37:37 2011
- # Not Valid After : Tue Dec 31 09:37:37 2030
- # Fingerprint (MD5): D0:A0:5A:EE:05:B6:09:94:21:A1:7D:F1:B2:29:82:02
-@@ -21664,16 +21782,17 @@ CKA_VALUE MULTILINE_OCTAL
- \301\255\175\204\003\074\020\170\206\033\171\343\304\363\362\004
- \225\040\256\043\202\304\263\072\000\142\277\346\066\044\341\127
- \272\307\036\220\165\325\137\077\225\141\053\301\073\315\345\263
- \150\141\320\106\046\251\041\122\151\055\353\056\307\353\167\316
- \246\072\265\003\063\117\166\321\347\134\124\001\135\313\170\364
- \311\014\277\317\022\216\027\055\043\150\224\347\253\376\251\262
- \053\006\320\004\315
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TWCA Global Root CA"
- # Issuer: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
- # Serial Number: 3262 (0xcbe)
- # Subject: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
- # Not Valid Before: Wed Jun 27 06:28:33 2012
- # Not Valid After : Tue Dec 31 15:59:59 2030
- # Fingerprint (MD5): F9:03:7E:CF:E6:9E:3C:73:7A:2A:90:07:69:FF:2B:96
-@@ -21820,16 +21939,17 @@ CKA_VALUE MULTILINE_OCTAL
- \255\316\364\370\151\024\144\071\373\243\270\272\160\100\307\047
- \034\277\304\126\123\372\143\145\320\363\034\016\026\365\153\206
- \130\115\030\324\344\015\216\245\235\133\221\334\166\044\120\077
- \306\052\373\331\267\234\265\326\346\320\331\350\031\213\025\161
- \110\255\267\352\330\131\210\324\220\277\026\263\331\351\254\131
- \141\124\310\034\272\312\301\312\341\271\040\114\217\072\223\211
- \245\240\314\277\323\366\165\244\165\226\155\126
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TeliaSonera Root CA v1"
- # Issuer: CN=TeliaSonera Root CA v1,O=TeliaSonera
- # Serial Number:00:95:be:16:a0:f7:2e:46:f1:7b:39:82:72:fa:8b:cd:96
- # Subject: CN=TeliaSonera Root CA v1,O=TeliaSonera
- # Not Valid Before: Thu Oct 18 12:00:50 2007
- # Not Valid After : Mon Oct 18 12:00:50 2032
- # Fingerprint (MD5): 37:41:49:1B:18:56:9A:26:F5:AD:C2:66:FB:40:A5:4C
-@@ -22007,16 +22127,17 @@ CKA_VALUE MULTILINE_OCTAL
- \237\211\213\375\067\137\137\072\316\070\131\206\113\257\161\013
- \264\330\362\160\117\237\062\023\343\260\247\127\345\332\332\103
- \313\204\064\362\050\304\352\155\364\052\357\301\153\166\332\373
- \176\273\205\074\322\123\302\115\276\161\341\105\321\375\043\147
- \015\023\165\373\317\145\147\042\235\256\260\011\321\011\377\035
- \064\277\376\043\227\067\322\071\372\075\015\006\013\264\333\073
- \243\253\157\134\035\266\176\350\263\202\064\355\006\134\044
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "E-Tugra Certification Authority"
- # Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:6a:68:3e:9c:51:9b:cb:53
- # Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Tue Mar 05 12:09:48 2013
- # Not Valid After : Fri Mar 03 12:09:48 2023
- # Fingerprint (MD5): B8:A1:03:63:B0:BD:21:71:70:8A:6F:13:3A:BB:79:49
-@@ -22155,16 +22276,17 @@ CKA_VALUE MULTILINE_OCTAL
- \203\125\352\174\302\051\211\033\351\157\263\316\342\005\204\311
- \057\076\170\205\142\156\311\137\301\170\143\164\130\300\110\030
- \014\231\071\353\244\314\032\265\171\132\215\025\234\330\024\015
- \366\172\007\127\307\042\203\005\055\074\233\045\046\075\030\263
- \251\103\174\310\310\253\144\217\016\243\277\234\033\235\060\333
- \332\320\031\056\252\074\361\373\063\200\166\344\315\255\031\117
- \005\047\216\023\241\156\302
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "T-TeleSec GlobalRoot Class 2"
- # Issuer: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Serial Number: 1 (0x1)
- # Subject: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Not Valid Before: Wed Oct 01 10:40:14 2008
- # Not Valid After : Sat Oct 01 23:59:59 2033
- # Fingerprint (MD5): 2B:9B:9E:E4:7B:6C:1F:00:72:1A:CC:C1:77:79:DF:6A
-@@ -22285,16 +22407,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\024\357\264\021\377\016\025\265\365\365\333\306\275\353\132
- \247\360\126\042\251\074\145\124\306\025\250\275\206\236\315\203
- \226\150\172\161\201\211\341\013\341\352\021\033\150\010\314\151
- \236\354\236\101\236\104\062\046\172\342\207\012\161\075\353\344
- \132\244\322\333\305\315\306\336\140\177\271\363\117\104\222\357
- \052\267\030\076\247\031\331\013\175\261\067\101\102\260\272\140
- \035\362\376\011\021\260\360\207\173\247\235
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Atos TrustedRoot 2011"
- # Issuer: C=DE,O=Atos,CN=Atos TrustedRoot 2011
- # Serial Number:5c:33:cb:62:2c:5f:b3:32
- # Subject: C=DE,O=Atos,CN=Atos TrustedRoot 2011
- # Not Valid Before: Thu Jul 07 14:58:30 2011
- # Not Valid After : Tue Dec 31 23:59:59 2030
- # Fingerprint (MD5): AE:B9:C4:32:4B:AC:7F:5D:66:CC:77:94:BB:2A:77:56
-@@ -22444,16 +22567,17 @@ CKA_VALUE MULTILINE_OCTAL
- \353\134\237\336\263\257\147\003\263\037\335\155\135\151\150\151
- \253\136\072\354\174\151\274\307\073\205\116\236\025\271\264\025
- \117\303\225\172\130\327\311\154\351\154\271\363\051\143\136\264
- \054\360\055\075\355\132\145\340\251\133\100\302\110\231\201\155
- \236\037\006\052\074\022\264\213\017\233\242\044\360\246\215\326
- \172\340\113\266\144\226\143\225\204\302\112\315\034\056\044\207
- \063\140\345\303
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 1 G3"
- # Issuer: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM
- # Serial Number:78:58:5f:2e:ad:2c:19:4b:e3:37:07:35:34:13:28:b5:96:d4:65:93
- # Subject: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 17:27:44 2012
- # Not Valid After : Sun Jan 12 17:27:44 2042
- # Fingerprint (SHA-256): 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74
-@@ -22605,16 +22729,17 @@ CKA_VALUE MULTILINE_OCTAL
- \374\267\003\111\002\133\310\045\346\342\124\070\365\171\207\214
- \035\123\262\116\205\173\006\070\307\054\370\370\260\162\215\045
- \345\167\122\364\003\034\110\246\120\137\210\040\060\156\362\202
- \103\253\075\227\204\347\123\373\041\301\117\017\042\232\206\270
- \131\052\366\107\075\031\210\055\350\205\341\236\354\205\010\152
- \261\154\064\311\035\354\110\053\073\170\355\146\304\216\171\151
- \203\336\177\214
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 2 G3"
- # Issuer: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
- # Serial Number:44:57:34:24:5b:81:89:9b:35:f2:ce:b8:2b:3b:5b:a7:26:f0:75:28
- # Subject: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 18:59:32 2012
- # Not Valid After : Sun Jan 12 18:59:32 2042
- # Fingerprint (SHA-256): 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40
-@@ -22766,16 +22891,17 @@ CKA_VALUE MULTILINE_OCTAL
- \046\350\354\266\013\055\247\205\065\315\375\131\310\237\321\315
- \076\132\051\064\271\075\204\316\261\145\324\131\221\221\126\165
- \041\301\167\236\371\172\341\140\235\323\255\004\030\364\174\353
- \136\223\217\123\112\042\051\370\110\053\076\115\206\254\133\177
- \313\006\231\131\140\330\130\145\225\215\104\321\367\177\176\047
- \177\175\256\200\365\007\114\266\076\234\161\124\231\004\113\375
- \130\371\230\364
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 3 G3"
- # Issuer: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM
- # Serial Number:2e:f5:9b:02:28:a7:db:7a:ff:d5:a3:a9:ee:bd:03:a0:cf:12:6a:1d
- # Subject: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 20:26:32 2012
- # Not Valid After : Sun Jan 12 20:26:32 2042
- # Fingerprint (SHA-256): 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46
-@@ -22902,16 +23028,17 @@ CKA_VALUE MULTILINE_OCTAL
- \007\234\242\272\331\001\162\134\363\115\301\335\016\261\034\015
- \304\143\276\255\364\024\373\211\354\242\101\016\114\314\310\127
- \100\320\156\003\252\315\014\216\211\231\231\154\360\074\060\257
- \070\337\157\274\243\276\051\040\047\253\164\377\023\042\170\336
- \227\122\125\036\203\265\124\040\003\356\256\300\117\126\336\067
- \314\303\177\252\004\047\273\323\167\270\142\333\027\174\234\050
- \042\023\163\154\317\046\365\212\051\347
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Assured ID Root G2"
- # Issuer: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0b:93:1c:3a:d6:39:67:ea:67:23:bf:c3:af:9a:f4:4b
- # Subject: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85
-@@ -23019,16 +23146,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\147\000\060\144\002\060\045\244\201\105\002\153\022\113
- \165\164\117\310\043\343\160\362\165\162\336\174\211\360\317\221
- \162\141\236\136\020\222\131\126\271\203\307\020\347\070\351\130
- \046\066\175\325\344\064\206\071\002\060\174\066\123\360\060\345
- \142\143\072\231\342\266\243\073\233\064\372\036\332\020\222\161
- \136\221\023\247\335\244\156\222\314\062\326\365\041\146\307\057
- \352\226\143\152\145\105\222\225\001\264
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Assured ID Root G3"
- # Issuer: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0b:a1:5a:fa:1d:df:a0:b5:49:44:af:cd:24:a0:6c:ec
- # Subject: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2
-@@ -23157,16 +23285,17 @@ CKA_VALUE MULTILINE_OCTAL
- \362\261\216\231\241\157\023\261\101\161\376\210\052\310\117\020
- \040\125\327\363\024\105\345\340\104\364\352\207\225\062\223\016
- \376\123\106\372\054\235\377\213\042\271\113\331\011\105\244\336
- \244\270\232\130\335\033\175\122\237\216\131\103\210\201\244\236
- \046\325\157\255\335\015\306\067\175\355\003\222\033\345\167\137
- \166\356\074\215\304\135\126\133\242\331\146\156\263\065\067\345
- \062\266
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Global Root G2"
- # Issuer: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:03:3a:f1:e6:a7:11:a9:a0:bb:28:64:b1:1d:09:fa:e5
- # Subject: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F
-@@ -23274,16 +23403,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\255\274\362\154\077\022\112\321\055\071\303\012\011\227\163
- \364\210\066\214\210\047\273\346\210\215\120\205\247\143\371\236
- \062\336\146\223\017\361\314\261\011\217\335\154\253\372\153\177
- \240\002\060\071\146\133\302\144\215\270\236\120\334\250\325\111
- \242\355\307\334\321\111\177\027\001\270\310\206\217\116\214\210
- \053\250\232\251\212\305\321\000\275\370\124\342\232\345\133\174
- \263\047\027
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Global Root G3"
- # Issuer: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:05:55:56:bc:f2:5e:a4:35:35:c3:a4:0f:d5:ab:45:72
- # Subject: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0
-@@ -23444,16 +23574,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\154\311\012\274\356\103\372\072\161\245\310\115\046\245\065
- \375\211\135\274\205\142\035\062\322\240\053\124\355\232\127\301
- \333\372\020\317\031\267\213\112\033\217\001\266\047\225\123\350
- \266\211\155\133\274\150\324\043\350\213\121\242\126\371\360\246
- \200\240\326\036\263\274\017\017\123\165\051\252\352\023\167\344
- \336\214\201\041\255\007\020\107\021\255\207\075\007\321\165\274
- \317\363\146\176
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Trusted Root G4"
- # Issuer: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:05:9b:1b:57:9e:8e:21:32:e2:39:07:bd:a7:77:75:5c
- # Subject: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88
-@@ -23610,16 +23741,17 @@ CKA_VALUE MULTILINE_OCTAL
- \047\274\172\277\340\333\364\332\122\275\336\014\124\160\061\221
- \103\225\310\274\360\076\335\011\176\060\144\120\355\177\001\244
- \063\147\115\150\117\276\025\357\260\366\002\021\242\033\023\045
- \072\334\302\131\361\343\134\106\273\147\054\002\106\352\036\110
- \246\346\133\331\265\274\121\242\222\226\333\252\306\067\042\246
- \376\314\040\164\243\055\251\056\153\313\300\202\021\041\265\223
- \171\356\104\206\276\327\036\344\036\373
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "WoSign"
- # Issuer: CN=Certification Authority of WoSign,O=WoSign CA Limited,C=CN
- # Serial Number:5e:68:d6:11:71:94:63:50:56:00:68:f3:3e:c9:c5:91
- # Subject: CN=Certification Authority of WoSign,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Aug 08 01:00:01 2009
- # Not Valid After : Mon Aug 08 01:00:01 2039
- # Fingerprint (SHA-256): 4B:22:D5:A6:AE:C9:9F:3C:DB:79:AA:5E:C0:68:38:47:9C:D5:EC:BA:71:64:F7:F2:2D:C1:D6:5F:63:D8:57:08
-@@ -23771,16 +23903,17 @@ CKA_VALUE MULTILINE_OCTAL
- \324\175\253\227\063\304\323\076\340\151\266\050\171\240\011\215
- \034\321\377\101\162\110\006\374\232\056\347\040\371\233\242\336
- \211\355\256\074\011\257\312\127\263\222\211\160\100\344\057\117
- \302\160\203\100\327\044\054\153\347\011\037\323\325\307\301\010
- \364\333\016\073\034\007\013\103\021\204\041\206\351\200\324\165
- \330\253\361\002\142\301\261\176\125\141\317\023\327\046\260\327
- \234\313\051\213\070\112\013\016\220\215\272\241
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "WoSign China"
- # Issuer: CN=CA ...............,O=WoSign CA Limited,C=CN
- # Serial Number:50:70:6b:cd:d8:13:fc:1b:4e:3b:33:72:d2:11:48:8d
- # Subject: CN=CA ...............,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Aug 08 01:00:01 2009
- # Not Valid After : Mon Aug 08 01:00:01 2039
- # Fingerprint (SHA-256): D6:F0:34:BD:94:AA:23:3F:02:97:EC:A4:24:5B:28:39:73:E4:47:AA:59:0F:31:0C:77:F4:8F:DF:83:11:22:54
-@@ -23947,16 +24080,17 @@ CKA_VALUE MULTILINE_OCTAL
- \100\350\123\262\047\235\112\271\300\167\041\215\377\207\362\336
- \274\214\357\027\337\267\111\013\321\362\156\060\013\032\016\116
- \166\355\021\374\365\351\126\262\175\277\307\155\012\223\214\245
- \320\300\266\035\276\072\116\224\242\327\156\154\013\302\212\174
- \372\040\363\304\344\345\315\015\250\313\221\222\261\174\205\354
- \265\024\151\146\016\202\347\315\316\310\055\246\121\177\041\301
- \065\123\205\006\112\135\237\255\273\033\137\164
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "COMODO RSA Certification Authority"
- # Issuer: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d
- # Subject: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Tue Jan 19 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34
-@@ -24128,16 +24262,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\233\267\220\307\014\007\337\365\211\066\164\062\326\050\301
- \260\260\013\340\234\114\303\034\326\374\343\151\265\107\106\201
- \057\242\202\253\323\143\104\160\304\215\377\055\063\272\255\217
- \173\265\160\210\256\076\031\317\100\050\330\374\310\220\273\135
- \231\042\365\122\346\130\305\037\210\061\103\356\210\035\327\306
- \216\074\103\152\035\247\030\336\175\075\026\361\142\371\312\220
- \250\375
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "USERTrust RSA Certification Authority"
- # Issuer: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Serial Number:01:fd:6d:30:fc:a3:ca:51:a8:1b:bc:64:0e:35:03:2d
- # Subject: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Not Valid Before: Mon Feb 01 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2
-@@ -24256,16 +24391,17 @@ CKA_VALUE MULTILINE_OCTAL
- \066\147\241\026\010\334\344\227\000\101\035\116\276\341\143\001
- \317\073\252\102\021\144\240\235\224\071\002\021\171\134\173\035
- \372\144\271\356\026\102\263\277\212\302\011\304\354\344\261\115
- \002\061\000\351\052\141\107\214\122\112\113\116\030\160\366\326
- \104\326\156\365\203\272\155\130\275\044\331\126\110\352\357\304
- \242\106\201\210\152\072\106\321\251\233\115\311\141\332\321\135
- \127\152\030
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "USERTrust ECC Certification Authority"
- # Issuer: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Serial Number:5c:8b:99:c5:5a:94:c5:d2:71:56:de:cd:89:80:cc:26
- # Subject: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Not Valid Before: Mon Feb 01 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A
-@@ -24367,16 +24503,17 @@ CKA_VALUE MULTILINE_OCTAL
- \270\342\100\177\373\012\156\373\276\063\311\074\243\204\325\060
- \012\006\010\052\206\110\316\075\004\003\002\003\110\000\060\105
- \002\041\000\334\222\241\240\023\246\317\003\260\346\304\041\227
- \220\372\024\127\055\003\354\356\074\323\156\312\250\154\166\274
- \242\336\273\002\040\047\250\205\047\065\233\126\306\243\362\107
- \322\267\156\033\002\000\027\252\147\246\025\221\336\372\224\354
- \173\013\370\237\204
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "GlobalSign ECC Root CA - R4"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
- # Serial Number:2a:38:a4:1c:96:0a:04:de:42:b2:28:a5:0b:e8:34:98:02
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
- # Not Valid Before: Tue Nov 13 00:00:00 2012
- # Not Valid After : Tue Jan 19 03:14:07 2038
- # Fingerprint (SHA-256): BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C
-@@ -24479,16 +24616,17 @@ CKA_VALUE MULTILINE_OCTAL
- \345\151\022\311\156\333\306\061\272\011\101\341\227\370\373\375
- \232\342\175\022\311\355\174\144\323\313\005\045\213\126\331\240
- \347\136\135\116\013\203\234\133\166\051\240\011\046\041\152\142
- \002\060\161\322\265\217\134\352\073\341\170\011\205\250\165\222
- \073\310\134\375\110\357\015\164\042\250\010\342\156\305\111\316
- \307\014\274\247\141\151\361\367\073\341\052\313\371\053\363\146
- \220\067
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "GlobalSign ECC Root CA - R5"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
- # Serial Number:60:59:49:e0:26:2e:bb:55:f9:0a:77:8a:71:f9:4a:d8:6c
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
- # Not Valid Before: Tue Nov 13 00:00:00 2012
- # Not Valid After : Tue Jan 19 03:14:07 2038
- # Fingerprint (SHA-256): 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24
-@@ -24653,16 +24791,17 @@ CKA_VALUE MULTILINE_OCTAL
- \107\234\167\307\045\341\254\064\005\115\363\202\176\101\043\272
- \264\127\363\347\306\001\145\327\115\211\231\034\151\115\136\170
- \366\353\162\161\075\262\304\225\001\237\135\014\267\057\045\246
- \134\171\101\357\236\304\147\074\241\235\177\161\072\320\225\227
- \354\170\102\164\230\156\276\076\150\114\127\074\250\223\101\207
- \013\344\271\257\221\373\120\114\014\272\300\044\047\321\025\333
- \145\110\041\012\057\327\334\176\240\314\145\176\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "VeriSign-C3SSA-G2-temporary-intermediate-after-1024bit-removal"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:2f:00:6e:cd:17:70:66:e7:5f:a3:82:0a:79:1f:05:ae
- # Subject: CN=VeriSign Class 3 Secure Server CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Thu Mar 26 00:00:00 2009
- # Not Valid After : Sun Mar 24 23:59:59 2019
- # Fingerprint (SHA-256): 0A:41:51:D5:E5:8B:84:B8:AC:E5:3A:5C:12:12:2A:C9:59:CD:69:91:FB:B3:8E:99:B5:76:C0:AB:DA:C3:58:14
-@@ -24824,16 +24963,17 @@ CKA_VALUE MULTILINE_OCTAL
- \325\131\242\211\164\323\237\276\036\113\327\306\155\267\210\044
- \157\140\221\244\202\205\133\126\101\274\320\104\253\152\023\276
- \321\054\130\267\022\063\130\262\067\143\334\023\365\224\035\077
- \100\121\365\117\365\072\355\310\305\353\302\036\035\026\225\172
- \307\176\102\161\223\156\113\025\267\060\337\252\355\127\205\110
- \254\035\152\335\071\151\344\341\171\170\276\316\005\277\241\014
- \367\200\173\041\147\047\060\131
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Staat der Nederlanden Root CA - G3"
- # Issuer: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL
- # Serial Number: 10003001 (0x98a239)
- # Subject: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Thu Nov 14 11:28:42 2013
- # Not Valid After : Mon Nov 13 23:00:00 2028
- # Fingerprint (SHA-256): 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28
-@@ -24987,16 +25127,17 @@ CKA_VALUE MULTILINE_OCTAL
- \170\157\120\202\104\120\077\146\006\212\253\103\204\126\112\017
- \040\055\206\016\365\322\333\322\172\212\113\315\245\350\116\361
- \136\046\045\001\131\043\240\176\322\366\176\041\127\327\047\274
- \025\127\114\244\106\301\340\203\036\014\114\115\037\117\006\031
- \342\371\250\364\072\202\241\262\171\103\171\326\255\157\172\047
- \220\003\244\352\044\207\077\331\275\331\351\362\137\120\111\034
- \356\354\327\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Staat der Nederlanden EV Root CA"
- # Issuer: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL
- # Serial Number: 10000013 (0x98968d)
- # Subject: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Wed Dec 08 11:19:29 2010
- # Not Valid After : Thu Dec 08 11:10:28 2022
- # Fingerprint (SHA-256): 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A
-@@ -25148,16 +25289,17 @@ CKA_VALUE MULTILINE_OCTAL
- \312\112\201\153\136\013\363\121\341\164\053\351\176\047\247\331
- \231\111\116\370\245\200\333\045\017\034\143\142\212\311\063\147
- \153\074\020\203\306\255\336\250\315\026\216\215\360\007\067\161
- \237\362\253\374\101\365\301\213\354\000\067\135\011\345\116\200
- \357\372\261\134\070\006\245\033\112\341\334\070\055\074\334\253
- \037\220\032\325\112\234\356\321\160\154\314\356\364\127\370\030
- \272\204\156\207
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "IdenTrust Commercial Root CA 1"
- # Issuer: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
- # Serial Number:0a:01:42:80:00:00:01:45:23:c8:44:b5:00:00:00:02
- # Subject: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
- # Not Valid Before: Thu Jan 16 18:12:23 2014
- # Not Valid After : Mon Jan 16 18:12:23 2034
- # Fingerprint (SHA-256): 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE
-@@ -25309,16 +25451,17 @@ CKA_VALUE MULTILINE_OCTAL
- \150\011\061\161\360\155\370\116\107\373\326\205\356\305\130\100
- \031\244\035\247\371\113\103\067\334\150\132\117\317\353\302\144
- \164\336\264\025\331\364\124\124\032\057\034\327\227\161\124\220
- \216\331\040\235\123\053\177\253\217\342\352\060\274\120\067\357
- \361\107\265\175\174\054\004\354\150\235\264\111\104\020\364\162
- \113\034\144\347\374\346\153\220\335\151\175\151\375\000\126\245
- \267\254\266\255\267\312\076\001\357\234
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "IdenTrust Public Sector Root CA 1"
- # Issuer: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US
- # Serial Number:0a:01:42:80:00:00:01:45:23:cf:46:7c:00:00:00:02
- # Subject: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US
- # Not Valid Before: Thu Jan 16 17:53:32 2014
- # Not Valid After : Mon Jan 16 17:53:32 2034
- # Fingerprint (SHA-256): 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F
-@@ -25453,16 +25596,17 @@ CKA_VALUE MULTILINE_OCTAL
- \217\252\302\107\057\024\161\325\051\343\020\265\107\223\045\314
- \043\051\332\267\162\330\221\324\354\033\110\212\042\344\301\052
- \367\072\150\223\237\105\031\156\103\267\314\376\270\221\232\141
- \032\066\151\143\144\222\050\363\157\141\222\205\023\237\311\007
- \054\213\127\334\353\236\171\325\302\336\010\325\124\262\127\116
- \052\062\215\241\342\072\321\020\040\042\071\175\064\105\157\161
- \073\303\035\374\377\262\117\250\342\366\060\036
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "S-TRUST Universal Root CA"
- # Issuer: CN=S-TRUST Universal Root CA,OU=S-TRUST Certification Services,O=Deutscher Sparkassen Verlag GmbH,C=DE
- # Serial Number:60:56:c5:4b:23:40:5b:64:d4:ed:25:da:d9:d6:1e:1e
- # Subject: CN=S-TRUST Universal Root CA,OU=S-TRUST Certification Services,O=Deutscher Sparkassen Verlag GmbH,C=DE
- # Not Valid Before: Tue Oct 22 00:00:00 2013
- # Not Valid After : Thu Oct 21 23:59:59 2038
- # Fingerprint (SHA-256): D8:0F:EF:91:0A:E3:F1:04:72:3B:04:5C:EC:2D:01:9F:44:1C:E6:21:3A:DF:15:67:91:E7:0C:17:90:11:0A:31
-@@ -25615,16 +25759,17 @@ CKA_VALUE MULTILINE_OCTAL
- \274\075\320\204\350\352\006\162\260\115\071\062\170\277\076\021
- \234\013\244\235\232\041\363\360\233\013\060\170\333\301\334\207
- \103\376\274\143\232\312\305\302\034\311\307\215\377\073\022\130
- \010\346\266\075\354\172\054\116\373\203\226\316\014\074\151\207
- \124\163\244\163\302\223\377\121\020\254\025\124\001\330\374\005
- \261\211\241\177\164\203\232\111\327\334\116\173\212\110\157\213
- \105\366
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust Root Certification Authority - G2"
- # Issuer: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Serial Number: 1246989352 (0x4a538c28)
- # Subject: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Not Valid Before: Tue Jul 07 17:25:54 2009
- # Not Valid After : Sat Dec 07 17:55:54 2030
- # Fingerprint (SHA-256): 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
-@@ -25759,16 +25904,17 @@ CKA_VALUE MULTILINE_OCTAL
- \075\004\003\003\003\147\000\060\144\002\060\141\171\330\345\102
- \107\337\034\256\123\231\027\266\157\034\175\341\277\021\224\321
- \003\210\165\344\215\211\244\212\167\106\336\155\141\357\002\365
- \373\265\337\314\376\116\377\376\251\346\247\002\060\133\231\327
- \205\067\006\265\173\010\375\353\047\213\112\224\371\341\372\247
- \216\046\010\350\174\222\150\155\163\330\157\046\254\041\002\270
- \231\267\046\101\133\045\140\256\320\110\032\356\006
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust Root Certification Authority - EC1"
- # Issuer: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Serial Number:00:a6:8b:79:29:00:00:00:00:50:d0:91:f9
- # Subject: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Not Valid Before: Tue Dec 18 15:25:36 2012
- # Not Valid After : Fri Dec 18 15:55:36 2037
- # Fingerprint (SHA-256): 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5
-@@ -25931,16 +26077,17 @@ CKA_VALUE MULTILINE_OCTAL
- \110\171\140\212\303\327\023\134\370\162\100\337\112\313\317\231
- \000\012\000\013\021\225\332\126\105\003\210\012\237\147\320\325
- \171\261\250\215\100\155\015\302\172\100\372\363\137\144\107\222
- \313\123\271\273\131\316\117\375\320\025\123\001\330\337\353\331
- \346\166\357\320\043\273\073\251\171\263\325\002\051\315\211\243
- \226\017\112\065\347\116\102\300\165\315\007\317\346\054\353\173
- \056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CFCA EV ROOT"
- # Issuer: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
- # Serial Number: 407555286 (0x184accd6)
- # Subject: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
- # Not Valid Before: Wed Aug 08 03:07:01 2012
- # Not Valid After : Mon Dec 31 03:07:01 2029
- # Fingerprint (SHA-256): 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD
-@@ -26228,16 +26375,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\346\025\204\067\360\302\362\145\226\222\220\167\360\255\364
- \220\351\021\170\327\223\211\300\075\013\272\051\364\350\231\235
- \162\216\355\235\057\356\222\175\241\361\377\135\272\063\140\205
- \142\376\007\002\241\204\126\106\276\226\012\232\023\327\041\114
- \267\174\007\237\116\116\077\221\164\373\047\235\021\314\335\346
- \261\312\161\115\023\027\071\046\305\051\041\053\223\051\152\226
- \372\253\101\341\113\266\065\013\300\233\025
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TRKTRUST Elektronik Sertifika Hizmet Salaycs H5"
- # Issuer: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H5,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:00:8e:17:fe:24:20:81
- # Subject: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H5,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Tue Apr 30 08:07:01 2013
- # Not Valid After : Fri Apr 28 08:07:01 2023
- # Fingerprint (SHA-256): 49:35:1B:90:34:44:C1:85:CC:DC:5C:69:3D:24:D8:55:5C:B2:08:D6:A8:14:13:07:69:9F:4A:F0:63:19:9D:78
-@@ -26388,16 +26536,17 @@ CKA_VALUE MULTILINE_OCTAL
- \200\216\255\176\121\000\116\307\226\206\373\103\230\167\175\050
- \307\217\330\052\156\347\204\157\227\101\051\000\026\136\115\342
- \023\352\131\300\143\147\072\104\373\230\374\004\323\060\162\246
- \366\207\011\127\255\166\246\035\143\232\375\327\145\310\170\203
- \053\165\073\245\133\270\015\135\177\276\043\256\126\125\224\130
- \357\037\201\214\052\262\315\346\233\143\236\030\274\345\153\006
- \264\013\230\113\050\136\257\210\130\313
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TRKTRUST Elektronik Sertifika Hizmet Salaycs H6"
- # Issuer: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H6,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:7d:a1:f2:65:ec:8a
- # Subject: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H6,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Wed Dec 18 09:04:10 2013
- # Not Valid After : Sat Dec 16 09:04:10 2023
- # Fingerprint (SHA-256): 8D:E7:86:55:E1:BE:7F:78:47:80:0B:93:F6:94:D2:1D:36:8C:C0:6E:03:3E:7F:AB:04:BB:5E:B9:9D:A6:B7:00
-@@ -26559,16 +26708,17 @@ CKA_VALUE MULTILINE_OCTAL
- \307\132\141\315\217\201\140\025\115\200\335\220\342\175\304\120
- \362\214\073\156\112\307\306\346\200\053\074\201\274\021\200\026
- \020\047\327\360\315\077\171\314\163\052\303\176\123\221\326\156
- \370\365\363\307\320\121\115\216\113\245\133\346\031\027\073\326
- \201\011\334\042\334\356\216\271\304\217\123\341\147\273\063\270
- \210\025\106\317\355\151\065\377\165\015\106\363\316\161\341\305
- \153\206\102\006\271\101
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certinomis - Root CA"
- # Issuer: CN=Certinomis - Root CA,OU=0002 433998903,O=Certinomis,C=FR
- # Serial Number: 1 (0x1)
- # Subject: CN=Certinomis - Root CA,OU=0002 433998903,O=Certinomis,C=FR
- # Not Valid Before: Mon Oct 21 09:17:18 2013
- # Not Valid After : Fri Oct 21 09:17:18 2033
- # Fingerprint (SHA-256): 2A:99:F5:BC:11:74:B7:3C:BB:1D:62:08:84:E0:1C:34:E5:1C:CB:39:78:DA:12:5F:0E:33:26:88:83:BF:41:58
-@@ -26697,16 +26847,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\253\226\300\264\113\242\035\227\236\172\362\156\100\161\337
- \150\361\145\115\316\174\005\337\123\145\251\245\360\261\227\004
- \160\025\106\003\230\324\322\277\124\264\240\130\175\122\157\332
- \126\046\142\324\330\333\211\061\157\034\360\042\302\323\142\034
- \065\315\114\151\025\124\032\220\230\336\353\036\137\312\167\307
- \313\216\075\103\151\234\232\130\320\044\073\337\033\100\226\176
- \065\255\201\307\116\161\272\210\023
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OISTE WISeKey Global Root GB CA"
- # Issuer: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
- # Serial Number:76:b1:20:52:74:f0:85:87:46:b3:f8:23:1a:f6:c2:c0
- # Subject: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
- # Not Valid Before: Mon Dec 01 15:00:32 2014
- # Not Valid After : Thu Dec 01 15:10:31 2039
- # Fingerprint (SHA-256): 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6
-@@ -26831,16 +26982,17 @@ CKA_VALUE MULTILINE_OCTAL
- \171\266\063\131\272\017\304\013\342\160\240\113\170\056\372\310
- \237\375\257\221\145\012\170\070\025\345\227\027\024\335\371\340
- \054\064\370\070\320\204\042\000\300\024\121\030\053\002\334\060
- \132\360\350\001\174\065\072\043\257\010\344\257\252\216\050\102
- \111\056\360\365\231\064\276\355\017\113\030\341\322\044\074\273
- \135\107\267\041\362\215\321\012\231\216\343\156\076\255\160\340
- \217\271\312\314\156\201\061\366\173\234\172\171\344\147\161\030
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certification Authority of WoSign G2"
- # Issuer: CN=Certification Authority of WoSign G2,O=WoSign CA Limited,C=CN
- # Serial Number:6b:25:da:8a:88:9d:7c:bc:0f:05:b3:b1:7a:61:45:44
- # Subject: CN=Certification Authority of WoSign G2,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Nov 08 00:58:58 2014
- # Not Valid After : Tue Nov 08 00:58:58 2044
- # Fingerprint (SHA-256): D4:87:A5:6F:83:B0:74:82:E8:5E:96:33:94:C1:EC:C2:C9:E5:1D:09:03:EE:94:6B:02:C3:01:58:1E:D9:9E:16
-@@ -26939,16 +27091,17 @@ CKA_VALUE MULTILINE_OCTAL
- \004\003\003\003\150\000\060\145\002\061\000\344\244\204\260\201
- \325\075\260\164\254\224\244\350\016\075\000\164\114\241\227\153
- \371\015\121\074\241\331\073\364\015\253\251\237\276\116\162\312
- \205\324\331\354\265\062\105\030\157\253\255\002\060\175\307\367
- \151\143\057\241\341\230\357\023\020\321\171\077\321\376\352\073
- \177\336\126\364\220\261\025\021\330\262\042\025\320\057\303\046
- \056\153\361\221\262\220\145\364\232\346\220\356\112
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA WoSign ECC Root"
- # Issuer: CN=CA WoSign ECC Root,O=WoSign CA Limited,C=CN
- # Serial Number:68:4a:58:70:80:6b:f0:8f:02:fa:f6:de:e8:b0:90:90
- # Subject: CN=CA WoSign ECC Root,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Nov 08 00:58:58 2014
- # Not Valid After : Tue Nov 08 00:58:58 2044
- # Fingerprint (SHA-256): 8B:45:DA:1C:06:F7:91:EB:0C:AB:F2:6B:E5:88:F5:FB:23:16:5C:2E:61:4B:F8:85:56:2D:0D:CE:50:B2:9B:02
-@@ -27071,16 +27224,17 @@ CKA_VALUE MULTILINE_OCTAL
- \322\324\141\372\325\025\333\327\237\207\121\124\353\245\343\353
- \311\205\240\045\040\067\373\216\316\014\064\204\341\074\201\262
- \167\116\103\245\210\137\206\147\241\075\346\264\134\141\266\076
- \333\376\267\050\305\242\007\256\265\312\312\215\052\022\357\227
- \355\302\060\244\311\052\172\373\363\115\043\033\231\063\064\240
- \056\365\251\013\077\324\135\341\317\204\237\342\031\302\137\212
- \326\040\036\343\163\267
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "SZAFIR ROOT CA2"
- # Issuer: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL
- # Serial Number:3e:8a:5d:07:ec:55:d2:32:d5:b7:e3:b6:5f:01:eb:2d:dc:e4:d6:e4
- # Subject: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL
- # Not Valid Before: Mon Oct 19 07:43:30 2015
- # Not Valid After : Fri Oct 19 07:43:30 2035
- # Fingerprint (SHA-256): A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE
-@@ -27248,16 +27402,17 @@ CKA_VALUE MULTILINE_OCTAL
- \134\002\312\054\330\157\112\007\331\311\065\332\100\165\362\304
- \247\031\157\236\102\020\230\165\346\225\213\140\274\355\305\022
- \327\212\316\325\230\134\126\226\003\305\356\167\006\065\377\317
- \344\356\077\023\141\356\333\332\055\205\360\315\256\235\262\030
- \011\105\303\222\241\162\027\374\107\266\240\013\054\361\304\336
- \103\150\010\152\137\073\360\166\143\373\314\006\054\246\306\342
- \016\265\271\276\044\217
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certum Trusted Network CA 2"
- # Issuer: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Serial Number:21:d6:d0:4a:4f:25:0f:c9:32:37:fc:aa:5e:12:8d:e9
- # Subject: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Not Valid Before: Thu Oct 06 08:39:56 2011
- # Not Valid After : Sat Oct 06 08:39:56 2046
- # Fingerprint (SHA-256): B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04
-@@ -27434,16 +27589,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\314\073\330\167\067\060\242\117\331\157\321\362\100\255\101
- \172\027\305\326\112\065\211\267\101\325\174\206\177\125\115\203
- \112\245\163\040\300\072\257\220\361\232\044\216\331\216\161\312
- \173\270\206\332\262\217\231\076\035\023\015\022\021\356\324\253
- \360\351\025\166\002\344\340\337\252\040\036\133\141\205\144\100
- \251\220\227\015\255\123\322\132\035\207\152\000\227\145\142\264
- \276\157\152\247\365\054\102\355\062\255\266\041\236\276\274
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Hellenic Academic and Research Institutions RootCA 2015"
- # Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Not Valid Before: Tue Jul 07 10:11:21 2015
- # Not Valid After : Sat Jun 30 10:11:21 2040
- # Fingerprint (SHA-256): A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36
-@@ -27569,16 +27725,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\060\144\002\060\147\316\026\142\070\242\254\142\105\247\251
- \225\044\300\032\047\234\062\073\300\300\325\272\251\347\370\004
- \103\123\205\356\122\041\336\235\365\045\203\076\236\130\113\057
- \327\147\023\016\041\002\060\005\341\165\001\336\150\355\052\037
- \115\114\011\010\015\354\113\255\144\027\050\347\165\316\105\145
- \162\041\027\313\042\101\016\214\023\230\070\232\124\155\233\312
- \342\174\352\002\130\042\221
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Hellenic Academic and Research Institutions ECC RootCA 2015"
- # Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Not Valid Before: Tue Jul 07 10:37:12 2015
- # Not Valid After : Sat Jun 30 10:37:12 2040
- # Fingerprint (SHA-256): 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33
-@@ -27733,16 +27890,17 @@ CKA_VALUE MULTILINE_OCTAL
- \040\222\334\102\204\277\001\253\207\300\325\040\202\333\306\271
- \203\205\102\134\017\103\073\152\111\065\325\230\364\025\277\372
- \141\201\014\011\040\030\322\320\027\014\313\110\000\120\351\166
- \202\214\144\327\072\240\007\125\314\036\061\300\357\072\264\145
- \373\343\277\102\153\236\017\250\275\153\230\334\330\333\313\213
- \244\335\327\131\364\156\335\376\252\303\221\320\056\102\007\300
- \014\115\123\315\044\261\114\133\036\121\364\337\351\222\372
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certplus Root CA G1"
- # Issuer: CN=Certplus Root CA G1,O=Certplus,C=FR
- # Serial Number:11:20:55:83:e4:2d:3e:54:56:85:2d:83:37:b7:2c:dc:46:11
- # Subject: CN=Certplus Root CA G1,O=Certplus,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 15:2A:40:2B:FC:DF:2C:D5:48:05:4D:22:75:B3:9C:7F:CA:3E:C0:97:80:78:B0:F0:EA:76:E5:61:A6:C7:43:3E
-@@ -27838,16 +27996,17 @@ CKA_VALUE MULTILINE_OCTAL
- \110\316\075\004\003\003\003\150\000\060\145\002\060\160\376\260
- \013\331\367\203\227\354\363\125\035\324\334\263\006\016\376\063
- \230\235\213\071\220\153\224\041\355\266\327\135\326\114\327\041
- \247\347\277\041\017\053\315\367\052\334\205\007\235\002\061\000
- \206\024\026\345\334\260\145\302\300\216\024\237\277\044\026\150
- \345\274\371\171\151\334\255\105\053\367\266\061\163\314\006\245
- \123\223\221\032\223\256\160\152\147\272\327\236\345\141\032\137
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certplus Root CA G2"
- # Issuer: CN=Certplus Root CA G2,O=Certplus,C=FR
- # Serial Number:11:20:d9:91:ce:ae:a3:e8:c5:e7:ff:e9:02:af:cf:73:bc:55
- # Subject: CN=Certplus Root CA G2,O=Certplus,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 6C:C0:50:41:E6:44:5E:74:69:6C:4C:FB:C9:F8:0F:54:3B:7E:AB:BB:44:B4:CE:6F:78:7C:6A:99:71:C4:2F:17
-@@ -27999,16 +28158,17 @@ CKA_VALUE MULTILINE_OCTAL
- \076\355\154\275\375\016\235\146\163\260\075\264\367\277\250\340
- \021\244\304\256\165\011\112\143\000\110\040\246\306\235\013\011
- \212\264\340\346\316\076\307\076\046\070\351\053\336\246\010\111
- \003\004\220\212\351\217\277\350\266\264\052\243\043\215\034\034
- \262\071\222\250\217\002\134\100\071\165\324\163\101\002\167\336
- \315\340\103\207\326\344\272\112\303\154\022\177\376\052\346\043
- \326\214\161
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G1"
- # Issuer: CN=OpenTrust Root CA G1,O=OpenTrust,C=FR
- # Serial Number:11:20:b3:90:55:39:7d:7f:36:6d:64:c2:a7:9f:6b:63:8e:67
- # Subject: CN=OpenTrust Root CA G1,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 08:45:50 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 56:C7:71:28:D9:8C:18:D9:1B:4C:FD:FF:BC:25:EE:91:03:D4:75:8E:A2:AB:AD:82:6A:90:F3:45:7D:46:0E:B4
-@@ -28161,16 +28321,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\335\147\023\157\035\150\044\213\117\267\164\201\345\364\140
- \237\172\125\327\076\067\332\026\153\076\167\254\256\030\160\225
- \010\171\051\003\212\376\301\073\263\077\032\017\244\073\136\037
- \130\241\225\311\253\057\163\112\320\055\156\232\131\017\125\030
- \170\055\074\121\246\227\213\346\273\262\160\252\114\021\336\377
- \174\053\067\324\172\321\167\064\217\347\371\102\367\074\201\014
- \113\122\012
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G2"
- # Issuer: CN=OpenTrust Root CA G2,O=OpenTrust,C=FR
- # Serial Number:11:20:a1:69:1b:bf:bd:b9:bd:52:96:8f:23:e8:48:bf:26:11
- # Subject: CN=OpenTrust Root CA G2,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 27:99:58:29:FE:6A:75:15:C1:BF:E8:48:F9:C4:76:1D:B1:6C:22:59:29:25:7B:F4:0D:08:94:F2:9E:A8:BA:F2
-@@ -28270,16 +28431,17 @@ CKA_VALUE MULTILINE_OCTAL
- \061\000\217\250\334\235\272\014\004\027\372\025\351\075\057\051
- \001\227\277\201\026\063\100\223\154\374\371\355\200\160\157\252
- \217\333\204\302\213\365\065\312\006\334\144\157\150\026\341\217
- \221\271\002\061\000\330\113\245\313\302\320\010\154\351\030\373
- \132\335\115\137\044\013\260\000\041\045\357\217\247\004\046\161
- \342\174\151\345\135\232\370\101\037\073\071\223\223\235\125\352
- \315\215\361\373\301
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G3"
- # Issuer: CN=OpenTrust Root CA G3,O=OpenTrust,C=FR
- # Serial Number:11:20:e6:f8:4c:fc:24:b0:be:05:40:ac:da:83:1b:34:60:3f
- # Subject: CN=OpenTrust Root CA G3,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): B7:C3:62:31:70:6E:81:07:8C:36:7C:B8:96:19:8F:1E:32:08:DD:92:69:49:DD:8F:57:09:A4:10:F7:5B:62:92
-@@ -28433,16 +28595,17 @@ CKA_VALUE MULTILINE_OCTAL
- \242\320\141\070\341\226\270\254\135\213\067\327\165\325\063\300
- \231\021\256\235\101\301\162\165\204\276\002\101\102\137\147\044
- \110\224\321\233\047\276\007\077\271\270\117\201\164\121\341\172
- \267\355\235\043\342\276\340\325\050\004\023\074\061\003\236\335
- \172\154\217\306\007\030\306\177\336\107\216\077\050\236\004\006
- \317\245\124\064\167\275\354\211\233\351\027\103\337\133\333\137
- \376\216\036\127\242\315\100\235\176\142\042\332\336\030\047
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "ISRG Root X1"
- # Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US
- # Serial Number:00:82:10:cf:b0:d2:40:e3:59:44:63:e0:bb:63:82:8b:00
- # Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US
- # Not Valid Before: Thu Jun 04 11:04:38 2015
- # Not Valid After : Mon Jun 04 11:04:38 2035
- # Fingerprint (SHA-256): 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6
-@@ -28595,16 +28758,17 @@ CKA_VALUE MULTILINE_OCTAL
- \152\260\272\061\222\102\100\152\276\072\323\162\341\152\067\125
- \274\254\035\225\267\151\141\362\103\221\164\346\240\323\012\044
- \106\241\010\257\326\332\105\031\226\324\123\035\133\204\171\360
- \300\367\107\357\213\217\305\006\256\235\114\142\235\377\106\004
- \370\323\311\266\020\045\100\165\376\026\252\311\112\140\206\057
- \272\357\060\167\344\124\342\270\204\231\130\200\252\023\213\121
- \072\117\110\366\213\266\263
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "AC RAIZ FNMT-RCM"
- # Issuer: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES
- # Serial Number:5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07
- # Subject: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES
- # Not Valid Before: Wed Oct 29 15:59:56 2008
- # Not Valid After : Tue Jan 01 00:00:00 2030
- # Fingerprint (SHA-256): EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA
-@@ -28719,16 +28883,17 @@ CKA_VALUE MULTILINE_OCTAL
- \331\017\110\160\232\331\165\170\161\321\162\103\064\165\156\127
- \131\302\002\134\046\140\051\317\043\031\026\216\210\103\245\324
- \344\313\010\373\043\021\103\350\103\051\162\142\241\251\135\136
- \010\324\220\256\270\330\316\024\302\320\125\362\206\366\304\223
- \103\167\146\141\300\271\350\101\327\227\170\140\003\156\112\162
- \256\245\321\175\272\020\236\206\154\033\212\271\131\063\370\353
- \304\220\276\361\271
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 1"
- # Issuer: CN=Amazon Root CA 1,O=Amazon,C=US
- # Serial Number:06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca
- # Subject: CN=Amazon Root CA 1,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sun Jan 17 00:00:00 2038
- # Fingerprint (SHA-256): 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
-@@ -28875,16 +29040,17 @@ CKA_VALUE MULTILINE_OCTAL
- \357\242\245\134\214\167\051\247\150\300\153\256\100\322\250\264
- \352\315\360\215\113\070\234\031\232\033\050\124\270\211\220\357
- \312\165\201\076\036\362\144\044\307\030\257\116\377\107\236\007
- \366\065\145\244\323\012\126\377\365\027\144\154\357\250\042\045
- \111\223\266\337\000\027\332\130\176\135\356\305\033\260\321\321
- \137\041\020\307\371\363\272\002\012\047\007\305\361\326\307\323
- \340\373\011\140\154
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 2"
- # Issuer: CN=Amazon Root CA 2,O=Amazon,C=US
- # Serial Number:06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37
- # Subject: CN=Amazon Root CA 2,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
-@@ -28974,16 +29140,17 @@ CKA_VALUE MULTILINE_OCTAL
- \266\333\327\006\236\067\254\060\206\007\221\160\307\234\304\031
- \261\170\300\060\012\006\010\052\206\110\316\075\004\003\002\003
- \111\000\060\106\002\041\000\340\205\222\243\027\267\215\371\053
- \006\245\223\254\032\230\150\141\162\372\341\241\320\373\034\170
- \140\246\103\231\305\270\304\002\041\000\234\002\357\361\224\234
- \263\226\371\353\306\052\370\266\054\376\072\220\024\026\327\214
- \143\044\110\034\337\060\175\325\150\073
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 3"
- # Issuer: CN=Amazon Root CA 3,O=Amazon,C=US
- # Serial Number:06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a
- # Subject: CN=Amazon Root CA 3,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
-@@ -29077,16 +29244,17 @@ CKA_VALUE MULTILINE_OCTAL
- \145\002\060\072\213\041\361\275\176\021\255\320\357\130\226\057
- \326\353\235\176\220\215\053\317\146\125\303\054\343\050\251\160
- \012\107\016\360\067\131\022\377\055\231\224\050\116\052\117\065
- \115\063\132\002\061\000\352\165\000\116\073\304\072\224\022\221
- \311\130\106\235\041\023\162\247\210\234\212\344\114\112\333\226
- \324\254\213\153\153\111\022\123\063\255\327\344\276\044\374\265
- \012\166\324\245\274\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 4"
- # Issuer: CN=Amazon Root CA 4,O=Amazon,C=US
- # Serial Number:06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e
- # Subject: CN=Amazon Root CA 4,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
-@@ -29243,16 +29411,17 @@ CKA_VALUE MULTILINE_OCTAL
- \105\111\231\164\221\260\004\157\343\004\132\261\253\052\253\376
- \307\320\226\266\332\341\112\144\006\156\140\115\275\102\116\377
- \170\332\044\312\033\264\327\226\071\154\256\361\016\252\247\175
- \110\213\040\114\317\144\326\270\227\106\260\116\321\052\126\072
- \240\223\275\257\200\044\340\012\176\347\312\325\312\350\205\125
- \334\066\052\341\224\150\223\307\146\162\104\017\200\041\062\154
- \045\307\043\200\203\012\353
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "LuxTrust Global Root 2"
- # Issuer: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU
- # Serial Number:0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1
- # Subject: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU
- # Not Valid Before: Thu Mar 05 13:21:57 2015
- # Not Valid After : Mon Mar 05 13:21:57 2035
- # Fingerprint (SHA-256): 54:45:5F:71:29:C2:0B:14:47:C4:18:F9:97:16:8F:24:C5:8F:C5:02:3B:F5:DA:5B:E2:EB:6E:1D:D8:90:2E:D5
-@@ -29391,16 +29560,17 @@ CKA_VALUE MULTILINE_OCTAL
- \347\066\321\041\150\113\055\070\346\123\256\034\045\126\010\126
- \003\147\204\235\306\303\316\044\142\307\114\066\317\260\006\104
- \267\365\137\002\335\331\124\351\057\220\116\172\310\116\203\100
- \014\232\227\074\067\277\277\354\366\360\264\205\167\050\301\013
- \310\147\202\020\027\070\242\267\006\352\233\277\072\370\351\043
- \007\277\164\340\230\070\025\125\170\356\162\000\134\031\243\364
- \322\063\340\377\275\321\124\071\051\017
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 1 Public Primary Certification Authority - G6"
- # Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:24:32:75:f2:1d:2f:d2:09:33:f7:b4:6a:ca:d0:f3:98
- # Subject: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Tue Oct 18 00:00:00 2011
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (SHA-256): 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9
-@@ -29544,16 +29714,17 @@ CKA_VALUE MULTILINE_OCTAL
- \111\315\245\243\214\151\171\045\256\270\114\154\213\100\146\113
- \026\077\317\002\032\335\341\154\153\007\141\152\166\025\051\231
- \177\033\335\210\200\301\277\265\217\163\305\246\226\043\204\246
- \050\206\044\063\152\001\056\127\163\045\266\136\277\217\346\035
- \141\250\100\051\147\035\207\233\035\177\233\237\231\315\061\326
- \124\276\142\273\071\254\150\022\110\221\040\245\313\261\335\376
- \157\374\132\344\202\125\131\257\061\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 2 Public Primary Certification Authority - G6"
- # Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:64:82:9e:fc:37:1e:74:5d:fc:97:ff:97:c8:b1:ff:41
- # Subject: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Tue Oct 18 00:00:00 2011
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (SHA-256): CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0
-@@ -29676,16 +29847,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\245\256\343\106\123\370\230
- \066\343\042\372\056\050\111\015\356\060\176\063\363\354\077\161
- \136\314\125\211\170\231\254\262\375\334\034\134\063\216\051\271
- \153\027\310\021\150\265\334\203\007\002\061\000\234\310\104\332
- \151\302\066\303\124\031\020\205\002\332\235\107\357\101\347\154
- \046\235\011\075\367\155\220\321\005\104\057\260\274\203\223\150
- \362\014\105\111\071\277\231\004\034\323\020\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 1 Public Primary Certification Authority - G4"
- # Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8
- # Subject: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Wed Oct 05 00:00:00 2011
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 36:3F:3C:84:9E:AB:03:B0:A2:A0:F6:36:D7:B8:6D:04:D3:AC:7F:CF:E2:6A:0A:91:21:AB:97:95:F6:E1:76:DF
-@@ -29808,16 +29980,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\310\246\251\257\101\177\265
- \311\021\102\026\150\151\114\134\270\047\030\266\230\361\300\177
- \220\155\207\323\214\106\027\360\076\117\374\352\260\010\304\172
- \113\274\010\057\307\342\247\157\145\002\061\000\326\131\336\206
- \316\137\016\312\124\325\306\320\025\016\374\213\224\162\324\216
- \000\130\123\317\176\261\113\015\345\120\206\353\236\153\337\377
- \051\246\330\107\331\240\226\030\333\362\105\263
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 2 Public Primary Certification Authority - G4"
- # Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e
- # Subject: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Wed Oct 05 00:00:00 2011
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): FE:86:3D:08:22:FE:7A:23:53:FA:48:4D:59:24:E8:75:65:6D:3D:C9:FB:58:77:1F:6F:61:6F:9D:57:1B:C5:92
-diff --git a/lib/nss/nss.def b/lib/nss/nss.def
---- a/lib/nss/nss.def
-+++ b/lib/nss/nss.def
-@@ -1092,8 +1092,15 @@ SECMOD_CreateModuleEx;
- ;+};
- ;+NSS_3.22 { # NSS 3.22 release
- ;+ global:
- PK11_SignWithMechanism;
- PK11_VerifyWithMechanism;
- ;+ local:
- ;+ *;
- ;+};
-+;+NSS_3.30 { # NSS 3.30 release
-+;+ global:
-+CERT_CompareAVA;
-+PK11_HasAttributeSet;
-+;+ local:
-+;+ *;
-+;+};
-diff --git a/lib/util/pkcs11n.h b/lib/util/pkcs11n.h
---- a/lib/util/pkcs11n.h
-+++ b/lib/util/pkcs11n.h
-@@ -88,16 +88,18 @@
- #define CKA_NSS_JPAKE_PEERID (CKA_NSS + 27)
- #define CKA_NSS_JPAKE_GX1 (CKA_NSS + 28)
- #define CKA_NSS_JPAKE_GX2 (CKA_NSS + 29)
- #define CKA_NSS_JPAKE_GX3 (CKA_NSS + 30)
- #define CKA_NSS_JPAKE_GX4 (CKA_NSS + 31)
- #define CKA_NSS_JPAKE_X2 (CKA_NSS + 32)
- #define CKA_NSS_JPAKE_X2S (CKA_NSS + 33)
-
-+#define CKA_NSS_MOZILLA_CA_POLICY (CKA_NSS + 34)
-+
- /*
- * Trust attributes:
- *
- * If trust goes standard, these probably will too. So I'll
- * put them all in one place.
- */
-
- #define CKA_TRUST (CKA_NSS + 0x2000)
diff --git a/seamonkey-2.46-exthandler.patch b/seamonkey-2.46-exthandler.patch
deleted file mode 100644
index 60fe822..0000000
--- a/seamonkey-2.46-exthandler.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nrbu seamonkey-2.35/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp seamonkey-2.35-OK/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
---- seamonkey-2.35/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 2015-09-28 15:41:04.000000000 +0300
-+++ seamonkey-2.35-OK/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 2016-01-23 22:22:15.951365797 +0300
-@@ -118,11 +118,21 @@
- uri->GetSpec(uriSpec);
-
- nsCOMPtr<nsIGIOMimeApp> app;
-- if (NS_FAILED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) || !app) {
-- return NS_ERROR_FILE_NOT_FOUND;
-- }
-+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
-+ return app->Launch(uriSpec);
-
-+ // If we haven't got an app we try to get a valid one by searching for the
-+ // extension mapped type
-+ RefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromExtension(nativePath);
-+ if (mimeInfo) {
-+ nsAutoCString type;
-+ mimeInfo->GetType(type);
-+ nsCOMPtr<nsIGIOMimeApp> app;
-+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
- return app->Launch(uriSpec);
-+ }
-+
-+ return NS_ERROR_FILE_NOT_FOUND;
- }
-
- #if defined(MOZ_ENABLE_CONTENTACTION)
diff --git a/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch b/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
deleted file mode 100644
index 863cb2c..0000000
--- a/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
+++ /dev/null
@@ -1,277 +0,0 @@
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css 1970-01-01 03:00:00.000000000 +0300
-@@ -1,220 +0,0 @@
--/* This Source Code Form is subject to the terms of 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/. */
--
--/* ===== xulscrollbars.css ==============================================
-- == Styles used by XUL scrollbar-related elements.
-- ======================================================================= */
--
--@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
--@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
--
--/* ::::: scrollbar ::::: */
--
--scrollbar {
-- -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
-- cursor: default;
-- background: #888888;
-- border-left: 1px solid #555555;
-- border-right: 1px solid #555555;
--}
--
--scrollbar[orient="vertical"]
--{
-- -moz-appearance: scrollbar-vertical;
-- border-left: none;
-- border-right: none;
-- border-top: 1px solid #555555;
-- border-bottom: 1px solid #555555;
--}
--
--/* ::::: borders for thumb and buttons ::::: */
--
--thumb,
--scrollbarbutton {
-- border: 1px solid #555555;
-- background-color: -moz-Dialog;
--}
--
--/* ::::: thumb (horizontal) ::::: */
--
--thumb {
-- min-height: 8px;
--}
--
--thumb[orient="horizontal"] {
-- min-width: 8px;
--}
--
--/* ::::: scrollbar button ::::: */
--
--scrollbarbutton {
-- background: -moz-Dialog no-repeat 50% 50%;
-- min-width: 16px;
-- min-height: 16px;
--}
--
--scrollbarbutton:hover:active, scrollbarbutton[active="true"] {
-- border-color: #999999;
-- background-position: 60% 60%;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-bottom"],
--scrollbarbutton[sbattr="scrollbar-down-top"] {
-- display: none;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-top"],
--scrollbarbutton[sbattr="scrollbar-down-bottom"] {
-- display: -moz-box !important;
--}
--
--/* ::::: square at the corner of two scrollbars ::::: */
--
--scrollcorner {
-- /* XXX -moz-appearance: scrollcorner; */
-- -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
-- width: 16px;
-- cursor: default;
-- background-color: -moz-Dialog;
--}
--
--/* ..... increment .... */
--
--scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-right;
-- background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
--}
--
--scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-down;
-- background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
--}
--
--/* ..... decrement .... */
--
--scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-left;
-- background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
--}
--
--scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-up;
-- background-image: url("chrome://global/skin/arrow/arrow-up.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
--}
--
--/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
--/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
--/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
--@media print {
-- /* ::::: scrollbar ::::: */
--
-- html|div scrollbar {
-- -moz-appearance: scrollbar-horizontal;
-- -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
-- cursor: default;
-- background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
-- }
--
-- html|div scrollbar[orient="vertical"]
-- {
-- -moz-appearance: scrollbar-vertical;
-- }
--
-- /* ::::: borders for thumb and buttons ::::: */
--
-- html|div thumb,
-- html|div scrollbarbutton {
-- border: 2px solid;
-- -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
-- -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
-- -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
-- -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
-- background-color: -moz-Dialog;
-- }
--
-- /* ::::: thumb (horizontal) ::::: */
--
-- html|div thumb {
-- -moz-appearance: scrollbarthumb-vertical;
-- min-height: 8px;
-- }
--
-- html|div thumb[orient="horizontal"] {
-- -moz-appearance: scrollbarthumb-horizontal;
-- min-width: 8px;
-- }
--
-- /* ::::: scrollbar button ::::: */
--
-- html|div scrollbarbutton {
-- background: -moz-Dialog no-repeat 50% 50%;
-- min-width: 16px;
-- min-height: 16px;
-- }
--
-- html|div scrollbarbutton:hover:active, html|div scrollbarbutton[active="true"] {
-- -moz-border-top-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-right-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-left-colors: ThreeDShadow -moz-Dialog;
-- background-position: 60% 60%;
-- }
--
-- /* ..... increment .... */
--
-- html|div scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-right;
-- background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
-- }
--
-- html|div scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-down;
-- background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
-- }
--
-- /* ..... decrement .... */
--
-- html|div scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-left;
-- background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
-- }
--
-- html|div scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-up;
-- background-image: url("chrome://global/skin/arrow/arrow-up.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
-- }
--
--}
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/jar.mn seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/jar.mn
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/jar.mn 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/jar.mn 2018-02-18 02:13:26.326949709 +0300
-@@ -64,7 +64,6 @@
- * skin/classic/communicator/communicator.css (communicator/communicator.css)
- skin/classic/communicator/config.css (communicator/config.css)
- skin/classic/communicator/toolbar.css (communicator/toolbar.css)
-- skin/classic/communicator/scrollbars.css (communicator/scrollbars.css)
- skin/classic/communicator/viewSourceOverlay.css (communicator/viewSourceOverlay.css)
- skin/classic/communicator/bookmarks/bookmark-folder-closed.png (communicator/bookmarks/bookmark-folder-closed.png)
- skin/classic/communicator/bookmarks/bookmark-folder-dis.png (communicator/bookmarks/bookmark-folder-dis.png)
-@@ -503,7 +502,3 @@
- #ifdef XP_WIN
- % override chrome://communicator/skin/console/console-toolbar.png chrome://communicator/skin/console/console-toolbar-XP.png osversion<6
- #endif
--
--#ifdef MOZ_WIDGET_GTK
--% override chrome://global/skin/scrollbars.css chrome://communicator/skin/scrollbars.css
--#endif
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css 2018-02-18 02:13:26.326949709 +0300
-@@ -48,18 +48,6 @@
- -moz-border-left-colors: #111111 #D5FCF3 #D4DBE3;
- }
-
--%ifdef MOZ_WIDGET_GTK
--scrollbarbutton[sbattr="scrollbar-up-bottom"],
--scrollbarbutton[sbattr="scrollbar-down-top"] {
-- display: none;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-top"],
--scrollbarbutton[sbattr="scrollbar-down-bottom"] {
-- display: -moz-box !important;
--}
--%endif
--
- /* ::::: thumb (horizontal) ::::: */
-
- thumb {
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/jar.mn seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/jar.mn
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/jar.mn 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/jar.mn 2018-02-18 02:13:26.362948332 +0300
-@@ -238,7 +238,7 @@
- skin/modern/global/toolbarbutton.css (global/toolbarbutton.css)
- skin/modern/global/tree.css (global/tree.css)
- skin/modern/global/wizard.css (global/wizard.css)
--* skin/modern/global/scrollbars.css (global/scrollbars.css)
-+ skin/modern/global/scrollbars.css (global/scrollbars.css)
- skin/modern/global/scrollbars-mini.css (global/scrollbars-mini.css)
- skin/modern/global/alerts/alert.css (global/alerts/alert.css)
- skin/modern/global/alerts/notification-48.png (global/alerts/notification-48.png)
diff --git a/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch b/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
deleted file mode 100644
index df77fad..0000000
--- a/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css 2018-02-18 02:04:28.764239372 +0300
-@@ -50,14 +50,6 @@
- margin-bottom: 0px;
- padding-top: 2px; /* compensates the top margin of background tabs */
- padding-bottom: 3px; /* compensates the bottom margin of background tabs */
-- background-color: -moz-dialog;
-- -moz-border-top-colors: unset;
-- -moz-border-right-colors: unset;
-- color: -moz-dialogtext;
-- border: 1px solid Gray;
-- border-top: 2px solid RoyalBlue;
-- border-bottom: 0px none;
-- -moz-appearance: none;
- }
-
- .tabbrowser-tab:-moz-lwtheme {
diff --git a/seamonkey-2.49.4-gettid.patch b/seamonkey-2.49.4-gettid.patch
deleted file mode 100644
index 81d5eab..0000000
--- a/seamonkey-2.49.4-gettid.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Nrbu seamonkey-2.49.4/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h seamonkey-2.49.4-OK/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h
---- seamonkey-2.49.4/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h 2018-07-12 05:19:15.000000000 +0300
-+++ seamonkey-2.49.4-OK/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h 2019-07-27 20:31:47.675086876 +0300
-@@ -65,10 +65,7 @@
- #include <unistd.h>
- #if !defined(__BIONIC__)
- #include <sys/syscall.h>
--static inline pid_t gettid()
--{
-- return (pid_t) syscall(SYS_gettid);
--}
-+
- #endif
- #endif
-
diff --git a/seamonkey-2.49.5-crmf.patch b/seamonkey-2.49.5-crmf.patch
deleted file mode 100644
index 3736249..0000000
--- a/seamonkey-2.49.5-crmf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build 2019-05-06 20:30:52.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build 2019-08-12 01:40:45.891454909 +0300
-@@ -184,10 +184,6 @@
-
- DEFINES['CERT_AddTempCertToPerm'] = '__CERT_AddTempCertToPerm'
-
--USE_LIBS += [
-- 'crmf',
--]
--
- include('/ipc/chromium/chromium-config.mozbuild')
-
- if CONFIG['GNU_CXX']:
diff --git a/seamonkey-2.49.5-mozilla-1389436.patch b/seamonkey-2.49.5-mozilla-1389436.patch
deleted file mode 100644
index dc02d54..0000000
--- a/seamonkey-2.49.5-mozilla-1389436.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-
-# HG changeset patch
-# User Mike Hommey <mh+mozilla(a)glandium.org>
-# Date 1502455819 -32400
-# Node ID 97dae871389b7f22a7096a020781b07a5a61de58
-# Parent c73f64ef71d2d87f36008f5ff661f4050692bd06
-Bug 1389436 - Explicitly instantiate gfxFont::GetShapedWord<uint8_t> for its use in gfxTextRun.cpp. r=jfkthame
-
-diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp
-index d0b747f..8d3dd8b 100644
---- a/gfx/thebes/gfxFont.cpp
-+++ b/gfx/thebes/gfxFont.cpp
-@@ -2614,6 +2614,18 @@ gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
- return sw;
- }
-
-+template gfxShapedWord*
-+gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
-+ const uint8_t *aText,
-+ uint32_t aLength,
-+ uint32_t aHash,
-+ Script aRunScript,
-+ bool aVertical,
-+ int32_t aAppUnitsPerDevUnit,
-+ uint32_t aFlags,
-+ gfxTextPerfMetrics *aTextPerf);
-+
-+
- bool
- gfxFont::CacheHashEntry::KeyEquals(const KeyTypePointer aKey) const
- {
diff --git a/seamonkey-2.49.5-mozilla-1559419.patch b/seamonkey-2.49.5-mozilla-1559419.patch
deleted file mode 100644
index 9b272c0..0000000
--- a/seamonkey-2.49.5-mozilla-1559419.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/suite/app/Makefile.in seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/app/Makefile.in
---- seamonkey-2.49.5/seamonkey-2.49.5/suite/app/Makefile.in 2019-07-14 00:01:29.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/app/Makefile.in 2019-08-19 22:45:02.346141684 +0300
-@@ -97,6 +97,7 @@
- $(foreach dir,$(filter-out $(DONOTPACK),$(subst $(STAGEDIST)/,,$(wildcard $(STAGEDIST)/*))),$(_PACKAGE_EXTENSIONS))
-
- tools::
-+ $(NSINSTALL) -D $(DIST)/bin/distribution/extensions
- @$(MAKE) pack-ext STAGEDIST="$(DIST)/bin/extensions"
- @$(MAKE) pack-ext STAGEDIST="$(DIST)/bin/distribution/extensions"
-
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/suite/locales/Makefile.in seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/locales/Makefile.in
---- seamonkey-2.49.5/seamonkey-2.49.5/suite/locales/Makefile.in 2019-07-14 00:01:29.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/locales/Makefile.in 2019-08-19 22:45:21.358643583 +0300
-@@ -123,7 +123,7 @@
- @$(MAKE) -C $(DEPTH)/toolkit/locales libs-$*
- @$(MAKE) -C $(DEPTH)/services/sync/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C ../../editor/ui/locales AB_CD=$* XPI_NAME=locale-$*
-- @$(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$*
-+ @$(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$* || :
- @$(MAKE) -C $(DEPTH)/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C $(DEPTH)/devtools/client/locales AB_CD=$* XPI_NAME=locale-$*
diff --git a/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch b/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
deleted file mode 100644
index 849ee74..0000000
--- a/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp 2019-08-12 02:24:31.969115146 +0300
-@@ -154,113 +154,6 @@
- const static bool kUseSimpleContextDefault = MOZ_WIDGET_GTK == 2;
-
- /******************************************************************************
-- * SelectionStyleProvider
-- *
-- * IME (e.g., fcitx, ~4.2.8.3) may look up selection colors of widget, which
-- * is related to the window associated with the IM context, to support any
-- * colored widgets. Our editor (like <input type="text">) is rendered as
-- * native GtkTextView as far as possible by default and if editor color is
-- * changed by web apps, nsTextFrame may swap background color of foreground
-- * color of composition string for making composition string is always
-- * visually distinct in normal text.
-- *
-- * So, we would like IME to set style of composition string to good colors
-- * in GtkTextView. Therefore, this class overwrites selection colors of
-- * our widget with selection colors of GtkTextView so that it's possible IME
-- * to refer selection colors of GtkTextView via our widget.
-- ******************************************************************************/
--
--class SelectionStyleProvider final
--{
--public:
-- static SelectionStyleProvider* GetInstance()
-- {
-- if (sHasShutDown) {
-- return nullptr;
-- }
-- if (!sInstance) {
-- sInstance = new SelectionStyleProvider();
-- }
-- return sInstance;
-- }
--
-- static void Shutdown()
-- {
-- if (sInstance) {
-- g_object_unref(sInstance->mProvider);
-- }
-- delete sInstance;
-- sInstance = nullptr;
-- sHasShutDown = true;
-- }
--
-- // aGDKWindow is a GTK window which will be associated with an IM context.
-- void AttachTo(GdkWindow* aGDKWindow)
-- {
-- GtkWidget* widget = nullptr;
-- // gdk_window_get_user_data() typically returns pointer to widget that
-- // window belongs to. If it's widget, fcitx retrieves selection colors
-- // of them. So, we need to overwrite its style.
-- gdk_window_get_user_data(aGDKWindow, (gpointer*)&widget);
-- if (GTK_IS_WIDGET(widget)) {
-- gtk_style_context_add_provider(
-- gtk_widget_get_style_context(widget),
-- GTK_STYLE_PROVIDER(mProvider),
-- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-- }
-- }
--
-- void OnThemeChanged()
-- {
-- // fcitx refers GtkStyle::text[GTK_STATE_SELECTED] and
-- // GtkStyle::bg[GTK_STATE_SELECTED] (although pair of text and *base*
-- // or *fg* and bg is correct). gtk_style_update_from_context() will
-- // set these colors using the widget's GtkStyleContext and so the
-- // colors can be controlled by a ":selected" CSS rule.
-- nsAutoCString style(":selected{");
-- // FYI: LookAndFeel always returns selection colors of GtkTextView.
-- nscolor selectionForegroundColor;
-- if (NS_SUCCEEDED(LookAndFeel::GetColor(
-- LookAndFeel::eColorID_TextSelectForeground,
-- &selectionForegroundColor))) {
-- double alpha =
-- static_cast<double>(NS_GET_A(selectionForegroundColor)) / 0xFF;
-- style.AppendPrintf("color:rgba(%u,%u,%u,%f);",
-- NS_GET_R(selectionForegroundColor),
-- NS_GET_G(selectionForegroundColor),
-- NS_GET_B(selectionForegroundColor), alpha);
-- }
-- nscolor selectionBackgroundColor;
-- if (NS_SUCCEEDED(LookAndFeel::GetColor(
-- LookAndFeel::eColorID_TextSelectBackground,
-- &selectionBackgroundColor))) {
-- double alpha =
-- static_cast<double>(NS_GET_A(selectionBackgroundColor)) / 0xFF;
-- style.AppendPrintf("background-color:rgba(%u,%u,%u,%f);",
-- NS_GET_R(selectionBackgroundColor),
-- NS_GET_G(selectionBackgroundColor),
-- NS_GET_B(selectionBackgroundColor), alpha);
-- }
-- style.AppendLiteral("}");
-- gtk_css_provider_load_from_data(mProvider, style.get(), -1, nullptr);
-- }
--
--private:
-- static SelectionStyleProvider* sInstance;
-- static bool sHasShutDown;
-- GtkCssProvider* const mProvider;
--
-- SelectionStyleProvider()
-- : mProvider(gtk_css_provider_new())
-- {
-- OnThemeChanged();
-- }
--};
--
--SelectionStyleProvider* SelectionStyleProvider::sInstance = nullptr;
--bool SelectionStyleProvider::sHasShutDown = false;
--
--/******************************************************************************
- * IMContextWrapper
- ******************************************************************************/
-
-@@ -310,11 +203,6 @@
- NS_PRECONDITION(container, "container is null");
- GdkWindow* gdkWindow = gtk_widget_get_window(GTK_WIDGET(container));
-
-- // Overwrite selection colors of the window before associating the window
-- // with IM context since IME may look up selection colors via IM context
-- // to support any colored widgets.
-- SelectionStyleProvider::GetInstance()->AttachTo(gdkWindow);
--
- // NOTE: gtk_im_*_new() abort (kill) the whole process when it fails.
- // So, we don't need to check the result.
-
-@@ -363,13 +251,6 @@
- gtk_im_context_set_client_window(mDummyContext, gdkWindow);
- }
-
--/* static */
--void
--IMContextWrapper::Shutdown()
--{
-- SelectionStyleProvider::Shutdown();
--}
--
- IMContextWrapper::~IMContextWrapper()
- {
- if (this == sLastFocusedContext) {
-@@ -1154,16 +1035,6 @@
-
- /* static */
- void
--IMContextWrapper::OnThemeChanged()
--{
-- if (!SelectionStyleProvider::GetInstance()) {
-- return;
-- }
-- SelectionStyleProvider::GetInstance()->OnThemeChanged();
--}
--
--/* static */
--void
- IMContextWrapper::OnStartCompositionCallback(GtkIMContext* aContext,
- IMContextWrapper* aModule)
- {
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h 2019-05-06 20:31:09.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h 2019-08-12 02:24:31.994127437 +0300
-@@ -47,9 +47,6 @@
- // used with the instance after that).
- explicit IMContextWrapper(nsWindow* aOwnerWindow);
-
-- // Called when the process is being shut down.
-- static void Shutdown();
--
- // "Enabled" means the users can use all IMEs.
- // I.e., the focus is in the normal editors.
- bool IsEnabled() const;
-@@ -68,8 +65,6 @@
- // in the focused editor.
- void OnSelectionChange(nsWindow* aCaller,
- const IMENotification& aIMENotification);
-- // OnThemeChanged is called when desktop theme is changed.
-- static void OnThemeChanged();
-
- // OnKeyEvent is called when aWindow gets a native key press event or a
- // native key release event. If this returns TRUE, the key event was
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c 2019-05-06 20:31:09.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c 2019-08-12 02:24:31.994127437 +0300
-@@ -510,8 +510,6 @@
- #endif
-
- #ifdef GTK3_SYMBOLS
--STUB(gtk_css_provider_load_from_data)
--STUB(gtk_css_provider_new)
- STUB(gdk_device_get_source)
- STUB(gdk_device_manager_get_client_pointer)
- STUB(gdk_disable_multidevice)
-@@ -550,7 +548,6 @@
- STUB(gtk_scale_new)
- STUB(gtk_scrollbar_new)
- STUB(gtk_style_context_add_class)
--STUB(gtk_style_context_add_provider)
- STUB(gtk_style_context_add_region)
- STUB(gtk_style_context_get)
- STUB(gtk_style_context_get_background_color)
-@@ -577,7 +574,6 @@
- STUB(gtk_style_context_set_parent)
- STUB(gtk_style_context_set_state)
- STUB(gtk_style_properties_lookup_property)
--STUB(gtk_style_provider_get_type)
- STUB(gtk_tree_view_column_get_button)
- STUB(gtk_widget_get_preferred_size)
- STUB(gtk_widget_get_state_flags)
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp 2019-08-12 02:24:31.994127437 +0300
-@@ -17,7 +17,6 @@
- #include "nsWindow.h"
- #include "nsTransferable.h"
- #include "nsHTMLFormatConverter.h"
--#include "IMContextWrapper.h"
- #ifdef MOZ_X11
- #include "nsClipboardHelper.h"
- #include "nsClipboard.h"
-@@ -310,7 +309,6 @@
- nsFilePicker::Shutdown();
- nsSound::Shutdown();
- nsWindow::ReleaseGlobals();
-- IMContextWrapper::Shutdown();
- KeymapWrapper::Shutdown();
- nsGTKToolkit::Shutdown();
- nsAppShellShutdown();
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp 2019-08-12 02:24:31.996128451 +0300
-@@ -3401,8 +3401,6 @@
-
- children = children->next;
- }
--
-- IMContextWrapper::OnThemeChanged();
- }
-
- void
diff --git a/seamonkey-2.53.1-mozilla-1533969.patch b/seamonkey-2.53.1-mozilla-1533969.patch
new file mode 100644
index 0000000..8a46a1f
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-1533969.patch
@@ -0,0 +1,39 @@
+diff -Nrup -U 8 a/tools/profiler/core/platform.h b/tools/profiler/core/platform.h
+--- a/tools/profiler/core/platform.h 2020-02-18 02:39:44.000000000 +0300
++++ b/tools/profiler/core/platform.h 2020-03-01 06:04:13.875681471 +0300
+@@ -38,32 +38,26 @@
+ #include "mozilla/StaticMutex.h"
+ #include "mozilla/TimeStamp.h"
+ #include "mozilla/UniquePtr.h"
+ #include "mozilla/Unused.h"
+ #include "PlatformMacros.h"
+ #include <vector>
+ #include "StackTop.h"
+
+-// We need a definition of gettid(), but glibc doesn't provide a
++// We need a definition of gettid(), but old glibc versions don't provide a
+ // wrapper for it.
+ #if defined(__GLIBC__)
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-static inline pid_t gettid()
+-{
+- return (pid_t) syscall(SYS_gettid);
+-}
++#define gettid() static_cast<pid_t>(syscall(SYS_gettid))
+ #elif defined(GP_OS_darwin)
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-static inline pid_t gettid()
+-{
+- return (pid_t) syscall(SYS_thread_selfid);
+-}
++#define gettid() static_cast<pid_t>(syscall(SYS_thread_selfid))
+ #elif defined(GP_OS_android)
+ #include <unistd.h>
+ #elif defined(GP_OS_windows)
+ #include <windows.h>
+ #include <process.h>
+ #ifndef getpid
+ #define getpid _getpid
+ #endif
diff --git a/seamonkey-2.53.1-mozilla-526293.patch b/seamonkey-2.53.1-mozilla-526293.patch
new file mode 100644
index 0000000..0e73abd
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-526293.patch
@@ -0,0 +1,13 @@
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/widget/gtk/nsFilePicker.cpp.orig 2020-01-03 01:35:33.934711196 +0300
++++ seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/widget/gtk/nsFilePicker.cpp 2020-01-03 01:39:14.120136390 +0300
+@@ -396,9 +396,7 @@
+
+ void *file_chooser = GtkFileChooserNew(title.get(), parent_widget, action, accept_button);
+
+- if (mAllowURLs) {
+- gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
+- }
++ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
+
+ if (action == GTK_FILE_CHOOSER_ACTION_OPEN || action == GTK_FILE_CHOOSER_ACTION_SAVE) {
+ GtkWidget *img_preview = gtk_image_new();
diff --git a/seamonkey-2.53.1-mozilla-revert-1332139.patch b/seamonkey-2.53.1-mozilla-revert-1332139.patch
new file mode 100644
index 0000000..f4ec86b
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-revert-1332139.patch
@@ -0,0 +1,307 @@
+diff -Nrup -U 8 a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc
+--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2020-02-18 02:37:58.000000000 +0300
++++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2020-03-02 00:34:19.000000000 +0300
+@@ -79,17 +79,19 @@ VP9EncoderImpl::VP9EncoderImpl()
+ num_temporal_layers_(0),
+ num_spatial_layers_(0),
+ num_cores_(0),
+ is_flexible_mode_(false),
+ frames_encoded_(0),
+ // Use two spatial when screensharing with flexible mode.
+ spatial_layer_(new ScreenshareLayersVP9(2)) {
+ memset(&codec_, 0, sizeof(codec_));
++#ifdef LIBVPX_SVC
+ memset(&svc_params_, 0, sizeof(vpx_svc_extra_cfg_t));
++#endif
+ uint32_t seed = rtc::Time32();
+ srand(seed);
+ }
+
+ VP9EncoderImpl::~VP9EncoderImpl() {
+ Release();
+ }
+
+@@ -115,55 +117,66 @@ int VP9EncoderImpl::Release() {
+ }
+ inited_ = false;
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
+ bool VP9EncoderImpl::ExplicitlyConfiguredSpatialLayers() const {
+ // We check target_bitrate_bps of the 0th layer to see if the spatial layers
+ // (i.e. bitrates) were explicitly configured.
++#ifdef LIBVPX_SVC
+ return num_spatial_layers_ > 1 &&
+ codec_.spatialLayers[0].target_bitrate_bps > 0;
++#else
++ return false;
++#endif
+ }
+
+ bool VP9EncoderImpl::SetSvcRates() {
+ uint8_t i = 0;
+
+ if (ExplicitlyConfiguredSpatialLayers()) {
++#ifdef LIBVPX_SVC
+ if (num_temporal_layers_ > 1) {
+ LOG(LS_ERROR) << "Multiple temporal layers when manually specifying "
+ "spatial layers not implemented yet!";
+ return false;
+ }
+ int total_bitrate_bps = 0;
+ for (i = 0; i < num_spatial_layers_; ++i)
+ total_bitrate_bps += codec_.spatialLayers[i].target_bitrate_bps;
+ // If total bitrate differs now from what has been specified at the
+ // beginning, update the bitrates in the same ratio as before.
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ config_->ss_target_bitrate[i] = config_->layer_target_bitrate[i] =
+ static_cast<int>(static_cast<int64_t>(config_->rc_target_bitrate) *
+ codec_.spatialLayers[i].target_bitrate_bps /
+ total_bitrate_bps);
+ }
++#endif
+ } else {
+ float rate_ratio[VPX_MAX_LAYERS] = {0};
+ float total = 0;
+
++#ifdef LIBVPX_SVC
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ if (svc_params_.scaling_factor_num[i] <= 0 ||
+ svc_params_.scaling_factor_den[i] <= 0) {
+ LOG(LS_ERROR) << "Scaling factors not specified!";
+ return false;
+ }
+ rate_ratio[i] =
+ static_cast<float>(svc_params_.scaling_factor_num[i]) /
+ svc_params_.scaling_factor_den[i];
+ total += rate_ratio[i];
+ }
++#else
++ rate_ratio[0] = 1;
++ total = 1;
++#endif
+
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ config_->ss_target_bitrate[i] = static_cast<unsigned int>(
+ config_->rc_target_bitrate * rate_ratio[i] / total);
+ if (num_temporal_layers_ == 1) {
+ config_->layer_target_bitrate[i] = config_->ss_target_bitrate[i];
+ } else if (num_temporal_layers_ == 2) {
+ config_->layer_target_bitrate[i * num_temporal_layers_] =
+@@ -390,16 +403,17 @@ int VP9EncoderImpl::NumberOfThreads(int
+ return 2;
+ } else {
+ // 1 thread less than VGA.
+ return 1;
+ }
+ }
+
+ int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) {
++#ifdef LIBVPX_SVC
+ // Set QP-min/max per spatial and temporal layer.
+ int tot_num_layers = num_spatial_layers_ * num_temporal_layers_;
+ for (int i = 0; i < tot_num_layers; ++i) {
+ svc_params_.max_quantizers[i] = config_->rc_max_quantizer;
+ svc_params_.min_quantizers[i] = config_->rc_min_quantizer;
+ }
+ config_->ss_number_layers = num_spatial_layers_;
+ if (ExplicitlyConfiguredSpatialLayers()) {
+@@ -413,37 +427,41 @@ int VP9EncoderImpl::InitAndSetControlSet
+ for (int i = num_spatial_layers_ - 1; i >= 0; --i) {
+ // 1:2 scaling in each dimension.
+ svc_params_.scaling_factor_num[i] = scaling_factor_num;
+ svc_params_.scaling_factor_den[i] = 256;
+ if (codec_.mode != kScreensharing)
+ scaling_factor_num /= 2;
+ }
+ }
++#endif
+
+ if (!SetSvcRates()) {
+ return WEBRTC_VIDEO_CODEC_ERR_PARAMETER;
+ }
+
+ if (vpx_codec_enc_init(encoder_, vpx_codec_vp9_cx(), config_, 0)) {
+ return WEBRTC_VIDEO_CODEC_UNINITIALIZED;
+ }
+ vpx_codec_control(encoder_, VP8E_SET_CPUUSED, cpu_speed_);
+ vpx_codec_control(encoder_, VP8E_SET_MAX_INTRA_BITRATE_PCT,
+ rc_max_intra_target_);
+ vpx_codec_control(encoder_, VP9E_SET_AQ_MODE,
+ inst->VP9().adaptiveQpMode ? 3 : 0);
+
++#ifdef LIBVPX_SVC
+ vpx_codec_control(
+ encoder_, VP9E_SET_SVC,
+ (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) ? 1 : 0);
+ if (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) {
+ vpx_codec_control(encoder_, VP9E_SET_SVC_PARAMETERS,
+ &svc_params_);
+ }
++#endif
++
+ // Register callback for getting each spatial layer.
+ vpx_codec_priv_output_cx_pkt_cb_pair_t cbp = {
+ VP9EncoderImpl::EncoderOutputCodedPacketCallback,
+ reinterpret_cast<void*>(this)};
+ vpx_codec_control(encoder_, VP9E_REGISTER_CX_CALLBACK,
+ reinterpret_cast<void*>(&cbp));
+
+ // Control function to set the number of column tiles in encoding a frame, in
+@@ -527,16 +545,17 @@ int VP9EncoderImpl::Encode(const VideoFr
+
+ vpx_enc_frame_flags_t flags = 0;
+ bool send_keyframe = (frame_type == kVideoFrameKey);
+ if (send_keyframe) {
+ // Key frame request from caller.
+ flags = VPX_EFLAG_FORCE_KF;
+ }
+
++#ifdef LIBVPX_SVC
+ if (is_flexible_mode_) {
+ SuperFrameRefSettings settings;
+
+ // These structs are copied when calling vpx_codec_control,
+ // therefore it is ok for them to go out of scope.
+ vpx_svc_ref_frame_config enc_layer_conf;
+ vpx_svc_layer_id layer_id;
+
+@@ -548,16 +567,17 @@ int VP9EncoderImpl::Encode(const VideoFr
+ send_keyframe);
+ }
+ enc_layer_conf = GenerateRefsAndFlags(settings);
+ layer_id.temporal_layer_id = 0;
+ layer_id.spatial_layer_id = settings.start_layer;
+ vpx_codec_control(encoder_, VP9E_SET_SVC_LAYER_ID, &layer_id);
+ vpx_codec_control(encoder_, VP9E_SET_SVC_REF_FRAME_CONFIG, &enc_layer_conf);
+ }
++#endif
+
+ assert(codec_.maxFramerate > 0);
+ uint32_t duration = 90000 / codec_.maxFramerate;
+ if (vpx_codec_encode(encoder_, raw_, timestamp_, duration, flags,
+ VPX_DL_REALTIME)) {
+ return WEBRTC_VIDEO_CODEC_ERROR;
+ }
+ timestamp_ += duration;
+@@ -686,29 +706,31 @@ void VP9EncoderImpl::PopulateCodecSpecif
+ vp9_info->p_diff[i] = p_diff_[layer_id.spatial_layer_id][i];
+ }
+ } else {
+ vp9_info->gof_idx =
+ static_cast<uint8_t>(frames_since_kf_ % gof_.num_frames_in_gof);
+ vp9_info->temporal_up_switch = gof_.temporal_up_switch[vp9_info->gof_idx];
+ }
+
++#ifdef LIBVPX_SVC
+ if (vp9_info->ss_data_available) {
+ vp9_info->spatial_layer_resolution_present = true;
+ for (size_t i = 0; i < vp9_info->num_spatial_layers; ++i) {
+ vp9_info->width[i] = codec_.width *
+ svc_params_.scaling_factor_num[i] /
+ svc_params_.scaling_factor_den[i];
+ vp9_info->height[i] = codec_.height *
+ svc_params_.scaling_factor_num[i] /
+ svc_params_.scaling_factor_den[i];
+ }
+- if (!vp9_info->flexible_mode) {
+- vp9_info->gof.CopyGofInfoVP9(gof_);
+- }
++ }
++#endif
++ if (!vp9_info->flexible_mode) {
++ vp9_info->gof.CopyGofInfoVP9(gof_);
+ }
+ }
+
+ int VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt) {
+ RTC_DCHECK_EQ(pkt->kind, VPX_CODEC_CX_FRAME_PKT);
+
+ if (pkt->data.frame.sz > encoded_image_._size) {
+ delete[] encoded_image_._buffer;
+@@ -756,16 +778,17 @@ int VP9EncoderImpl::GetEncodedLayerFrame
+ vpx_codec_control(encoder_, VP8E_GET_LAST_QUANTIZER, &qp);
+ encoded_image_.qp_ = qp;
+ encoded_complete_callback_->OnEncodedImage(encoded_image_, &codec_specific,
+ &frag_info);
+ }
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
++#ifdef LIBVPX_SVC
+ vpx_svc_ref_frame_config VP9EncoderImpl::GenerateRefsAndFlags(
+ const SuperFrameRefSettings& settings) {
+ static const vpx_enc_frame_flags_t kAllFlags =
+ VP8_EFLAG_NO_REF_ARF | VP8_EFLAG_NO_REF_GF | VP8_EFLAG_NO_REF_LAST |
+ VP8_EFLAG_NO_UPD_LAST | VP8_EFLAG_NO_UPD_ARF | VP8_EFLAG_NO_UPD_GF;
+ vpx_svc_ref_frame_config sf_conf = {};
+ if (settings.is_keyframe) {
+ // Used later on to make sure we don't make any invalid references.
+@@ -857,16 +880,17 @@ vpx_svc_ref_frame_config VP9EncoderImpl:
+ buffer_updated_at_frame_[updated_buffer] = frames_encoded_;
+ sf_conf.frame_flags[layer_idx] = layer_flags;
+ }
+ }
+ }
+ ++frames_encoded_;
+ return sf_conf;
+ }
++#endif
+
+ int VP9EncoderImpl::SetChannelParameters(uint32_t packet_loss, int64_t rtt) {
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
+ int VP9EncoderImpl::RegisterEncodeCompleteCallback(
+ EncodedImageCallback* callback) {
+ encoded_complete_callback_ = callback;
+diff -Nrup -U 8 a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h
+--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 2020-02-18 02:37:58.000000000 +0300
++++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 2020-03-02 00:32:05.000000000 +0300
+@@ -77,24 +77,26 @@ class VP9EncoderImpl : public VP9Encoder
+
+ void PopulateCodecSpecific(CodecSpecificInfo* codec_specific,
+ const vpx_codec_cx_pkt& pkt,
+ uint32_t timestamp);
+
+ bool ExplicitlyConfiguredSpatialLayers() const;
+ bool SetSvcRates();
+
++#ifdef LIBVPX_SVC
+ // Used for flexible mode to set the flags and buffer references used
+ // by the encoder. Also calculates the references used by the RTP
+ // packetizer.
+ //
+ // Has to be called for every frame (keyframes included) to update the
+ // state used to calculate references.
+ vpx_svc_ref_frame_config GenerateRefsAndFlags(
+ const SuperFrameRefSettings& settings);
++#endif
+
+ virtual int GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt);
+
+ // Callback function for outputting packets per spatial layer.
+ static void EncoderOutputCodedPacketCallback(vpx_codec_cx_pkt* pkt,
+ void* user_data);
+
+ // Determine maximum target for Intra frames
+@@ -111,17 +113,19 @@ class VP9EncoderImpl : public VP9Encoder
+ bool inited_;
+ int64_t timestamp_;
+ uint16_t picture_id_;
+ int cpu_speed_;
+ uint32_t rc_max_intra_target_;
+ vpx_codec_ctx_t* encoder_;
+ vpx_codec_enc_cfg_t* config_;
+ vpx_image_t* raw_;
++#ifdef LIBVPX_SVC
+ vpx_svc_extra_cfg_t svc_params_;
++#endif
+ const VideoFrame* input_image_;
+ GofInfoVP9 gof_; // Contains each frame's temporal information for
+ // non-flexible mode.
+ uint8_t tl0_pic_idx_; // Only used in non-flexible mode.
+ size_t frames_since_kf_;
+ uint8_t num_temporal_layers_;
+ uint8_t num_spatial_layers_;
+ uint8_t num_cores_;
diff --git a/seamonkey-2.53.1-rhbz-1503632.patch b/seamonkey-2.53.1-rhbz-1503632.patch
new file mode 100644
index 0000000..c8fd6bc
--- /dev/null
+++ b/seamonkey-2.53.1-rhbz-1503632.patch
@@ -0,0 +1,18 @@
+diff -Nrbu seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp seamonkey-2.53.1-OK/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53.1-OK/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp 2020-01-03 01:20:05.309371162 +0300
+@@ -1146,12 +1146,10 @@
+ if (!loadPKCS11Modules) {
+ flags |= NSS_INIT_NOMODDB;
+ }
+- nsAutoCString dbTypeAndDirectory("sql:");
+- dbTypeAndDirectory.Append(dir);
+ MOZ_LOG(gCertVerifierLog, LogLevel::Debug,
+- ("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), readOnly,
++ ("InitializeNSS(%s, %d, %d)", PromiseFlatCString(dir).get(), readOnly,
+ loadPKCS11Modules));
+- SECStatus srv = NSS_Initialize(dbTypeAndDirectory.get(), "", "",
++ SECStatus srv = NSS_Initialize(PromiseFlatCString(dir).get(), "", "",
+ SECMOD_DB, flags);
+ if (srv != SECSuccess) {
+ return srv;
diff --git a/seamonkey-2.53.1-rust140-nsstring.patch b/seamonkey-2.53.1-rust140-nsstring.patch
new file mode 100644
index 0000000..1e65a14
--- /dev/null
+++ b/seamonkey-2.53.1-rust140-nsstring.patch
@@ -0,0 +1,25 @@
+
+# rust-1.39 deprecated the "try!" call in favor of "?" which then breaks
+# nsstring because it treats warnings as errors.
+
+diff -Nrup -U 8 mozilla/xpcom/rust/nsstring/src/lib.rs mozilla-OK/xpcom/rust/nsstring/src/lib.rs
+--- mozilla/xpcom/rust/nsstring/src/lib.rs 2020-02-25 03:10:53.802918476 +0300
++++ mozilla-OK/xpcom/rust/nsstring/src/lib.rs 2020-02-25 00:30:21.593463335 +0300
+@@ -108,17 +108,16 @@
+ //! similar to an `ns[C]String<'static>`, however, it does not have a `Drop`
+ //! implementation.
+ //!
+ //! If this type is dropped in rust, it will not free its backing storage. This
+ //! can be useful when implementing FFI types which contain `ns[C]String` members
+ //! which invoke their member's destructors through C++ code.
+
+ #![allow(non_camel_case_types)]
+-#![deny(warnings)]
+
+ #[macro_use]
+ extern crate bitflags;
+
+ use std::ops::{Deref, DerefMut};
+ use std::marker::PhantomData;
+ use std::borrow;
+ use std::slice;
diff --git a/seamonkey-2.53.1-rust140-url_1_7_2.patch b/seamonkey-2.53.1-rust140-url_1_7_2.patch
new file mode 100644
index 0000000..e22a894
--- /dev/null
+++ b/seamonkey-2.53.1-rust140-url_1_7_2.patch
@@ -0,0 +1,4279 @@
+diff -Nrup a/netwerk/base/rust-url-capi/Cargo.toml b/netwerk/base/rust-url-capi/Cargo.toml
+--- a/netwerk/base/rust-url-capi/Cargo.toml 2020-02-18 02:37:59.000000000 +0300
++++ b/netwerk/base/rust-url-capi/Cargo.toml 2020-02-28 20:28:57.265406022 +0300
+@@ -8,6 +8,6 @@ name = "rust_url_capi"
+
+ [dependencies]
+ libc = "0.2.0"
+-url = "1.5.1"
++url = "1.7.2"
+ nsstring = { path = "../../../xpcom/rust/nsstring" }
+ nserror = { path = "../../../xpcom/rust/nserror" }
+diff -Nrup a/third_party/rust/url/.cargo-checksum.json b/third_party/rust/url/.cargo-checksum.json
+--- a/third_party/rust/url/.cargo-checksum.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/.cargo-checksum.json 2020-02-28 20:28:57.261406050 +0300
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"890af214187ffcba4732acb2d1af30d7adb9aade0679e9fdb06baae363240b8e","Cargo.toml":"ec586106c4d0625919a3591fe3ae915043e82c8bfdd1c9e747171ba5e21047e1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e","Makefile":"bffd75d34654b2955d4f005f1a5e85c821c90becf1a8a52cbe10121972f43148","README.md":"eb3f4694003f408cbe3c7f3e9fbbc71241defb940cc55a816981f0f0f144c8eb","UPGRADING.md":"fbcc2d39bdf17db0745793db6626fcd5c909dddd4ce13b27566cfabece22c368","appveyor.yml":"c78486dbfbe6ebbf3d808afb9a19f7ec18c4704ce451c6305f0716999b70a1a6","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","docs/index.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","github.png":"b432fd855efe7c430fe6a57ccf83935c1996f03a7cdc8d6e1b34154b8c43f6ec","rust-url-todo":"1192cee7b6cedf2133d97dc6074b593a1d19b0ee13fff6f28d6329855044e575","src/encoding.rs":"f3e109ca8ec5a9130da50cdfb3003530aedb6dd5a440f0790d76b71f6981119c","src/form_urlencoded.rs":"7ccaef7148e4bc2577154c50f8705db3a055b641269e24c22770f06222321e1e","src/host.rs":"281165d732ea87b6f01a98f7c68ffcb284c41f84b3ab6ed674fb8e57022d1019","src/lib.rs":"bd156e8bcfbd44f0cd52c8b394e03ec63fea012c0bf5ca554521352714838605","src/origin.rs":"7071dcc1070ccfae84cdcd43586b84a9706e35a9a099ff4dde128da0909bd0bc","src/parser.rs":"9d30868f0900586fec6f122a0322598a08116ab0b4c4d8caf5c35a720381a73a","src/path_segments.rs":"7bd3142eaa568863ef44e2255c181239141f9eeee337f889b9ffaaeab4ca669d","src/quirks.rs":"1231f965e22bb3632c22993e2a8d4c7470bcb4a8de25d049f31784303f0def03","src/slicing.rs":"4e539886b23945a92094625f3e531a4bff40daa44240b5d19ee8577478c4f7fe","tests/data.rs":"c333766897f6492fb6583ab5c8a511973b7a55f58ca550799432343da64d5ca7","tests/setters_tests.json":"ebcbdb52e9a4b5a565f8806d52ebc610d46a34df883e10b0be080d026468ff73","tests/unit.rs":"c2f206f433be619414d761d358a2a4a5a46cfe8a4fea5339adec5e9937d78de2","tests/urltestdata.json":"430c74aa3a31afaa57a92805544e00825f4dffe2def98c1e3c212c3db80268af"},"package":"eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"80d575ae6adad93cb0910b385b871e2d92d558078f58a3c8eafe95940d459f6b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e","README.md":"eb3f4694003f408cbe3c7f3e9fbbc71241defb940cc55a816981f0f0f144c8eb","UPGRADING.md":"fbcc2d39bdf17db0745793db6626fcd5c909dddd4ce13b27566cfabece22c368","appveyor.yml":"c78486dbfbe6ebbf3d808afb9a19f7ec18c4704ce451c6305f0716999b70a1a6","benches/parse_url.rs":"821ecb051c3c6c40eb3b268ba7337b2988333627d0af0c8e1afc84734ffbbf2b","docs/404.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","docs/index.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","src/encoding.rs":"f3e109ca8ec5a9130da50cdfb3003530aedb6dd5a440f0790d76b71f6981119c","src/form_urlencoded.rs":"d8c35e92375cafcd7e12c4f0d5374bab62aa1f333629d55b007a9c3d5c3cb615","src/host.rs":"66a2c0c77a8add2da16bc690fbc82b130cf1367ac655fc36990a214e193a4d6c","src/lib.rs":"e09dcba401018169ee26764e1c2bccf0855a5d935707c2100fd8d8e77a1bbc91","src/origin.rs":"6e4821eb9600a32ef54d05c8e1a7937f6d9b4dd1e3bda7f36c7988f6a2bef78b","src/parser.rs":"76368cbe93308123c014a3502024cf97d97ca61dcfc7b6ecd710073867d6deca","src/path_segments.rs":"7bd3142eaa568863ef44e2255c181239141f9eeee337f889b9ffaaeab4ca669d","src/quirks.rs":"6cf1697bad363532cbcc60917a9b126560ac3ab3e1a77da0abcf4f2a40c8233a","src/slicing.rs":"4e539886b23945a92094625f3e531a4bff40daa44240b5d19ee8577478c4f7fe","tests/data.rs":"f2c1c6d1823e8d21aeeae31c786d7f4ef0d97352a896f8c5aeb03a41fedb9a48","tests/setters_tests.json":"08ddaa632ad19c81e83b904bfaa94bc971f26e2bdfcef27d2f93fd033ad57340","tests/unit.rs":"ead7185710ce06c8d68ea18700618477867ee355656eabcad26cfcfaaad361a0","tests/urltestdata.json":"1b0c7c727d8d7e79dfb0d0aa347ff05675ddb68bc4ead38f83fd8e89bc59cc32"},"package":"dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"}
+\ No newline at end of file
+diff -Nrup a/third_party/rust/url/.travis.yml b/third_party/rust/url/.travis.yml
+--- a/third_party/rust/url/.travis.yml 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/.travis.yml 1970-01-01 03:00:00.000000000 +0300
+@@ -1,9 +0,0 @@
+-language: rust
+-rust:
+- - nightly
+- - beta
+- - stable
+- - 1.17.0
+-script: make test
+-notifications:
+- webhooks: http://build.servo.org:54856/travis
+diff -Nrup a/third_party/rust/url/Cargo.toml b/third_party/rust/url/Cargo.toml
+--- a/third_party/rust/url/Cargo.toml 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/Cargo.toml 2020-02-28 20:28:57.261406050 +0300
+@@ -1,24 +1,31 @@
+-[package]
++# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
++#
++# When uploading crates to the registry Cargo will automatically
++# "normalize" Cargo.toml files for maximal compatibility
++# with all versions of Cargo and also rewrite `path` dependencies
++# to registry (e.g. crates.io) dependencies
++#
++# If you believe there's an error in this file please file an
++# issue against the rust-lang/cargo repository. If you're
++# editing this file be aware that the upstream Cargo.toml
++# will likely look very different (and much more reasonable)
+
++[package]
+ name = "url"
+-# When updating version, also modify html_root_url in the lib.rs
+-version = "1.5.1"
++version = "1.7.2"
+ authors = ["The rust-url developers"]
+-
+ description = "URL library for Rust, based on the WHATWG URL Standard"
+ documentation = "https://docs.rs/url"
+-repository = "https://github.com/servo/rust-url"
+ readme = "README.md"
+ keywords = ["url", "parser"]
+ categories = ["parser-implementations", "web-programming", "encoding"]
+ license = "MIT/Apache-2.0"
++repository = "https://github.com/servo/rust-url"
++[package.metadata.docs.rs]
++features = ["query_encoding"]
+
+-[badges]
+-travis-ci = { repository = "servo/rust-url" }
+-appveyor = { repository = "servo/rust-url" }
+-
+-[workspace]
+-members = [".", "idna", "percent_encoding", "url_serde"]
++[lib]
++test = false
+
+ [[test]]
+ name = "unit"
+@@ -27,23 +34,50 @@ name = "unit"
+ name = "data"
+ harness = false
+
+-[lib]
+-test = false
++[[bench]]
++name = "parse_url"
++harness = false
++[dependencies.encoding]
++version = "0.2"
++optional = true
+
+-[dev-dependencies]
+-rustc-test = "0.1"
+-rustc-serialize = "0.3"
+-serde_json = ">=0.6.1, <0.9"
++[dependencies.heapsize]
++version = ">=0.4.1, <0.5"
++optional = true
++
++[dependencies.idna]
++version = "0.1.0"
++
++[dependencies.matches]
++version = "0.1"
++
++[dependencies.percent-encoding]
++version = "1.0.0"
++
++[dependencies.rustc-serialize]
++version = "0.3"
++optional = true
++
++[dependencies.serde]
++version = ">=0.6.1, <0.9"
++optional = true
++[dev-dependencies.bencher]
++version = "0.1"
++
++[dev-dependencies.rustc-serialize]
++version = "0.3"
++
++[dev-dependencies.rustc-test]
++version = "0.3"
++
++[dev-dependencies.serde_json]
++version = ">=0.6.1, <0.9"
+
+ [features]
+-query_encoding = ["encoding"]
+ heap_size = ["heapsize"]
++query_encoding = ["encoding"]
++[badges.appveyor]
++repository = "Manishearth/rust-url"
+
+-[dependencies]
+-encoding = {version = "0.2", optional = true}
+-heapsize = {version = ">=0.1.1, <0.5", optional = true}
+-idna = { version = "0.1.0", path = "./idna" }
+-matches = "0.1"
+-percent-encoding = { version = "1.0.0", path = "./percent_encoding" }
+-rustc-serialize = {version = "0.3", optional = true}
+-serde = {version = ">=0.6.1, <0.9", optional = true}
++[badges.travis-ci]
++repository = "servo/rust-url"
+diff -Nrup a/third_party/rust/url/Makefile b/third_party/rust/url/Makefile
+--- a/third_party/rust/url/Makefile 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/Makefile 1970-01-01 03:00:00.000000000 +0300
+@@ -1,6 +0,0 @@
+-test:
+- cargo test --features "query_encoding serde rustc-serialize heapsize"
+- (cd idna && cargo test)
+- (cd url_serde && cargo test)
+-
+-.PHONY: test
+diff -Nrup a/third_party/rust/url/benches/parse_url.rs b/third_party/rust/url/benches/parse_url.rs
+--- a/third_party/rust/url/benches/parse_url.rs 1970-01-01 03:00:00.000000000 +0300
++++ b/third_party/rust/url/benches/parse_url.rs 2020-02-28 20:28:57.261406050 +0300
+@@ -0,0 +1,18 @@
++#[macro_use]
++extern crate bencher;
++
++extern crate url;
++
++use bencher::{black_box, Bencher};
++
++use url::Url;
++
++fn short(bench: &mut Bencher) {
++ let url = "https://example.com/bench";
++
++ bench.bytes = url.len() as u64;
++ bench.iter(|| black_box(url).parse::<Url>().unwrap());
++}
++
++benchmark_group!(benches, short);
++benchmark_main!(benches);
+diff -Nrup a/third_party/rust/url/rust-url-todo b/third_party/rust/url/rust-url-todo
+--- a/third_party/rust/url/rust-url-todo 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/rust-url-todo 1970-01-01 03:00:00.000000000 +0300
+@@ -1,14 +0,0 @@
+-* standalone path parsing?
+-* Test setters
+- * Test trim C0/space
+- * Test remove tab & newline
+-
+-
+-
+-#[test]
+-fn test_path_segments() {
+- let mut url = Url::parse("http://example.net").unwrap();
+- url.push_path_segment("foo").unwrap();
+- url.extend_path_segments(&["bar", "b/az"]).unwrap();
+- assert_eq!(url.as_str(), "http://example.net/foo");
+-}
+diff -Nrup a/third_party/rust/url/src/form_urlencoded.rs b/third_party/rust/url/src/form_urlencoded.rs
+--- a/third_party/rust/url/src/form_urlencoded.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/form_urlencoded.rs 2020-02-28 20:28:57.262406043 +0300
+@@ -16,6 +16,7 @@
+ use encoding::EncodingOverride;
+ use percent_encoding::{percent_encode_byte, percent_decode};
+ use std::borrow::{Borrow, Cow};
++use std::fmt;
+ use std::str;
+
+
+@@ -216,6 +217,15 @@ pub struct Serializer<T: Target> {
+ target: Option<T>,
+ start_position: usize,
+ encoding: EncodingOverride,
++ custom_encoding: Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>,
++}
++
++struct SilentDebug<T>(T);
++
++impl<T> fmt::Debug for SilentDebug<T> {
++ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
++ f.write_str("")
++ }
+ }
+
+ pub trait Target {
+@@ -247,8 +257,16 @@ impl<'a> Target for &'a mut String {
+ // * `Serializer` keeps its target in a private field
+ // * Unlike in other `Target` impls, `UrlQuery::finished` does not return `Self`.
+ impl<'a> Target for ::UrlQuery<'a> {
+- fn as_mut_string(&mut self) -> &mut String { &mut self.url.serialization }
+- fn finish(self) -> &'a mut ::Url { self.url }
++ fn as_mut_string(&mut self) -> &mut String {
++ &mut self.url.as_mut().unwrap().serialization
++ }
++
++ fn finish(mut self) -> &'a mut ::Url {
++ let url = self.url.take().unwrap();
++ url.restore_already_parsed_fragment(self.fragment.take());
++ url
++ }
++
+ type Finished = &'a mut ::Url;
+ }
+
+@@ -272,6 +290,7 @@ impl<T: Target> Serializer<T> {
+ target: Some(target),
+ start_position: start_position,
+ encoding: EncodingOverride::utf8(),
++ custom_encoding: None,
+ }
+ }
+
+@@ -290,11 +309,20 @@ impl<T: Target> Serializer<T> {
+ self
+ }
+
++ /// Set the character encoding to be used for names and values before percent-encoding.
++ pub fn custom_encoding_override<F>(&mut self, encode: F) -> &mut Self
++ where F: FnMut(&str) -> Cow<[u8]> + 'static
++ {
++ self.custom_encoding = Some(SilentDebug(Box::new(encode)));
++ self
++ }
++
+ /// Serialize and append a name/value pair.
+ ///
+ /// Panics if called after `.finish()`.
+ pub fn append_pair(&mut self, name: &str, value: &str) -> &mut Self {
+- append_pair(string(&mut self.target), self.start_position, self.encoding, name, value);
++ append_pair(string(&mut self.target), self.start_position, self.encoding,
++ &mut self.custom_encoding, name, value);
+ self
+ }
+
+@@ -311,7 +339,8 @@ impl<T: Target> Serializer<T> {
+ let string = string(&mut self.target);
+ for pair in iter {
+ let &(ref k, ref v) = pair.borrow();
+- append_pair(string, self.start_position, self.encoding, k.as_ref(), v.as_ref());
++ append_pair(string, self.start_position, self.encoding,
++ &mut self.custom_encoding, k.as_ref(), v.as_ref());
+ }
+ }
+ self
+@@ -324,6 +353,8 @@ impl<T: Target> Serializer<T> {
+ /// Panics if called after `.finish()`.
+ #[cfg(feature = "query_encoding")]
+ pub fn append_charset(&mut self) -> &mut Self {
++ assert!(self.custom_encoding.is_none(),
++ "Cannot use both custom_encoding_override() and append_charset()");
+ {
+ let string = string(&mut self.target);
+ append_separator_if_needed(string, self.start_position);
+@@ -361,9 +392,20 @@ fn string<T: Target>(target: &mut Option
+ }
+
+ fn append_pair(string: &mut String, start_position: usize, encoding: EncodingOverride,
++ custom_encoding: &mut Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>,
+ name: &str, value: &str) {
+ append_separator_if_needed(string, start_position);
+- string.extend(byte_serialize(&encoding.encode(name.into())));
++ append_encoded(name, string, encoding, custom_encoding);
+ string.push('=');
+- string.extend(byte_serialize(&encoding.encode(value.into())));
++ append_encoded(value, string, encoding, custom_encoding);
++}
++
++fn append_encoded(s: &str, string: &mut String, encoding: EncodingOverride,
++ custom_encoding: &mut Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>) {
++ let bytes = if let Some(SilentDebug(ref mut custom)) = *custom_encoding {
++ custom(s)
++ } else {
++ encoding.encode(s.into())
++ };
++ string.extend(byte_serialize(&bytes));
+ }
+diff -Nrup a/third_party/rust/url/src/host.rs b/third_party/rust/url/src/host.rs
+--- a/third_party/rust/url/src/host.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/host.rs 2020-02-28 20:28:57.247406151 +0300
+@@ -13,7 +13,7 @@ use std::io;
+ use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
+ use std::vec;
+ use parser::{ParseResult, ParseError};
+-use percent_encoding::percent_decode;
++use percent_encoding::{percent_decode, utf8_percent_encode, SIMPLE_ENCODE_SET};
+ use idna;
+
+ #[derive(Copy, Clone, Debug, Eq, PartialEq)]
+@@ -73,7 +73,9 @@ impl<S> From<Host<S>> for HostInternal {
+ #[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
+ pub enum Host<S=String> {
+ /// A DNS domain name, as '.' dot-separated labels.
+- /// Non-ASCII labels are encoded in punycode per IDNA.
++ /// Non-ASCII labels are encoded in punycode per IDNA if this is the host of
++ /// a special URL, or percent encoded for non-special URLs. Hosts for
++ /// non-special URLs are also called opaque hosts.
+ Domain(S),
+
+ /// An IPv4 address.
+@@ -137,7 +139,7 @@ impl<'a> Host<&'a str> {
+ impl Host<String> {
+ /// Parse a host: either an IPv6 address in [] square brackets, or a domain.
+ ///
+- /// https://url.spec.whatwg.org/#host-parsing
++ /// <https://url.spec.whatwg.org/#host-parsing>
+ pub fn parse(input: &str) -> Result<Self, ParseError> {
+ if input.starts_with('[') {
+ if !input.ends_with(']') {
+@@ -158,6 +160,23 @@ impl Host<String> {
+ Ok(Host::Domain(domain.into()))
+ }
+ }
++
++ // <https://url.spec.whatwg.org/#concept-opaque-host-parser>
++ pub fn parse_opaque(input: &str) -> Result<Self, ParseError> {
++ if input.starts_with('[') {
++ if !input.ends_with(']') {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++ return parse_ipv6addr(&input[1..input.len() - 1]).map(Host::Ipv6)
++ }
++ if input.find(|c| matches!(c,
++ '\0' | '\t' | '\n' | '\r' | ' ' | '#' | '/' | ':' | '?' | '@' | '[' | '\\' | ']'
++ )).is_some() {
++ return Err(ParseError::InvalidDomainCharacter)
++ }
++ let s = utf8_percent_encode(input, SIMPLE_ENCODE_SET).to_string();
++ Ok(Host::Domain(s))
++ }
+ }
+
+ impl<S: AsRef<str>> fmt::Display for Host<S> {
+@@ -309,8 +328,8 @@ fn longest_zero_sequence(pieces: &[u16;
+ }
+ }
+
+-/// https://url.spec.whatwg.org/#ipv4-number-parser
+-fn parse_ipv4number(mut input: &str) -> Result<u32, ()> {
++/// <https://url.spec.whatwg.org/#ipv4-number-parser>
++fn parse_ipv4number(mut input: &str) -> Result<Option<u32>, ()> {
+ let mut r = 10;
+ if input.starts_with("0x") || input.starts_with("0X") {
+ input = &input[2..];
+@@ -319,19 +338,35 @@ fn parse_ipv4number(mut input: &str) ->
+ input = &input[1..];
+ r = 8;
+ }
++
++ // At the moment we can't know the reason why from_str_radix fails
++ // https://github.com/rust-lang/rust/issues/22639
++ // So instead we check if the input looks like a real number and only return
++ // an error when it's an overflow.
++ let valid_number = match r {
++ 8 => input.chars().all(|c| c >= '0' && c <='7'),
++ 10 => input.chars().all(|c| c >= '0' && c <='9'),
++ 16 => input.chars().all(|c| (c >= '0' && c <='9') || (c >='a' && c <= 'f') || (c >= 'A' && c <= 'F')),
++ _ => false
++ };
++
++ if !valid_number {
++ return Ok(None);
++ }
++
+ if input.is_empty() {
+- return Ok(0);
++ return Ok(Some(0));
+ }
+ if input.starts_with('+') {
+- return Err(())
++ return Ok(None);
+ }
+ match u32::from_str_radix(input, r) {
+- Ok(number) => Ok(number),
++ Ok(number) => Ok(Some(number)),
+ Err(_) => Err(()),
+ }
+ }
+
+-/// https://url.spec.whatwg.org/#concept-ipv4-parser
++/// <https://url.spec.whatwg.org/#concept-ipv4-parser>
+ fn parse_ipv4addr(input: &str) -> ParseResult<Option<Ipv4Addr>> {
+ if input.is_empty() {
+ return Ok(None)
+@@ -344,15 +379,19 @@ fn parse_ipv4addr(input: &str) -> ParseR
+ return Ok(None);
+ }
+ let mut numbers: Vec<u32> = Vec::new();
++ let mut overflow = false;
+ for part in parts {
+ if part == "" {
+ return Ok(None);
+ }
+- if let Ok(n) = parse_ipv4number(part) {
+- numbers.push(n);
+- } else {
+- return Ok(None);
+- }
++ match parse_ipv4number(part) {
++ Ok(Some(n)) => numbers.push(n),
++ Ok(None) => return Ok(None),
++ Err(()) => overflow = true
++ };
++ }
++ if overflow {
++ return Err(ParseError::InvalidIpv4Address);
+ }
+ let mut ipv4 = numbers.pop().expect("a non-empty list of numbers");
+ // Equivalent to: ipv4 >= 256 ** (4 numbers.len())
+@@ -368,7 +407,7 @@ fn parse_ipv4addr(input: &str) -> ParseR
+ Ok(Some(Ipv4Addr::from(ipv4)))
+ }
+
+-/// https://url.spec.whatwg.org/#concept-ipv6-parser
++/// <https://url.spec.whatwg.org/#concept-ipv6-parser>
+ fn parse_ipv6addr(input: &str) -> ParseResult<Ipv6Addr> {
+ let input = input.as_bytes();
+ let len = input.len();
+@@ -423,6 +462,9 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ return Err(ParseError::InvalidIpv6Address)
+ }
+ i = start;
++ if piece_pointer > 6 {
++ return Err(ParseError::InvalidIpv6Address)
++ }
+ is_ip_v4 = true;
+ },
+ b':' => {
+@@ -445,16 +487,24 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ if piece_pointer > 6 {
+ return Err(ParseError::InvalidIpv6Address)
+ }
+- let mut dots_seen = 0;
++ let mut numbers_seen = 0;
+ while i < len {
+- let mut value = None;
++ if numbers_seen > 0 {
++ if numbers_seen < 4 && (i < len && input[i] == b'.') {
++ i += 1
++ } else {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++ }
++
++ let mut ipv4_piece = None;
+ while i < len {
+ let digit = match input[i] {
+ c @ b'0' ... b'9' => c - b'0',
+ _ => break
+ };
+- match value {
+- None => value = Some(digit as u16),
++ match ipv4_piece {
++ None => ipv4_piece = Some(digit as u16),
+ Some(0) => return Err(ParseError::InvalidIpv6Address), // No leading zero
+ Some(ref mut v) => {
+ *v = *v * 10 + digit as u16;
+@@ -465,24 +515,28 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ }
+ i += 1;
+ }
+- if dots_seen < 3 && !(i < len && input[i] == b'.') {
+- return Err(ParseError::InvalidIpv6Address)
+- }
+- pieces[piece_pointer] = if let Some(v) = value {
++
++ pieces[piece_pointer] = if let Some(v) = ipv4_piece {
+ pieces[piece_pointer] * 0x100 + v
+ } else {
+ return Err(ParseError::InvalidIpv6Address)
+ };
+- if dots_seen == 1 || dots_seen == 3 {
++ numbers_seen += 1;
++
++ if numbers_seen == 2 || numbers_seen == 4 {
+ piece_pointer += 1;
+ }
+- i += 1;
+- if dots_seen == 3 && i < len {
+- return Err(ParseError::InvalidIpv6Address)
+- }
+- dots_seen += 1;
++ }
++
++ if numbers_seen != 4 {
++ return Err(ParseError::InvalidIpv6Address)
+ }
+ }
++
++ if i < len {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++
+ match compress_pointer {
+ Some(compress_pointer) => {
+ let mut swaps = piece_pointer - compress_pointer;
+diff -Nrup a/third_party/rust/url/src/lib.rs b/third_party/rust/url/src/lib.rs
+--- a/third_party/rust/url/src/lib.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/lib.rs 2020-02-28 20:28:57.262406043 +0300
+@@ -104,7 +104,7 @@ assert_eq!(css_url.as_str(), "http://ser
+ # run().unwrap();
+ */
+
+-#![doc(html_root_url = "https://docs.rs/url/1.5.1")]
++#![doc(html_root_url = "https://docs.rs/url/1.7.0")]
+
+ #[cfg(feature="rustc-serialize")] extern crate rustc_serialize;
+ #[macro_use] extern crate matches;
+@@ -112,12 +112,13 @@ assert_eq!(css_url.as_str(), "http://ser
+ #[cfg(feature="heapsize")] #[macro_use] extern crate heapsize;
+
+ pub extern crate idna;
++#[macro_use]
+ pub extern crate percent_encoding;
+
+ use encoding::EncodingOverride;
+ #[cfg(feature = "heapsize")] use heapsize::HeapSizeOf;
+ use host::HostInternal;
+-use parser::{Parser, Context, SchemeType, to_u32};
++use parser::{Parser, Context, SchemeType, to_u32, ViolationFn};
+ use percent_encoding::{PATH_SEGMENT_ENCODE_SET, USERINFO_ENCODE_SET,
+ percent_encode, percent_decode, utf8_percent_encode};
+ use std::borrow::Borrow;
+@@ -135,7 +136,7 @@ use std::str;
+ pub use origin::{Origin, OpaqueOrigin};
+ pub use host::{Host, HostAndPort, SocketAddrs};
+ pub use path_segments::PathSegmentsMut;
+-pub use parser::ParseError;
++pub use parser::{ParseError, SyntaxViolation};
+ pub use slicing::Position;
+
+ mod encoding;
+@@ -186,7 +187,7 @@ impl HeapSizeOf for Url {
+ pub struct ParseOptions<'a> {
+ base_url: Option<&'a Url>,
+ encoding_override: encoding::EncodingOverride,
+- log_syntax_violation: Option<&'a Fn(&'static str)>,
++ violation_fn: ViolationFn<'a>,
+ }
+
+ impl<'a> ParseOptions<'a> {
+@@ -209,9 +210,47 @@ impl<'a> ParseOptions<'a> {
+ self
+ }
+
+- /// Call the provided function or closure on non-fatal parse errors.
++ /// Call the provided function or closure on non-fatal parse errors, passing
++ /// a static string description. This method is deprecated in favor of
++ /// `syntax_violation_callback` and is implemented as an adaptor for the
++ /// latter, passing the `SyntaxViolation` description. Only the last value
++ /// passed to either method will be used by a parser.
++ #[deprecated]
+ pub fn log_syntax_violation(mut self, new: Option<&'a Fn(&'static str)>) -> Self {
+- self.log_syntax_violation = new;
++ self.violation_fn = match new {
++ Some(f) => ViolationFn::OldFn(f),
++ None => ViolationFn::NoOp
++ };
++ self
++ }
++
++ /// Call the provided function or closure for a non-fatal `SyntaxViolation`
++ /// when it occurs during parsing. Note that since the provided function is
++ /// `Fn`, the caller might need to utilize _interior mutability_, such as with
++ /// a `RefCell`, to collect the violations.
++ ///
++ /// ## Example
++ /// ```
++ /// use std::cell::RefCell;
++ /// use url::{Url, SyntaxViolation};
++ /// # use url::ParseError;
++ /// # fn run() -> Result<(), url::ParseError> {
++ /// let violations = RefCell::new(Vec::new());
++ /// let url = Url::options()
++ /// .syntax_violation_callback(Some(&|v| violations.borrow_mut().push(v)))
++ /// .parse("https:////example.com")?;
++ /// assert_eq!(url.as_str(), "https://example.com/");
++ /// assert_eq!(violations.into_inner(),
++ /// vec!(SyntaxViolation::ExpectedDoubleSlash));
++ /// # Ok(())
++ /// # }
++ /// # run().unwrap();
++ /// ```
++ pub fn syntax_violation_callback(mut self, new: Option<&'a Fn(SyntaxViolation)>) -> Self {
++ self.violation_fn = match new {
++ Some(f) => ViolationFn::NewFn(f),
++ None => ViolationFn::NoOp
++ };
+ self
+ }
+
+@@ -221,7 +260,7 @@ impl<'a> ParseOptions<'a> {
+ serialization: String::with_capacity(input.len()),
+ base_url: self.base_url,
+ query_encoding_override: self.encoding_override,
+- log_syntax_violation: self.log_syntax_violation,
++ violation_fn: self.violation_fn,
+ context: Context::UrlParser,
+ }.parse_url(input)
+ }
+@@ -229,11 +268,12 @@ impl<'a> ParseOptions<'a> {
+
+ impl<'a> Debug for ParseOptions<'a> {
+ fn fmt(&self, f: &mut Formatter) -> fmt::Result {
+- write!(f, "ParseOptions {{ base_url: {:?}, encoding_override: {:?}, log_syntax_violation: ", self.base_url, self.encoding_override)?;
+- match self.log_syntax_violation {
+- Some(_) => write!(f, "Some(Fn(&'static str)) }}"),
+- None => write!(f, "None }}")
+- }
++ write!(f,
++ "ParseOptions {{ base_url: {:?}, encoding_override: {:?}, \
++ violation_fn: {:?} }}",
++ self.base_url,
++ self.encoding_override,
++ self.violation_fn)
+ }
+ }
+
+@@ -252,6 +292,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an absolute URL from the given string,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn parse(input: &str) -> Result<Url, ::ParseError> {
+ Url::options().parse(input)
+@@ -274,6 +321,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an absolute URL from the given string,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn parse_with_params<I, K, V>(input: &str, iter: I) -> Result<Url, ::ParseError>
+ where I: IntoIterator,
+@@ -301,7 +355,7 @@ impl Url {
+ /// ```rust
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let base = Url::parse("https://example.net/a/b.html")?;
+ /// let url = base.join("c.png")?;
+@@ -314,6 +368,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an URL from the given string
++ /// with this URL as the base URL, a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn join(&self, input: &str) -> Result<Url, ::ParseError> {
+ Url::options().base_url(Some(self)).parse(input)
+@@ -342,7 +403,7 @@ impl Url {
+ ParseOptions {
+ base_url: None,
+ encoding_override: EncodingOverride::utf8(),
+- log_syntax_violation: None,
++ violation_fn: ViolationFn::NoOp,
+ }
+ }
+
+@@ -500,7 +561,7 @@ impl Url {
+ Ok(())
+ }
+
+- /// Return the origin of this URL (https://url.spec.whatwg.org/#origin)
++ /// Return the origin of this URL (<https://url.spec.whatwg.org/#origin>)
+ ///
+ /// Note: this returns an opaque origin for `file:` URLs, which causes
+ /// `url.origin() != url.origin()`.
+@@ -1156,11 +1217,11 @@ impl Url {
+ /// assert_eq!(url.as_str(), "https://example.com/data.csv");
+
+ /// url.set_fragment(Some("cell=4,1-6,2"));
+- /// assert_eq!(url.as_str(), "https://example.com/data.csv#cell=4,1-6,2");
++ /// assert_eq!(url.as_str(), "https://example.com/data.csv#cell=4,1-6,2");
+ /// assert_eq!(url.fragment(), Some("cell=4,1-6,2"));
+ ///
+ /// url.set_fragment(None);
+- /// assert_eq!(url.as_str(), "https://example.com/data.csv");
++ /// assert_eq!(url.as_str(), "https://example.com/data.csv");
+ /// assert!(url.fragment().is_none());
+ /// # Ok(())
+ /// # }
+@@ -1213,7 +1274,7 @@ impl Url {
+ /// assert_eq!(url.as_str(), "https://example.com/products");
+ ///
+ /// url.set_query(Some("page=2"));
+- /// assert_eq!(url.as_str(), "https://example.com/products?page=2");
++ /// assert_eq!(url.as_str(), "https://example.com/products?page=2");
+ /// assert_eq!(url.query(), Some("page=2"));
+ /// # Ok(())
+ /// # }
+@@ -1283,7 +1344,7 @@ impl Url {
+ self.serialization.push('?');
+ }
+
+- let query = UrlQuery { url: self, fragment: fragment };
++ let query = UrlQuery { url: Some(self), fragment: fragment };
+ form_urlencoded::Serializer::for_suffix(query, query_start + "?".len())
+ }
+
+@@ -1309,12 +1370,12 @@ impl Url {
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.com")?;
+ /// url.set_path("api/comments");
+- /// assert_eq!(url.as_str(), "https://example.com/api/comments");
++ /// assert_eq!(url.as_str(), "https://example.com/api/comments");
+ /// assert_eq!(url.path(), "/api/comments");
+ ///
+ /// let mut url = Url::parse("https://example.com/api")?;
+ /// url.set_path("data/report.csv");
+- /// assert_eq!(url.as_str(), "https://example.com/data/report.csv");
++ /// assert_eq!(url.as_str(), "https://example.com/data/report.csv");
+ /// assert_eq!(url.path(), "/data/report.csv");
+ /// # Ok(())
+ /// # }
+@@ -1406,7 +1467,8 @@ impl Url {
+ /// # run().unwrap();
+ /// ```
+ pub fn set_port(&mut self, mut port: Option<u16>) -> Result<(), ()> {
+- if !self.has_host() || self.scheme() == "file" {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ if port.is_some() && port == parser::default_port(self.scheme()) {
+@@ -1448,9 +1510,6 @@ impl Url {
+
+ /// Change this URLs host.
+ ///
+- /// If this URL is cannot-be-a-base or there is an error parsing the given `host`,
+- /// do nothing and return `Err`.
+- ///
+ /// Removing the host (calling this with `None`)
+ /// will also remove any username, password, and port number.
+ ///
+@@ -1477,7 +1536,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("foo://example.net")?;
+ /// let result = url.set_host(None);
+@@ -1493,7 +1552,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_host(None);
+@@ -1509,7 +1568,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("mailto:rms@example.net")?;
+ ///
+@@ -1524,6 +1583,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If this URL is cannot-be-a-base or there is an error parsing the given `host`,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ pub fn set_host(&mut self, host: Option<&str>) -> Result<(), ParseError> {
+ if self.cannot_be_a_base() {
+ return Err(ParseError::SetHostOnCannotBeABaseUrl)
+@@ -1533,7 +1599,11 @@ impl Url {
+ if host == "" && SchemeType::from(self.scheme()).is_special() {
+ return Err(ParseError::EmptyHost);
+ }
+- self.set_host_internal(Host::parse(host)?, None)
++ if SchemeType::from(self.scheme()).is_special() {
++ self.set_host_internal(Host::parse(host)?, None)
++ } else {
++ self.set_host_internal(Host::parse_opaque(host)?, None)
++ }
+ } else if self.has_host() {
+ if SchemeType::from(self.scheme()).is_special() {
+ return Err(ParseError::EmptyHost)
+@@ -1666,7 +1736,8 @@ impl Url {
+ /// # run().unwrap();
+ /// ```
+ pub fn set_password(&mut self, password: Option<&str>) -> Result<(), ()> {
+- if !self.has_host() {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ if let Some(password) = password {
+@@ -1732,21 +1803,23 @@ impl Url {
+ /// ```
+ ///
+ /// Setup username to user1
++ ///
+ /// ```rust
+ /// use url::{Url, ParseError};
+ ///
+ /// # fn run() -> Result<(), ParseError> {
+- /// let mut url = Url::parse("ftp://:secre1@example.com")?;
++ /// let mut url = Url::parse("ftp://:secre1@example.com/")?;
+ /// let result = url.set_username("user1");
+ /// assert!(result.is_ok());
+ /// assert_eq!(url.username(), "user1");
+- /// assert_eq!(url.as_str(), "ftp://user1:secre1@example.com");
++ /// assert_eq!(url.as_str(), "ftp://user1:secre1@example.com/");
+ /// # Ok(())
+ /// # }
+ /// # run().unwrap();
+ /// ```
+ pub fn set_username(&mut self, username: &str) -> Result<(), ()> {
+- if !self.has_host() {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ let username_start = self.scheme_end + 3;
+@@ -1805,7 +1878,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_scheme("foo");
+@@ -1822,7 +1895,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_scheme("fo");
+@@ -1838,7 +1911,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("mailto:rms@example.net")?;
+ /// let result = url.set_scheme("https");
+@@ -1887,7 +1960,7 @@ impl Url {
+ /// ```
+ /// # if cfg!(unix) {
+ /// use url::Url;
+- ///
++ ///
+ /// # fn run() -> Result<(), ()> {
+ /// let url = Url::from_file_path("/tmp/foo.txt")?;
+ /// assert_eq!(url.as_str(), "file:///tmp/foo.txt");
+@@ -1902,6 +1975,7 @@ impl Url {
+ /// # run().unwrap();
+ /// # }
+ /// ```
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn from_file_path<P: AsRef<Path>>(path: P) -> Result<Url, ()> {
+ let mut serialization = "file://".to_owned();
+ let host_start = serialization.len() as u32;
+@@ -1937,6 +2011,7 @@ impl Url {
+ ///
+ /// Note that `std::path` does not consider trailing slashes significant
+ /// and usually does not include them (e.g. in `Path::parent()`).
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn from_directory_path<P: AsRef<Path>>(path: P) -> Result<Url, ()> {
+ let mut url = Url::from_file_path(path)?;
+ if !url.serialization.ends_with('/') {
+@@ -2018,6 +2093,7 @@ impl Url {
+ /// (That is, if the percent-decoded path contains a NUL byte or,
+ /// for a Windows path, is not UTF-8.)
+ #[inline]
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn to_file_path(&self) -> Result<PathBuf, ()> {
+ if let Some(segments) = self.path_segments() {
+ let host = match self.host() {
+@@ -2264,6 +2340,7 @@ fn path_to_file_url_segments_windows(pat
+ Ok((host_end, host_internal))
+ }
+
++
+ #[cfg(any(unix, target_os = "redox"))]
+ fn file_url_segments_to_pathbuf(host: Option<&str>, segments: str::Split<char>) -> Result<PathBuf, ()> {
+ use std::ffi::OsStr;
+@@ -2347,13 +2424,15 @@ fn io_error<T>(reason: &str) -> io::Resu
+ /// Implementation detail of `Url::query_pairs_mut`. Typically not used directly.
+ #[derive(Debug)]
+ pub struct UrlQuery<'a> {
+- url: &'a mut Url,
++ url: Option<&'a mut Url>,
+ fragment: Option<String>,
+ }
+
+ impl<'a> Drop for UrlQuery<'a> {
+ fn drop(&mut self) {
+- self.url.restore_already_parsed_fragment(self.fragment.take())
++ if let Some(url) = self.url.take() {
++ url.restore_already_parsed_fragment(self.fragment.take())
++ }
+ }
+ }
+
+diff -Nrup a/third_party/rust/url/src/origin.rs b/third_party/rust/url/src/origin.rs
+--- a/third_party/rust/url/src/origin.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/origin.rs 2020-02-28 20:28:57.238406216 +0300
+@@ -49,7 +49,7 @@ pub fn url_origin(url: &Url) -> Origin {
+ /// - If the scheme is anything else, the origin is opaque, meaning
+ /// the URL does not have the same origin as any other URL.
+ ///
+-/// For more information see https://url.spec.whatwg.org/#origin
++/// For more information see <https://url.spec.whatwg.org/#origin>
+ #[derive(PartialEq, Eq, Hash, Clone, Debug)]
+ pub enum Origin {
+ /// A globally unique identifier
+@@ -86,7 +86,7 @@ impl Origin {
+ matches!(*self, Origin::Tuple(..))
+ }
+
+- /// https://html.spec.whatwg.org/multipage/#ascii-serialisation-of-an-origin
++ /// <https://html.spec.whatwg.org/multipage/#ascii-serialisation-of-an-origin>
+ pub fn ascii_serialization(&self) -> String {
+ match *self {
+ Origin::Opaque(_) => "null".to_owned(),
+@@ -100,7 +100,7 @@ impl Origin {
+ }
+ }
+
+- /// https://html.spec.whatwg.org/multipage/#unicode-serialisation-of-an-origin
++ /// <https://html.spec.whatwg.org/multipage/#unicode-serialisation-of-an-origin>
+ pub fn unicode_serialization(&self) -> String {
+ match *self {
+ Origin::Opaque(_) => "null".to_owned(),
+diff -Nrup a/third_party/rust/url/src/parser.rs b/third_party/rust/url/src/parser.rs
+--- a/third_party/rust/url/src/parser.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/parser.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -6,7 +6,9 @@
+ // option. This file may not be copied, modified, or distributed
+ // except according to those terms.
+
++#[allow(unused_imports, deprecated)]
+ use std::ascii::AsciiExt;
++
+ use std::error::Error;
+ use std::fmt::{self, Formatter, Write};
+ use std::str;
+@@ -20,6 +22,12 @@ use percent_encoding::{
+ PATH_SEGMENT_ENCODE_SET
+ };
+
++define_encode_set! {
++ // The backslash (\) character is treated as a path separator in special URLs
++ // so it needs to be additionally escaped in that case.
++ pub SPECIAL_PATH_SEGMENT_ENCODE_SET = [PATH_SEGMENT_ENCODE_SET] | {'\\'}
++}
++
+ pub type ParseResult<T> = Result<T, ParseError>;
+
+ macro_rules! simple_enum_error {
+@@ -70,6 +78,54 @@ impl From<::idna::uts46::Errors> for Par
+ fn from(_: ::idna::uts46::Errors) -> ParseError { ParseError::IdnaError }
+ }
+
++macro_rules! syntax_violation_enum {
++ ($($name: ident => $description: expr,)+) => {
++ /// Non-fatal syntax violations that can occur during parsing.
++ #[derive(PartialEq, Eq, Clone, Copy, Debug)]
++ pub enum SyntaxViolation {
++ $(
++ $name,
++ )+
++ }
++
++ impl SyntaxViolation {
++ pub fn description(&self) -> &'static str {
++ match *self {
++ $(
++ SyntaxViolation::$name => $description,
++ )+
++ }
++ }
++ }
++ }
++}
++
++syntax_violation_enum! {
++ Backslash => "backslash",
++ C0SpaceIgnored =>
++ "leading or trailing control or space character are ignored in URLs",
++ EmbeddedCredentials =>
++ "embedding authentication information (username or password) \
++ in an URL is not recommended",
++ ExpectedDoubleSlash => "expected //",
++ ExpectedFileDoubleSlash => "expected // after file:",
++ FileWithHostAndWindowsDrive => "file: with host and Windows drive letter",
++ NonUrlCodePoint => "non-URL code point",
++ NullInFragment => "NULL characters are ignored in URL fragment identifiers",
++ PercentDecode => "expected 2 hex digits after %",
++ TabOrNewlineIgnored => "tabs or newlines are ignored in URLs",
++ UnencodedAtSign => "unencoded @ sign in username or password",
++}
++
++#[cfg(feature = "heapsize")]
++known_heap_size!(0, SyntaxViolation);
++
++impl fmt::Display for SyntaxViolation {
++ fn fmt(&self, fmt: &mut Formatter) -> fmt::Result {
++ self.description().fmt(fmt)
++ }
++}
++
+ #[derive(Copy, Clone)]
+ pub enum SchemeType {
+ File,
+@@ -112,18 +168,17 @@ pub struct Input<'i> {
+
+ impl<'i> Input<'i> {
+ pub fn new(input: &'i str) -> Self {
+- Input::with_log(input, None)
++ Input::with_log(input, ViolationFn::NoOp)
+ }
+
+- pub fn with_log(original_input: &'i str, log_syntax_violation: Option<&Fn(&'static str)>)
+- -> Self {
++ pub fn with_log(original_input: &'i str, vfn: ViolationFn) -> Self {
+ let input = original_input.trim_matches(c0_control_or_space);
+- if let Some(log) = log_syntax_violation {
++ if vfn.is_set() {
+ if input.len() < original_input.len() {
+- log("leading or trailing control or space character are ignored in URLs")
++ vfn.call(SyntaxViolation::C0SpaceIgnored)
+ }
+ if input.chars().any(|c| matches!(c, '\t' | '\n' | '\r')) {
+- log("tabs or newlines are ignored in URLs")
++ vfn.call(SyntaxViolation::TabOrNewlineIgnored)
+ }
+ }
+ Input { chars: input.chars() }
+@@ -216,11 +271,60 @@ impl<'i> Iterator for Input<'i> {
+ }
+ }
+
++/// Wrapper for syntax violation callback functions.
++#[derive(Copy, Clone)]
++pub enum ViolationFn<'a> {
++ NewFn(&'a (Fn(SyntaxViolation) + 'a)),
++ OldFn(&'a (Fn(&'static str) + 'a)),
++ NoOp
++}
++
++impl<'a> ViolationFn<'a> {
++ /// Call with a violation.
++ pub fn call(self, v: SyntaxViolation) {
++ match self {
++ ViolationFn::NewFn(f) => f(v),
++ ViolationFn::OldFn(f) => f(v.description()),
++ ViolationFn::NoOp => {}
++ }
++ }
++
++ /// Call with a violation, if provided test returns true. Avoids
++ /// the test entirely if `NoOp`.
++ pub fn call_if<F>(self, v: SyntaxViolation, test: F)
++ where F: Fn() -> bool
++ {
++ match self {
++ ViolationFn::NewFn(f) => if test() { f(v) },
++ ViolationFn::OldFn(f) => if test() { f(v.description()) },
++ ViolationFn::NoOp => {} // avoid test
++ }
++ }
++
++ /// True if not `NoOp`
++ pub fn is_set(self) -> bool {
++ match self {
++ ViolationFn::NoOp => false,
++ _ => true
++ }
++ }
++}
++
++impl<'a> fmt::Debug for ViolationFn<'a> {
++ fn fmt(&self, f: &mut Formatter) -> fmt::Result {
++ match *self {
++ ViolationFn::NewFn(_) => write!(f, "NewFn(Fn(SyntaxViolation))"),
++ ViolationFn::OldFn(_) => write!(f, "OldFn(Fn(&'static str))"),
++ ViolationFn::NoOp => write!(f, "NoOp")
++ }
++ }
++}
++
+ pub struct Parser<'a> {
+ pub serialization: String,
+ pub base_url: Option<&'a Url>,
+ pub query_encoding_override: EncodingOverride,
+- pub log_syntax_violation: Option<&'a Fn(&'static str)>,
++ pub violation_fn: ViolationFn<'a>,
+ pub context: Context,
+ }
+
+@@ -237,29 +341,14 @@ impl<'a> Parser<'a> {
+ serialization: serialization,
+ base_url: None,
+ query_encoding_override: EncodingOverride::utf8(),
+- log_syntax_violation: None,
++ violation_fn: ViolationFn::NoOp,
+ context: Context::Setter,
+ }
+ }
+
+- fn syntax_violation(&self, reason: &'static str) {
+- if let Some(log) = self.log_syntax_violation {
+- log(reason)
+- }
+- }
+-
+- fn syntax_violation_if<F: Fn() -> bool>(&self, reason: &'static str, test: F) {
+- // Skip test if not logging.
+- if let Some(log) = self.log_syntax_violation {
+- if test() {
+- log(reason)
+- }
+- }
+- }
+-
+ /// https://url.spec.whatwg.org/#concept-basic-url-parser
+ pub fn parse_url(mut self, input: &str) -> ParseResult<Url> {
+- let input = Input::with_log(input, self.log_syntax_violation);
++ let input = Input::with_log(input, self.violation_fn);
+ if let Ok(remaining) = self.parse_scheme(input.clone()) {
+ return self.parse_with_scheme(remaining)
+ }
+@@ -310,12 +399,13 @@ impl<'a> Parser<'a> {
+ }
+
+ fn parse_with_scheme(mut self, input: Input) -> ParseResult<Url> {
++ use SyntaxViolation::{ExpectedFileDoubleSlash, ExpectedDoubleSlash};
+ let scheme_end = to_u32(self.serialization.len())?;
+ let scheme_type = SchemeType::from(&self.serialization);
+ self.serialization.push(':');
+ match scheme_type {
+ SchemeType::File => {
+- self.syntax_violation_if("expected // after file:", || !input.starts_with("//"));
++ self.violation_fn.call_if(ExpectedFileDoubleSlash, || !input.starts_with("//"));
+ let base_file_url = self.base_url.and_then(|base| {
+ if base.scheme() == "file" { Some(base) } else { None }
+ });
+@@ -335,7 +425,7 @@ impl<'a> Parser<'a> {
+ }
+ }
+ // special authority slashes state
+- self.syntax_violation_if("expected //", || {
++ self.violation_fn.call_if(ExpectedDoubleSlash, || {
+ input.clone().take_while(|&c| matches!(c, '/' | '\\'))
+ .collect::<String>() != "//"
+ });
+@@ -371,6 +461,7 @@ impl<'a> Parser<'a> {
+ }
+
+ fn parse_file(mut self, input: Input, mut base_file_url: Option<&Url>) -> ParseResult<Url> {
++ use SyntaxViolation::Backslash;
+ // file state
+ debug_assert!(self.serialization.is_empty());
+ let (first_char, input_after_first_char) = input.split_first();
+@@ -451,6 +542,7 @@ impl<'a> Parser<'a> {
+ let scheme_end = "file".len() as u32;
+ let path_start = "file://".len() as u32;
+ let fragment_start = "file:///".len() as u32;
++ self.serialization.push('#');
+ self.parse_fragment(input_after_first_char);
+ Ok(Url {
+ serialization: self.serialization,
+@@ -467,18 +559,18 @@ impl<'a> Parser<'a> {
+ }
+ }
+ Some('/') | Some('\\') => {
+- self.syntax_violation_if("backslash", || first_char == Some('\\'));
++ self.violation_fn.call_if(Backslash, || first_char == Some('\\'));
+ // file slash state
+ let (next_char, input_after_next_char) = input_after_first_char.split_first();
+- self.syntax_violation_if("backslash", || next_char == Some('\\'));
++ self.violation_fn.call_if(Backslash, || next_char == Some('\\'));
+ if matches!(next_char, Some('/') | Some('\\')) {
+ // file host state
+ self.serialization.push_str("file://");
+ let scheme_end = "file".len() as u32;
+ let host_start = "file://".len() as u32;
+- let (path_start, host, remaining) =
++ let (path_start, mut host, remaining) =
+ self.parse_file_host(input_after_next_char)?;
+- let host_end = to_u32(self.serialization.len())?;
++ let mut host_end = to_u32(self.serialization.len())?;
+ let mut has_host = !matches!(host, HostInternal::None);
+ let remaining = if path_start {
+ self.parse_path_start(SchemeType::File, &mut has_host, remaining)
+@@ -487,7 +579,13 @@ impl<'a> Parser<'a> {
+ self.serialization.push('/');
+ self.parse_path(SchemeType::File, &mut has_host, path_start, remaining)
+ };
+- // FIXME: deal with has_host
++ // For file URLs that have a host and whose path starts
++ // with the windows drive letter we just remove the host.
++ if !has_host {
++ self.serialization.drain(host_start as usize..host_end as usize);
++ host_end = host_start;
++ host = HostInternal::None;
++ }
+ let (query_start, fragment_start) =
+ self.parse_query_and_fragment(scheme_end, remaining)?;
+ Ok(Url {
+@@ -616,7 +714,7 @@ impl<'a> Parser<'a> {
+ Some('/') | Some('\\') => {
+ let (slashes_count, remaining) = input.count_matching(|c| matches!(c, '/' | '\\'));
+ if slashes_count >= 2 {
+- self.syntax_violation_if("expected //", || {
++ self.violation_fn.call_if(SyntaxViolation::ExpectedDoubleSlash, || {
+ input.clone().take_while(|&c| matches!(c, '/' | '\\'))
+ .collect::<String>() != "//"
+ });
+@@ -680,11 +778,9 @@ impl<'a> Parser<'a> {
+ match c {
+ '@' => {
+ if last_at.is_some() {
+- self.syntax_violation("unencoded @ sign in username or password")
++ self.violation_fn.call(SyntaxViolation::UnencodedAtSign)
+ } else {
+- self.syntax_violation(
+- "embedding authentification information (username or password) \
+- in an URL is not recommended")
++ self.violation_fn.call(SyntaxViolation::EmbeddedCredentials)
+ }
+ last_at = Some((char_count, remaining.clone()))
+ },
+@@ -701,14 +797,23 @@ impl<'a> Parser<'a> {
+ };
+
+ let mut username_end = None;
++ let mut has_password = false;
++ let mut has_username = false;
+ while userinfo_char_count > 0 {
+ let (c, utf8_c) = input.next_utf8().unwrap();
+ userinfo_char_count -= 1;
+ if c == ':' && username_end.is_none() {
+ // Start parsing password
+ username_end = Some(to_u32(self.serialization.len())?);
+- self.serialization.push(':');
++ // We don't add a colon if the password is empty
++ if userinfo_char_count > 0 {
++ self.serialization.push(':');
++ has_password = true;
++ }
+ } else {
++ if !has_password {
++ has_username = true;
++ }
+ self.check_url_code_point(c, &input);
+ self.serialization.extend(utf8_percent_encode(utf8_c, USERINFO_ENCODE_SET));
+ }
+@@ -717,7 +822,9 @@ impl<'a> Parser<'a> {
+ Some(i) => i,
+ None => to_u32(self.serialization.len())?,
+ };
+- self.serialization.push('@');
++ if has_username || has_password {
++ self.serialization.push('@');
++ }
+ Ok((username_end, remaining))
+ }
+
+@@ -783,6 +890,10 @@ impl<'a> Parser<'a> {
+ if scheme_type.is_special() && host_str.is_empty() {
+ return Err(ParseError::EmptyHost)
+ }
++ if !scheme_type.is_special() {
++ let host = Host::parse_opaque(host_str)?;
++ return Ok((host, input));
++ }
+ let host = Host::parse(host_str)?;
+ Ok((host, input))
+ }
+@@ -867,7 +978,7 @@ impl<'a> Parser<'a> {
+ match input.split_first() {
+ (Some('/'), remaining) => input = remaining,
+ (Some('\\'), remaining) => if scheme_type.is_special() {
+- self.syntax_violation("backslash");
++ self.violation_fn.call(SyntaxViolation::Backslash);
+ input = remaining
+ },
+ _ => {}
+@@ -895,7 +1006,7 @@ impl<'a> Parser<'a> {
+ },
+ '\\' if self.context != Context::PathSegmentSetter &&
+ scheme_type.is_special() => {
+- self.syntax_violation("backslash");
++ self.violation_fn.call(SyntaxViolation::Backslash);
+ ends_with_slash = true;
+ break
+ },
+@@ -905,18 +1016,14 @@ impl<'a> Parser<'a> {
+ },
+ _ => {
+ self.check_url_code_point(c, &input);
+- if c == '%' {
+- let after_percent_sign = input.clone();
+- if matches!(input.next(), Some('2')) &&
+- matches!(input.next(), Some('E') | Some('e')) {
+- self.serialization.push('.');
+- continue
+- }
+- input = after_percent_sign
+- }
+ if self.context == Context::PathSegmentSetter {
+- self.serialization.extend(utf8_percent_encode(
+- utf8_c, PATH_SEGMENT_ENCODE_SET));
++ if scheme_type.is_special() {
++ self.serialization.extend(utf8_percent_encode(
++ utf8_c, SPECIAL_PATH_SEGMENT_ENCODE_SET));
++ } else {
++ self.serialization.extend(utf8_percent_encode(
++ utf8_c, PATH_SEGMENT_ENCODE_SET));
++ }
+ } else {
+ self.serialization.extend(utf8_percent_encode(
+ utf8_c, DEFAULT_ENCODE_SET));
+@@ -925,7 +1032,7 @@ impl<'a> Parser<'a> {
+ }
+ }
+ match &self.serialization[segment_start..] {
+- ".." => {
++ ".." | "%2e%2e" | "%2e%2E" | "%2E%2e" | "%2E%2E" | "%2e." | "%2E." | ".%2e" | ".%2E" => {
+ debug_assert!(self.serialization.as_bytes()[segment_start - 1] == b'/');
+ self.serialization.truncate(segment_start - 1); // Truncate "/.."
+ self.pop_path(scheme_type, path_start);
+@@ -933,7 +1040,7 @@ impl<'a> Parser<'a> {
+ self.serialization.push('/')
+ }
+ },
+- "." => {
++ "." | "%2e" | "%2E" => {
+ self.serialization.truncate(segment_start);
+ },
+ _ => {
+@@ -945,7 +1052,7 @@ impl<'a> Parser<'a> {
+ self.serialization.push(':');
+ }
+ if *has_host {
+- self.syntax_violation("file: with host and Windows drive letter");
++ self.violation_fn.call(SyntaxViolation::FileWithHostAndWindowsDrive);
+ *has_host = false; // FIXME account for this in callers
+ }
+ }
+@@ -1087,7 +1194,7 @@ impl<'a> Parser<'a> {
+ pub fn parse_fragment(&mut self, mut input: Input) {
+ while let Some((c, utf8_c)) = input.next_utf8() {
+ if c == '\0' {
+- self.syntax_violation("NULL characters are ignored in URL fragment identifiers")
++ self.violation_fn.call(SyntaxViolation::NullInFragment)
+ } else {
+ self.check_url_code_point(c, &input);
+ self.serialization.extend(utf8_percent_encode(utf8_c,
+@@ -1097,15 +1204,16 @@ impl<'a> Parser<'a> {
+ }
+
+ fn check_url_code_point(&self, c: char, input: &Input) {
+- if let Some(log) = self.log_syntax_violation {
++ let vfn = self.violation_fn;
++ if vfn.is_set() {
+ if c == '%' {
+ let mut input = input.clone();
+ if !matches!((input.next(), input.next()), (Some(a), Some(b))
+ if is_ascii_hex_digit(a) && is_ascii_hex_digit(b)) {
+- log("expected 2 hex digits after %")
++ vfn.call(SyntaxViolation::PercentDecode)
+ }
+ } else if !is_url_code_point(c) {
+- log("non-URL code point")
++ vfn.call(SyntaxViolation::NonUrlCodePoint)
+ }
+ }
+ }
+diff -Nrup a/third_party/rust/url/src/quirks.rs b/third_party/rust/url/src/quirks.rs
+--- a/third_party/rust/url/src/quirks.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/quirks.rs 2020-02-28 20:28:57.249406137 +0300
+@@ -46,7 +46,7 @@ pub fn set_href(url: &mut Url, value: &s
+
+ /// Getter for https://url.spec.whatwg.org/#dom-url-origin
+ pub fn origin(url: &Url) -> String {
+- url.origin().unicode_serialization()
++ url.origin().ascii_serialization()
+ }
+
+ /// Getter for https://url.spec.whatwg.org/#dom-url-protocol
+@@ -152,7 +152,7 @@ pub fn set_port(url: &mut Url, new_port:
+ {
+ // has_host implies !cannot_be_a_base
+ let scheme = url.scheme();
+- if !url.has_host() || scheme == "file" {
++ if !url.has_host() || url.host() == Some(Host::Domain("")) || scheme == "file" {
+ return Err(())
+ }
+ result = Parser::parse_port(Input::new(new_port), || default_port(scheme), Context::Setter)
+diff -Nrup a/third_party/rust/url/tests/data.rs b/third_party/rust/url/tests/data.rs
+--- a/third_party/rust/url/tests/data.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/data.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -9,7 +9,7 @@
+ //! Data-driven tests
+
+ extern crate rustc_serialize;
+-extern crate test;
++extern crate rustc_test as test;
+ extern crate url;
+
+ use rustc_serialize::json::{self, Json};
+@@ -29,6 +29,7 @@ fn check_invariants(url: &Url) {
+ fn run_parsing(input: &str, base: &str, expected: Result<ExpectedAttributes, ()>) {
+ let base = match Url::parse(&base) {
+ Ok(base) => base,
++ Err(_) if expected.is_err() => return,
+ Err(message) => panic!("Error parsing base {:?}: {}", base, message)
+ };
+ let (url, expected) = match (base.join(&input), expected) {
+@@ -188,11 +189,7 @@ fn main() {
+ {
+ let mut add_one = |name: String, run: test::TestFn| {
+ tests.push(test::TestDescAndFn {
+- desc: test::TestDesc {
+- name: test::DynTestName(name),
+- ignore: false,
+- should_panic: test::ShouldPanic::No,
+- },
++ desc: test::TestDesc::new(test::DynTestName(name)),
+ testfn: run,
+ })
+ };
+diff -Nrup a/third_party/rust/url/tests/setters_tests.json b/third_party/rust/url/tests/setters_tests.json
+--- a/third_party/rust/url/tests/setters_tests.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/setters_tests.json 2020-02-28 20:28:57.250406130 +0300
+@@ -102,6 +102,31 @@
+ }
+ },
+ {
++ "comment": "Cant switch from file URL with no host",
++ "href": "file://localhost/",
++ "new_value": "http",
++ "expected": {
++ "href": "file:///",
++ "protocol": "file:"
++ }
++ },
++ {
++ "href": "file:///test",
++ "new_value": "gopher",
++ "expected": {
++ "href": "file:///test",
++ "protocol": "file:"
++ }
++ },
++ {
++ "href": "file:",
++ "new_value": "wss",
++ "expected": {
++ "href": "file:///",
++ "protocol": "file:"
++ }
++ },
++ {
+ "comment": "Spec deviation: from special scheme to not is not problematic. https://github.com/whatwg/url/issues/104",
+ "href": "http://example.net",
+ "new_value": "b",
+@@ -176,6 +201,14 @@
+ }
+ },
+ {
++ "href": "javascript:alert(1)",
++ "new_value": "wario",
++ "expected": {
++ "href": "javascript:alert(1)",
++ "username": ""
++ }
++ },
++ {
+ "href": "http://example.net",
+ "new_value": "me",
+ "expected": {
+@@ -224,6 +257,30 @@
+ "href": "http://%c3%89t%C3%A9@example.net/",
+ "username": "%c3%89t%C3%A9"
+ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "x",
++ "expected": {
++ "href": "sc:///",
++ "username": ""
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "test",
++ "expected": {
++ "href": "file://test/",
++ "username": ""
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "wario",
++ "expected": {
++ "href": "javascript://wario@x/",
++ "username": "wario"
++ }
+ }
+ ],
+ "password": [
+@@ -303,10 +360,106 @@
+ "href": "http://:%c3%89t%C3%A9@example.net/",
+ "password": "%c3%89t%C3%A9"
+ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "x",
++ "expected": {
++ "href": "sc:///",
++ "password": ""
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "test",
++ "expected": {
++ "href": "file://test/",
++ "password": ""
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "bowser",
++ "expected": {
++ "href": "javascript://:bowser@x/",
++ "password": "bowser"
++ }
+ }
+ ],
+ "host": [
+ {
++ "href": "sc://x/",
++ "new_value": "\u0009",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000A",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000D",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "#",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "/",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "?",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "@",
++ "expected": {
++ "href": "sc://x/",
++ "host": "x",
++ "hostname": "x"
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "",
++ "expected": {
++ "href": "sc://%C3%9F/",
++ "host": "%C3%9F",
++ "hostname": "%C3%9F"
++ }
++ },
++ {
+ "comment": "Cannot-be-a-base means no host",
+ "href": "mailto:me@example.net",
+ "new_value": "example.com",
+@@ -384,15 +537,6 @@
+ }
+ },
+ {
+- "comment": "Path-only URLs can gain a host",
+- "href": "a:/foo",
+- "new_value": "example.net",
+- "expected": {
+- "href": "a://example.net/foo",
+- "host": "example.net"
+- }
+- },
+- {
+ "comment": "IPv4 address syntax is normalized",
+ "href": "http://example.net",
+ "new_value": "0x7F000001:8080",
+@@ -536,7 +680,7 @@
+ }
+ },
+ {
+- "comment": "\\ is not a delimiter for non-special schemes, and its invalid in a domain",
++ "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts",
+ "href": "view-source+http://example.net/path",
+ "new_value": "example.com\\stuff",
+ "expected": {
+@@ -600,10 +744,119 @@
+ "hostname": "example.com",
+ "port": ""
+ }
++ },
++ {
++ "comment": "Broken IPv6",
++ "href": "http://example.net/",
++ "new_value": "[google.com]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.4x]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
+ }
+ ],
+ "hostname": [
+ {
++ "href": "sc://x/",
++ "new_value": "\u0009",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000A",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000D",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "#",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "/",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "?",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "@",
++ "expected": {
++ "href": "sc://x/",
++ "host": "x",
++ "hostname": "x"
++ }
++ },
++ {
+ "comment": "Cannot-be-a-base means no host",
+ "href": "mailto:me@example.net",
+ "new_value": "example.com",
+@@ -659,15 +912,6 @@
+ }
+ },
+ {
+- "comment": "Path-only URLs can gain a host",
+- "href": "a:/foo",
+- "new_value": "example.net",
+- "expected": {
+- "href": "a://example.net/foo",
+- "host": "example.net"
+- }
+- },
+- {
+ "comment": "IPv4 address syntax is normalized",
+ "href": "http://example.net:8080",
+ "new_value": "0x7F000001",
+@@ -756,7 +1000,7 @@
+ }
+ },
+ {
+- "comment": "\\ is not a delimiter for non-special schemes, and its invalid in a domain",
++ "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts",
+ "href": "view-source+http://example.net/path",
+ "new_value": "example.com\\stuff",
+ "expected": {
+@@ -765,6 +1009,52 @@
+ "hostname": "example.net",
+ "port": ""
+ }
++ },
++ {
++ "comment": "Broken IPv6",
++ "href": "http://example.net/",
++ "new_value": "[google.com]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.4x]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
+ }
+ ],
+ "port": [
+@@ -779,7 +1069,7 @@
+ }
+ },
+ {
+- "comment": "Port number is removed if empty in the new value: https://github.com/whatwg/url/pull/113",
++ "comment": "Port number is removed if empty is the new value",
+ "href": "http://example.net:8080",
+ "new_value": "",
+ "expected": {
+@@ -920,6 +1210,65 @@
+ "hostname": "example.net",
+ "port": "8080"
+ }
++ },
++ {
++ "comment": "Port numbers are 16 bit integers, overflowing is an error",
++ "href": "non-special://example.net:8080/path",
++ "new_value": "65536",
++ "expected": {
++ "href": "non-special://example.net:8080/path",
++ "host": "example.net:8080",
++ "hostname": "example.net",
++ "port": "8080"
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "12",
++ "expected": {
++ "href": "file://test/",
++ "port": ""
++ }
++ },
++ {
++ "href": "file://localhost/",
++ "new_value": "12",
++ "expected": {
++ "href": "file:///",
++ "port": ""
++ }
++ },
++ {
++ "href": "non-base:value",
++ "new_value": "12",
++ "expected": {
++ "href": "non-base:value",
++ "port": ""
++ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "12",
++ "expected": {
++ "href": "sc:///",
++ "port": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "12",
++ "expected": {
++ "href": "sc://x:12/",
++ "port": "12"
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "12",
++ "expected": {
++ "href": "javascript://x:12/",
++ "port": "12"
++ }
+ }
+ ],
+ "pathname": [
+@@ -970,8 +1319,8 @@
+ "href": "view-source+http://example.net/home?lang=fr#nav",
+ "new_value": "\\a\\%2E\\b\\%2e.\\c",
+ "expected": {
+- "href": "view-source+http://example.net/\\a\\.\\b\\..\\c?lang=fr#nav",
+- "pathname": "/\\a\\.\\b\\..\\c"
++ "href": "view-source+http://example.net/\\a\\%2E\\b\\%2e.\\c?lang=fr#nav",
++ "pathname": "/\\a\\%2E\\b\\%2e.\\c"
+ }
+ },
+ {
+@@ -984,12 +1333,48 @@
+ }
+ },
+ {
+- "comment": "Bytes already percent-encoded are left as-is, except %2E.",
++ "comment": "Bytes already percent-encoded are left as-is, including %2E outside dotted segments.",
+ "href": "http://example.net",
+ "new_value": "%2e%2E%c3%89t",
+ "expected": {
+- "href": "http://example.net/..%c3%89t%C3%A9",
+- "pathname": "/..%c3%89t%C3%A9"
++ "href": "http://example.net/%2e%2E%c3%89t%C3%A9",
++ "pathname": "/%2e%2E%c3%89t%C3%A9"
++ }
++ },
++ {
++ "comment": "? needs to be encoded",
++ "href": "http://example.net",
++ "new_value": "?",
++ "expected": {
++ "href": "http://example.net/%3F",
++ "pathname": "/%3F"
++ }
++ },
++ {
++ "comment": "# needs to be encoded",
++ "href": "http://example.net",
++ "new_value": "#",
++ "expected": {
++ "href": "http://example.net/%23",
++ "pathname": "/%23"
++ }
++ },
++ {
++ "comment": "? needs to be encoded, non-special scheme",
++ "href": "sc://example.net",
++ "new_value": "?",
++ "expected": {
++ "href": "sc://example.net/%3F",
++ "pathname": "/%3F"
++ }
++ },
++ {
++ "comment": "# needs to be encoded, non-special scheme",
++ "href": "sc://example.net",
++ "new_value": "#",
++ "expected": {
++ "href": "sc://example.net/%23",
++ "pathname": "/%23"
+ }
+ }
+ ],
+diff -Nrup a/third_party/rust/url/tests/unit.rs b/third_party/rust/url/tests/unit.rs
+--- a/third_party/rust/url/tests/unit.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/unit.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -11,7 +11,9 @@
+ #[macro_use]
+ extern crate url;
+
++use std::ascii::AsciiExt;
+ use std::borrow::Cow;
++use std::cell::{Cell, RefCell};
+ use std::net::{Ipv4Addr, Ipv6Addr};
+ use std::path::{Path, PathBuf};
+ use url::{Host, HostAndPort, Url, form_urlencoded};
+@@ -108,6 +110,17 @@ fn new_directory_paths() {
+ }
+
+ #[test]
++fn path_backslash_fun() {
++ let mut special_url = "http://foobar.com".parse::<Url>().unwrap();
++ special_url.path_segments_mut().unwrap().push("foo\\bar");
++ assert_eq!(special_url.as_str(), "http://foobar.com/foo%5Cbar");
++
++ let mut nonspecial_url = "thing://foobar.com".parse::<Url>().unwrap();
++ nonspecial_url.path_segments_mut().unwrap().push("foo\\bar");
++ assert_eq!(nonspecial_url.as_str(), "thing://foobar.com/foo\\bar");
++}
++
++#[test]
+ fn from_str() {
+ assert!("http://testing.com/this".parse::<Url>().is_ok());
+ }
+@@ -221,7 +234,7 @@ fn test_serialization() {
+ ("http://example.com/", "http://example.com/"),
+ ("http://addslash.com", "http://addslash.com/"),
+ ("http://@emptyuser.com/", "http://emptyuser.com/"),
+- ("http://:@emptypass.com/", "http://:@emptypass.com/"),
++ ("http://:@emptypass.com/", "http://emptypass.com/"),
+ ("http://user@user.com/", "http://user@user.com/"),
+ ("http://user:pass@userpass.com/", "http://user:pass@userpass.com/"),
+ ("http://slashquery.com/path/?q=something", "http://slashquery.com/path/?q=something"),
+@@ -256,6 +269,15 @@ fn test_form_serialize() {
+ }
+
+ #[test]
++fn form_urlencoded_custom_encoding_override() {
++ let encoded = form_urlencoded::Serializer::new(String::new())
++ .custom_encoding_override(|s| s.as_bytes().to_ascii_uppercase().into())
++ .append_pair("foo", "bar")
++ .finish();
++ assert_eq!(encoded, "FOO=BAR");
++}
++
++#[test]
+ fn host_and_port_display() {
+ assert_eq!(
+ format!(
+@@ -286,22 +308,6 @@ fn host_and_port_display() {
+ }
+
+ #[test]
+-/// https://github.com/servo/rust-url/issues/25
+-fn issue_25() {
+- let filename = if cfg!(windows) { r"C:\run\pg.sock" } else { "/run/pg.sock" };
+- let mut url = Url::from_file_path(filename).unwrap();
+- url.check_invariants().unwrap();
+- url.set_scheme("postgres").unwrap();
+- url.check_invariants().unwrap();
+- url.set_host(Some("")).unwrap();
+- url.check_invariants().unwrap();
+- url.set_username("me").unwrap();
+- url.check_invariants().unwrap();
+- let expected = format!("postgres://me@/{}run/pg.sock", if cfg!(windows) { "C:/" } else { "" });
+- assert_eq!(url.as_str(), expected);
+-}
+-
+-#[test]
+ /// https://github.com/servo/rust-url/issues/61
+ fn issue_61() {
+ let mut url = Url::parse("http://mozilla.org").unwrap();
+@@ -372,6 +378,11 @@ fn test_set_host() {
+ let mut url = Url::parse("foobar://example.net/hello").unwrap();
+ url.set_host(None).unwrap();
+ assert_eq!(url.as_str(), "foobar:/hello");
++
++ let mut url = Url::parse("foo://").unwrap();
++ assert_eq!(url.as_str(), "foo://%C8%99/");
++ url.set_host(Some("gou.ro")).unwrap();
++ assert_eq!(url.as_str(), "foo://go%C8%99u.ro/");
+ }
+
+ #[test]
+@@ -478,3 +489,68 @@ fn test_windows_unc_path() {
+ let url = Url::from_file_path(Path::new(r"\\.\some\path\file.txt"));
+ assert!(url.is_err());
+ }
++
++// Test the now deprecated log_syntax_violation method for backward
++// compatibility
++#[test]
++#[allow(deprecated)]
++fn test_old_log_violation_option() {
++ let violation = Cell::new(None);
++ let url = Url::options()
++ .log_syntax_violation(Some(&|s| violation.set(Some(s.to_owned()))))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++
++ let violation = violation.take();
++ assert_eq!(violation, Some("expected //".to_string()));
++}
++
++#[test]
++fn test_syntax_violation_callback() {
++ use url::SyntaxViolation::*;
++ let violation = Cell::new(None);
++ let url = Url::options()
++ .syntax_violation_callback(Some(&|v| violation.set(Some(v))))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++
++ let v = violation.take().unwrap();
++ assert_eq!(v, ExpectedDoubleSlash);
++ assert_eq!(v.description(), "expected //");
++}
++
++#[test]
++fn test_syntax_violation_callback_lifetimes() {
++ use url::SyntaxViolation::*;
++ let violation = Cell::new(None);
++ let vfn = |s| violation.set(Some(s));
++
++ let url = Url::options()
++ .syntax_violation_callback(Some(&vfn))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++ assert_eq!(violation.take(), Some(ExpectedDoubleSlash));
++
++ let url = Url::options()
++ .syntax_violation_callback(Some(&vfn))
++ .parse("http://mozilla.org\\path").unwrap();
++ assert_eq!(url.path(), "/path");
++ assert_eq!(violation.take(), Some(Backslash));
++}
++
++#[test]
++fn test_options_reuse() {
++ use url::SyntaxViolation::*;
++ let violations = RefCell::new(Vec::new());
++ let vfn = |v| violations.borrow_mut().push(v);
++
++ let options = Url::options()
++ .syntax_violation_callback(Some(&vfn));
++ let url = options.parse("http:////mozilla.org").unwrap();
++
++ let options = options.base_url(Some(&url));
++ let url = options.parse("/sub\\path").unwrap();
++ assert_eq!(url.as_str(), "http://mozilla.org/sub/path");
++ assert_eq!(*violations.borrow(),
++ vec!(ExpectedDoubleSlash, Backslash));
++}
+diff -Nrup a/third_party/rust/url/tests/urltestdata.json b/third_party/rust/url/tests/urltestdata.json
+--- a/third_party/rust/url/tests/urltestdata.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/urltestdata.json 2020-02-28 20:28:57.252406115 +0300
+@@ -31,6 +31,66 @@
+ "hash": "#c"
+ },
+ {
++ "input": "https://test:@test",
++ "base": "about:blank",
++ "href": "https://test@test/",
++ "origin": "https://test",
++ "protocol": "https:",
++ "username": "test",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://:@test",
++ "base": "about:blank",
++ "href": "https://test/",
++ "origin": "https://test",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://test:@test/x",
++ "base": "about:blank",
++ "href": "non-special://test@test/x",
++ "origin": "null",
++ "protocol": "non-special:",
++ "username": "test",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://:@test/x",
++ "base": "about:blank",
++ "href": "non-special://test/x",
++ "origin": "null",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
++ {
+ "input": "http:foo.com",
+ "base": "http://example.org/foo/bar",
+ "href": "http://example.org/foo/foo.com",
+@@ -106,6 +166,20 @@
+ "hash": "# e"
+ },
+ {
++ "input": "lolscheme:x x#x x",
++ "base": "about:blank",
++ "href": "lolscheme:x x#x x",
++ "protocol": "lolscheme:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "x x",
++ "search": "",
++ "hash": "#x x"
++ },
++ {
+ "input": "http://f:/c",
+ "base": "http://example.org/foo/bar",
+ "href": "http://f/c",
+@@ -201,6 +275,11 @@
+ "failure": true
+ },
+ {
++ "input": "non-special://f:999999/c",
++ "base": "http://example.org/foo/bar",
++ "failure": true
++ },
++ {
+ "input": "http://f: 21 / b ? d # e ",
+ "base": "http://example.org/foo/bar",
+ "failure": true
+@@ -960,6 +1039,26 @@
+ "hash": ""
+ },
+ {
++ "input": "file://example:1/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://example:test/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://example%/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://[example]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
+ "input": "ftps:/example.com/",
+ "base": "http://example.org/foo/bar",
+ "href": "ftps:/example.com/",
+@@ -1785,7 +1884,7 @@
+ {
+ "input": "http://example.com/foo/%2e%2",
+ "base": "about:blank",
+- "href": "http://example.com/foo/.%2",
++ "href": "http://example.com/foo/%2e%2",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -1793,14 +1892,14 @@
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+- "pathname": "/foo/.%2",
++ "pathname": "/foo/%2e%2",
+ "search": "",
+ "hash": ""
+ },
+ {
+ "input": "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar",
+ "base": "about:blank",
+- "href": "http://example.com/..bar",
++ "href": "http://example.com/%2e.bar",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -1808,7 +1907,7 @@
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+- "pathname": "/..bar",
++ "pathname": "/%2e.bar",
+ "search": "",
+ "hash": ""
+ },
+@@ -2189,11 +2288,6 @@
+ "hash": "# %C2%BB"
+ },
+ {
+- "input": "http://[www.google.com]/",
+- "base": "about:blank",
+- "failure": true
+- },
+- {
+ "input": "http://www.google.com",
+ "base": "about:blank",
+ "href": "http://www.google.com/",
+@@ -2226,7 +2320,7 @@
+ {
+ "input": "http://www/foo%2Ehtml",
+ "base": "about:blank",
+- "href": "http://www/foo.html",
++ "href": "http://www/foo%2Ehtml",
+ "origin": "http://www",
+ "protocol": "http:",
+ "username": "",
+@@ -2234,7 +2328,7 @@
+ "host": "www",
+ "hostname": "www",
+ "port": "",
+- "pathname": "/foo.html",
++ "pathname": "/foo%2Ehtml",
+ "search": "",
+ "hash": ""
+ },
+@@ -3096,7 +3190,7 @@
+ {
+ "input": "http:a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3111,7 +3205,7 @@
+ {
+ "input": "http:/a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3126,7 +3220,7 @@
+ {
+ "input": "http://a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3171,7 +3265,7 @@
+ {
+ "input": "http://:@www.example.com",
+ "base": "about:blank",
+- "href": "http://:@www.example.com/",
++ "href": "http://www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -3465,6 +3559,22 @@
+ "search": "",
+ "hash": ""
+ },
++ "Leading and trailing C0 control or space",
++ {
++ "input": "\u0000\u001b\u0004\u0012 http://example.com/\u001f \u000d ",
++ "base": "about:blank",
++ "href": "http://example.com/",
++ "origin": "http://example.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.com",
++ "hostname": "example.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Ideographic full stop (full-width period for Chinese, etc.) should be treated as a dot. U+3002 is mapped to U+002E (dot)",
+ {
+ "input": "http://www.foobar.com",
+@@ -3493,6 +3603,32 @@
+ "base": "http://other.com/",
+ "failure": true
+ },
++ "U+FFFD",
++ {
++ "input": "https://\ufffd",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://%EF%BF%BD",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://x/\ufffd?\ufffd#\ufffd",
++ "base": "about:blank",
++ "href": "https://x/%EF%BF%BD?%EF%BF%BD#%EF%BF%BD",
++ "origin": "https://x",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "x",
++ "hostname": "x",
++ "port": "",
++ "pathname": "/%EF%BF%BD",
++ "search": "?%EF%BF%BD",
++ "hash": "#%EF%BF%BD"
++ },
+ "Test name prepping, fullwidth input should be converted to ASCII and NOT IDN-ized. This is 'Go' in fullwidth UTF-8/UTF-16.",
+ {
+ "input": "http://.com",
+@@ -3536,7 +3672,7 @@
+ "input": "http://",
+ "base": "http://other.com/",
+ "href": "http://xn--6qqa088eba/",
+- "origin": "http://",
++ "origin": "http://xn--6qqa088eba",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+@@ -3547,6 +3683,36 @@
+ "search": "",
+ "hash": ""
+ },
++ {
++ "input": "https://fa.ExAmPlE/",
++ "base": "about:blank",
++ "href": "https://xn--fa-hia.example/",
++ "origin": "https://xn--fa-hia.example",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "xn--fa-hia.example",
++ "hostname": "xn--fa-hia.example",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://fa.ExAmPlE/",
++ "base": "about:blank",
++ "href": "sc://fa%C3%9F.ExAmPlE/",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "fa%C3%9F.ExAmPlE",
++ "hostname": "fa%C3%9F.ExAmPlE",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Invalid escaped characters should fail and the percents should be escaped. https://www.w3.org/Bugs/Public/show_bug.cgi?id=24191",
+ {
+ "input": "http://%zz%66%a.com",
+@@ -3600,18 +3766,23 @@
+ "base": "http://other.com/",
+ "failure": true
+ },
+- "Invalid escaping should trigger the regular host error handling",
++ "Invalid escaping in hosts causes failure",
+ {
+ "input": "http://%3g%78%63%30%2e%30%32%35%30%2E.01",
+ "base": "http://other.com/",
+ "failure": true
+ },
+- "Something that isn't exactly an IP should get treated as a host and spaces escaped",
++ "A space in a host causes failure",
+ {
+ "input": "http://192.168.0.1 hello",
+ "base": "http://other.com/",
+ "failure": true
+ },
++ {
++ "input": "https://x x:12",
++ "base": "about:blank",
++ "failure": true
++ },
+ "Fullwidth and escaped UTF-8 fullwidth should still be treated as IP",
+ {
+ "input": "http://",
+@@ -3628,12 +3799,83 @@
+ "search": "",
+ "hash": ""
+ },
++ "Domains with empty labels",
++ {
++ "input": "http://./",
++ "base": "about:blank",
++ "href": "http://./",
++ "origin": "http://.",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": ".",
++ "hostname": ".",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://../",
++ "base": "about:blank",
++ "href": "http://../",
++ "origin": "http://..",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "..",
++ "hostname": "..",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://0..0x300/",
++ "base": "about:blank",
++ "href": "http://0..0x300/",
++ "origin": "http://0..0x300",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "0..0x300",
++ "hostname": "0..0x300",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Broken IPv6",
+ {
++ "input": "http://[www.google.com]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
+ "input": "http://[google.com]",
+ "base": "http://other.com/",
+ "failure": true
+ },
++ {
++ "input": "http://[::1.2.3.4x]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.2.3.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.2.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
+ "Misc Unicode",
+ {
+ "input": "http://foo:@example.com/bar",
+@@ -4176,22 +4418,91 @@
+ "search": "",
+ "hash": ""
+ },
+- "# unknown schemes and non-ASCII domains",
++ "# unknown schemes and their hosts",
+ {
+ "input": "sc://.test/",
+ "base": "about:blank",
+- "href": "sc://xn--ida.test/",
++ "href": "sc://%C3%B1.test/",
+ "origin": "null",
+ "protocol": "sc:",
+ "username": "",
+ "password": "",
+- "host": "xn--ida.test",
+- "hostname": "xn--ida.test",
++ "host": "%C3%B1.test",
++ "hostname": "%C3%B1.test",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+ "hash": ""
+ },
++ {
++ "input": "sc://\u001F!\"$&'()*+,-.;<=>^_`{|}~/",
++ "base": "about:blank",
++ "href": "sc://%1F!\"$&'()*+,-.;<=>^_`{|}~/",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%1F!\"$&'()*+,-.;<=>^_`{|}~",
++ "hostname": "%1F!\"$&'()*+,-.;<=>^_`{|}~",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://\u0000/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc:// /",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://%/",
++ "base": "about:blank",
++ "href": "sc://%/",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%",
++ "hostname": "%",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://[/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://\\/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "x",
++ "base": "sc://",
++ "href": "sc://%C3%B1/x",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%C3%B1",
++ "hostname": "%C3%B1",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
+ "# unknown schemes and backslashes",
+ {
+ "input": "sc:\\../",
+@@ -4224,6 +4535,88 @@
+ "search": "",
+ "hash": ""
+ },
++ "# unknown scheme with bogus percent-encoding",
++ {
++ "input": "wow:%NBD",
++ "base": "about:blank",
++ "href": "wow:%NBD",
++ "origin": "null",
++ "protocol": "wow:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "%NBD",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "wow:%1G",
++ "base": "about:blank",
++ "href": "wow:%1G",
++ "origin": "null",
++ "protocol": "wow:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "%1G",
++ "search": "",
++ "hash": ""
++ },
++ "# Hosts and percent-encoding",
++ {
++ "input": "ftp://example.com%80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "ftp://example.com%A0/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://example.com%80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://example.com%A0/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "ftp://%e2%98%83",
++ "base": "about:blank",
++ "href": "ftp://xn--n3h/",
++ "origin": "ftp://xn--n3h",
++ "protocol": "ftp:",
++ "username": "",
++ "password": "",
++ "host": "xn--n3h",
++ "hostname": "xn--n3h",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://%e2%98%83",
++ "base": "about:blank",
++ "href": "https://xn--n3h/",
++ "origin": "https://xn--n3h",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "xn--n3h",
++ "hostname": "xn--n3h",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "# tests from jsdom/whatwg-url designed for code coverage",
+ {
+ "input": "http://127.0.0.1:10100/relative_import.html",
+@@ -4371,75 +4764,1385 @@
+ "port": "",
+ "pathname": "/baz",
+ "search": "?qux",
+- "searchParams": "",
++ "searchParams": "qux=",
+ "hash": "#foo%08bar"
+ },
+- "# IPv6 compression and serialization",
++ "# IPv4 parsing (via https://github.com/nodejs/node/pull/10317)",
++ {
++ "input": "http://192.168.257",
++ "base": "http://other.com/",
++ "href": "http://192.168.1.1/",
++ "origin": "http://192.168.1.1",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "192.168.1.1",
++ "hostname": "192.168.1.1",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://192.168.257.com",
++ "base": "http://other.com/",
++ "href": "http://192.168.257.com/",
++ "origin": "http://192.168.257.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "192.168.257.com",
++ "hostname": "192.168.257.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://256",
++ "base": "http://other.com/",
++ "href": "http://0.0.1.0/",
++ "origin": "http://0.0.1.0",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "0.0.1.0",
++ "hostname": "0.0.1.0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://256.com",
++ "base": "http://other.com/",
++ "href": "http://256.com/",
++ "origin": "http://256.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "256.com",
++ "hostname": "256.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://999999999",
++ "base": "http://other.com/",
++ "href": "http://59.154.201.255/",
++ "origin": "http://59.154.201.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "59.154.201.255",
++ "hostname": "59.154.201.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://999999999.com",
++ "base": "http://other.com/",
++ "href": "http://999999999.com/",
++ "origin": "http://999999999.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "999999999.com",
++ "hostname": "999999999.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://10000000000",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://10000000000.com",
++ "base": "http://other.com/",
++ "href": "http://10000000000.com/",
++ "origin": "http://10000000000.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "10000000000.com",
++ "hostname": "10000000000.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://4294967295",
++ "base": "http://other.com/",
++ "href": "http://255.255.255.255/",
++ "origin": "http://255.255.255.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "255.255.255.255",
++ "hostname": "255.255.255.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://4294967296",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://0xffffffff",
++ "base": "http://other.com/",
++ "href": "http://255.255.255.255/",
++ "origin": "http://255.255.255.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "255.255.255.255",
++ "hostname": "255.255.255.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://0xffffffff1",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://256.256.256.256",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://256.256.256.256.256",
++ "base": "http://other.com/",
++ "href": "http://256.256.256.256.256/",
++ "origin": "http://256.256.256.256.256",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "256.256.256.256.256",
++ "hostname": "256.256.256.256.256",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://0x.0x.0",
++ "base": "about:blank",
++ "href": "https://0.0.0.0/",
++ "origin": "https://0.0.0.0",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "0.0.0.0",
++ "hostname": "0.0.0.0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "More IPv4 parsing (via https://github.com/jsdom/whatwg-url/issues/92)",
++ {
++ "input": "https://256.0.0.1/test",
++ "base": "about:blank",
++ "failure": true
++ },
++ "# file URLs containing percent-encoded Windows drive letters (shouldn't work)",
++ {
++ "input": "file:///C%3A/",
++ "base": "about:blank",
++ "href": "file:///C%3A/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C%3A/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file:///C%7C/",
++ "base": "about:blank",
++ "href": "file:///C%7C/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C%7C/",
++ "search": "",
++ "hash": ""
++ },
++ "# file URLs relative to other file URLs (via https://github.com/jsdom/whatwg-url/pull/60)",
++ {
++ "input": "pix/submit.gif",
++ "base": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html",
++ "href": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///C:/",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "# More file URL tests by zcorpan and annevk",
++ {
++ "input": "/",
++ "base": "file:///C:/a/b",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "//d:",
++ "base": "file:///C:/a/b",
++ "href": "file:///d:",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/d:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "//d:/..",
++ "base": "file:///C:/a/b",
++ "href": "file:///d:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/d:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///ab:/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///1:/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": ""
++ },
++ {
++ "input": "file:",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": ""
++ },
++ {
++ "input": "?x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?x",
++ "hash": ""
++ },
++ {
++ "input": "file:?x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?x",
++ "hash": ""
++ },
++ {
++ "input": "#x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test#x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": "#x"
++ },
++ {
++ "input": "file:#x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test#x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": "#x"
++ },
++ "# File URLs and many (back)slashes",
++ {
++ "input": "file:///localhost//cat",
++ "base": "about:blank",
++ "href": "file:///localhost//cat",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/localhost//cat",
++ "search": "",
++ "hash": ""
++ },
+ {
+- "input": "http://[fe80:cd00::1257:0:211e:729c]/",
++ "input": "\\//pig",
++ "base": "file://lion/",
++ "href": "file:///pig",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/pig",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://",
++ "base": "file://ape/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter handling with the 'file:' base URL",
++ {
++ "input": "C|#",
++ "base": "file://host/dir/file",
++ "href": "file:///C:#",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|?",
++ "base": "file://host/dir/file",
++ "href": "file:///C:?",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|/",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|\n/",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|\\",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C",
++ "base": "file://host/dir/file",
++ "href": "file://host/dir/C",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "host",
++ "hostname": "host",
++ "port": "",
++ "pathname": "/dir/C",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|a",
++ "base": "file://host/dir/file",
++ "href": "file://host/dir/C|a",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "host",
++ "hostname": "host",
++ "port": "",
++ "pathname": "/dir/C|a",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk in the file slash state",
++ {
++ "input": "/c:/foo/bar",
++ "base": "file://host/path",
++ "href": "file:///c:/foo/bar",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/c:/foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk (no host)",
++ {
++ "input": "file:/C|/",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00::1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00::1257:0:211e:729c]",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://C|/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk with not empty host",
++ {
++ "input": "file://example.net/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://1.2.3.4/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://[1::8]/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ "# file URLs without base URL by Rimas Miseviius",
++ {
++ "input": "file:",
++ "base": "about:blank",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file:?q=v",
++ "base": "about:blank",
++ "href": "file:///?q=v",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "?q=v",
++ "hash": ""
++ },
++ {
++ "input": "file:#frag",
++ "base": "about:blank",
++ "href": "file:///#frag",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": "#frag"
++ },
++ "# IPv6 tests",
++ {
++ "input": "http://[1:0::]",
++ "base": "http://example.net/",
++ "href": "http://[1::]/",
++ "origin": "http://[1::]",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00::1257:0:211e:729c]",
+- "hostname": "[fe80:cd00::1257:0:211e:729c]",
++ "host": "[1::]",
++ "hostname": "[1::]",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Compress sequences of two or more zeroes",
+ {
+- "input": "http://[fe80:cd00:0:0:1257:0:211e:729c]/",
++ "input": "http://[0:1:2:3:4:5:6:7:8]",
++ "base": "http://example.net/",
++ "failure": true
++ },
++ {
++ "input": "https://[0::0::0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:0:]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1:2:3:4:5:6:7.0.0.0.1]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.00.0.0.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.290.0.0.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.23.23]",
++ "base": "about:blank",
++ "failure": true
++ },
++ "# Empty host",
++ {
++ "input": "http://?",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00::1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00::1257:0:211e:729c]",
++ "failure": true
++ },
++ {
++ "input": "http://#",
++ "base": "about:blank",
++ "failure": true
++ },
++ "Port overflow (2^32 + 81)",
++ {
++ "input": "http://f:4294967377/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "Port overflow (2^64 + 81)",
++ {
++ "input": "http://f:18446744073709551697/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "Port overflow (2^128 + 81)",
++ {
++ "input": "http://f:340282366920938463463374607431768211537/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "# Non-special-URL path tests",
++ {
++ "input": "///",
++ "base": "sc://x/",
++ "href": "sc:///",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "tftp://foobar.com/someconfig;mode=netascii",
++ "base": "about:blank",
++ "href": "tftp://foobar.com/someconfig;mode=netascii",
++ "origin": "null",
++ "protocol": "tftp:",
++ "username": "",
++ "password": "",
++ "host": "foobar.com",
++ "hostname": "foobar.com",
++ "port": "",
++ "pathname": "/someconfig;mode=netascii",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "telnet://user:pass@foobar.com:23/",
++ "base": "about:blank",
++ "href": "telnet://user:pass@foobar.com:23/",
++ "origin": "null",
++ "protocol": "telnet:",
++ "username": "user",
++ "password": "pass",
++ "host": "foobar.com:23",
++ "hostname": "foobar.com",
++ "port": "23",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "ut2004://10.10.10.10:7777/Index.ut2",
++ "base": "about:blank",
++ "href": "ut2004://10.10.10.10:7777/Index.ut2",
++ "origin": "null",
++ "protocol": "ut2004:",
++ "username": "",
++ "password": "",
++ "host": "10.10.10.10:7777",
++ "hostname": "10.10.10.10",
++ "port": "7777",
++ "pathname": "/Index.ut2",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz",
++ "base": "about:blank",
++ "href": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz",
++ "origin": "null",
++ "protocol": "redis:",
++ "username": "foo",
++ "password": "bar",
++ "host": "somehost:6379",
++ "hostname": "somehost",
++ "port": "6379",
++ "pathname": "/0",
++ "search": "?baz=bam&qux=baz",
++ "hash": ""
++ },
++ {
++ "input": "rsync://foo@host:911/sup",
++ "base": "about:blank",
++ "href": "rsync://foo@host:911/sup",
++ "origin": "null",
++ "protocol": "rsync:",
++ "username": "foo",
++ "password": "",
++ "host": "host:911",
++ "hostname": "host",
++ "port": "911",
++ "pathname": "/sup",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "git://github.com/foo/bar.git",
++ "base": "about:blank",
++ "href": "git://github.com/foo/bar.git",
++ "origin": "null",
++ "protocol": "git:",
++ "username": "",
++ "password": "",
++ "host": "github.com",
++ "hostname": "github.com",
++ "port": "",
++ "pathname": "/foo/bar.git",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "irc://myserver.com:6999/channel?passwd",
++ "base": "about:blank",
++ "href": "irc://myserver.com:6999/channel?passwd",
++ "origin": "null",
++ "protocol": "irc:",
++ "username": "",
++ "password": "",
++ "host": "myserver.com:6999",
++ "hostname": "myserver.com",
++ "port": "6999",
++ "pathname": "/channel",
++ "search": "?passwd",
++ "hash": ""
++ },
++ {
++ "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT",
++ "base": "about:blank",
++ "href": "dns://fw.example.org:9999/foo.bar.org?type=TXT",
++ "origin": "null",
++ "protocol": "dns:",
++ "username": "",
++ "password": "",
++ "host": "fw.example.org:9999",
++ "hostname": "fw.example.org",
++ "port": "9999",
++ "pathname": "/foo.bar.org",
++ "search": "?type=TXT",
++ "hash": ""
++ },
++ {
++ "input": "ldap://localhost:389/ou=People,o=JNDITutorial",
++ "base": "about:blank",
++ "href": "ldap://localhost:389/ou=People,o=JNDITutorial",
++ "origin": "null",
++ "protocol": "ldap:",
++ "username": "",
++ "password": "",
++ "host": "localhost:389",
++ "hostname": "localhost",
++ "port": "389",
++ "pathname": "/ou=People,o=JNDITutorial",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "git+https://github.com/foo/bar",
++ "base": "about:blank",
++ "href": "git+https://github.com/foo/bar",
++ "origin": "null",
++ "protocol": "git+https:",
++ "username": "",
++ "password": "",
++ "host": "github.com",
++ "hostname": "github.com",
++ "port": "",
++ "pathname": "/foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "urn:ietf:rfc:2648",
++ "base": "about:blank",
++ "href": "urn:ietf:rfc:2648",
++ "origin": "null",
++ "protocol": "urn:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "ietf:rfc:2648",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "tag:joe@example.org,2001:foo/bar",
++ "base": "about:blank",
++ "href": "tag:joe@example.org,2001:foo/bar",
++ "origin": "null",
++ "protocol": "tag:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "joe@example.org,2001:foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ "# percent encoded hosts in non-special-URLs",
++ {
++ "input": "non-special://%E2%80%A0/",
++ "base": "about:blank",
++ "href": "non-special://%E2%80%A0/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "%E2%80%A0",
++ "hostname": "%E2%80%A0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://H%4fSt/path",
++ "base": "about:blank",
++ "href": "non-special://H%4fSt/path",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "H%4fSt",
++ "hostname": "H%4fSt",
++ "port": "",
++ "pathname": "/path",
++ "search": "",
++ "hash": ""
++ },
++ "# IPv6 in non-special-URLs",
++ {
++ "input": "non-special://[1:2:0:0:5:0:0:0]/",
++ "base": "about:blank",
++ "href": "non-special://[1:2:0:0:5::]/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2:0:0:5::]",
++ "hostname": "[1:2:0:0:5::]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[1:2:0:0:0:0:0:3]/",
++ "base": "about:blank",
++ "href": "non-special://[1:2::3]/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2::3]",
++ "hostname": "[1:2::3]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[1:2::3]:80/",
++ "base": "about:blank",
++ "href": "non-special://[1:2::3]:80/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2::3]:80",
++ "hostname": "[1:2::3]",
++ "port": "80",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[:80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "blob:https://example.com:443/",
++ "base": "about:blank",
++ "href": "blob:https://example.com:443/",
++ "protocol": "blob:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "https://example.com:443/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "base": "about:blank",
++ "href": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "protocol": "blob:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "search": "",
++ "hash": ""
++ },
++ "Invalid IPv4 radix digits",
++ {
++ "input": "http://0177.0.0.0189",
++ "base": "about:blank",
++ "href": "http://0177.0.0.0189/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00::1257:0:211e:729c]",
+- "hostname": "[fe80:cd00::1257:0:211e:729c]",
++ "host": "0177.0.0.0189",
++ "hostname": "0177.0.0.0189",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Compress longest sequence of zeroes",
+ {
+- "input": "http://[fe80:0:0:1257:0:0:0:cd00]/",
++ "input": "http://0x7f.0.0.0x7g",
+ "base": "about:blank",
+- "href": "http://[fe80:0:0:1257::cd00]/",
+- "origin": "http://[fe80:0:0:1257::cd00]",
++ "href": "http://0x7f.0.0.0x7g/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:0:0:1257::cd00]",
+- "hostname": "[fe80:0:0:1257::cd00]",
++ "host": "0x7f.0.0.0x7g",
++ "hostname": "0x7f.0.0.0x7g",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Do not compress lone zeroes",
+ {
+- "input": "http://[fe80:cd00:0:cde:1257:0:211e:729c]/",
++ "input": "http://0X7F.0.0.0X7G",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00:0:cde:1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00:0:cde:1257:0:211e:729c]",
++ "href": "http://0x7f.0.0.0x7g/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00:0:cde:1257:0:211e:729c]",
+- "hostname": "[fe80:cd00:0:cde:1257:0:211e:729c]",
++ "host": "0x7f.0.0.0x7g",
++ "hostname": "0x7f.0.0.0x7g",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
++ },
++ "Invalid IPv4 portion of IPv6 address",
++ {
++ "input": "http://[::127.0.0.0.1]",
++ "base": "about:blank",
++ "failure": true
++ },
++ "Uncompressed IPv6 addresses with 0",
++ {
++ "input": "http://[0:1:0:1:0:1:0:1]",
++ "base": "about:blank",
++ "href": "http://[0:1:0:1:0:1:0:1]/",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "[0:1:0:1:0:1:0:1]",
++ "hostname": "[0:1:0:1:0:1:0:1]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://[1:0:1:0:1:0:1:0]",
++ "base": "about:blank",
++ "href": "http://[1:0:1:0:1:0:1:0]/",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "[1:0:1:0:1:0:1:0]",
++ "hostname": "[1:0:1:0:1:0:1:0]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "Percent-encoded query and fragment",
++ {
++ "input": "http://example.org/test?\u0022",
++ "base": "about:blank",
++ "href": "http://example.org/test?%22",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%22",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u0023",
++ "base": "about:blank",
++ "href": "http://example.org/test?#",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u003C",
++ "base": "about:blank",
++ "href": "http://example.org/test?%3C",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%3C",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u003E",
++ "base": "about:blank",
++ "href": "http://example.org/test?%3E",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%3E",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u2323",
++ "base": "about:blank",
++ "href": "http://example.org/test?%E2%8C%A3",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%E2%8C%A3",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?%23%23",
++ "base": "about:blank",
++ "href": "http://example.org/test?%23%23",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%23%23",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?%GH",
++ "base": "about:blank",
++ "href": "http://example.org/test?%GH",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%GH",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?a#%EF",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#%EF",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#%EF"
++ },
++ {
++ "input": "http://example.org/test?a#%GH",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#%GH",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#%GH"
++ },
++ "Bad bases",
++ {
++ "input": "test-a.html",
++ "base": "a",
++ "failure": true
++ },
++ {
++ "input": "test-a-slash.html",
++ "base": "a/",
++ "failure": true
++ },
++ {
++ "input": "test-a-slash-slash.html",
++ "base": "a//",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon.html",
++ "base": "a:",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon-slash.html",
++ "base": "a:/",
++ "href": "a:/test-a-colon-slash.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-slash-slash.html",
++ "base": "a://",
++ "href": "a:///test-a-colon-slash-slash.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash-slash.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-b.html",
++ "base": "a:b",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon-slash-b.html",
++ "base": "a:/b",
++ "href": "a:/test-a-colon-slash-b.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash-b.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-slash-slash-b.html",
++ "base": "a://b",
++ "href": "a://b/test-a-colon-slash-slash-b.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "b",
++ "hostname": "b",
++ "port": "",
++ "pathname": "/test-a-colon-slash-slash-b.html",
++ "search": "",
++ "hash": ""
++ },
++ "Null code point in fragment",
++ {
++ "input": "http://example.org/test?a#b\u0000c",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#bc",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#bc"
+ }
+ ]
+diff -Nrup a/toolkit/library/rust/Cargo.lock b/toolkit/library/rust/Cargo.lock
+--- a/toolkit/library/rust/Cargo.lock 2020-02-18 02:39:43.000000000 +0300
++++ b/toolkit/library/rust/Cargo.lock 2020-02-28 20:28:57.266406014 +0300
+@@ -808,7 +808,7 @@ dependencies = [
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "nserror 0.1.0",
+ "nsstring 0.1.0",
+- "url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+@@ -1154,7 +1154,7 @@ dependencies = [
+
+ [[package]]
+ name = "url"
+-version = "1.5.1"
++version = "1.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1383,7 +1383,7 @@ dependencies = [
+ "checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
+ "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+ "checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91"
+-"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"
++"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+ "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
+ "checksum vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c"
+ "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
diff --git a/seamonkey-2.53.1-rust141-encoding_rs.patch b/seamonkey-2.53.1-rust141-encoding_rs.patch
new file mode 100644
index 0000000..ca22efc
--- /dev/null
+++ b/seamonkey-2.53.1-rust141-encoding_rs.patch
@@ -0,0 +1,29 @@
+diff -Nrup -U 8 a/third_party/rust/encoding_rs/.cargo-checksum.json b/third_party/rust/encoding_rs/.cargo-checksum.json
+--- a/third_party/rust/encoding_rs/.cargo-checksum.json 2019-12-29 20:38:43.000000000 +0300
++++ b/third_party/rust/encoding_rs/.cargo-checksum.json 2020-02-24 19:55:59.483772898 +0300
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4d1af7257c9619f7ae66fc271ba2c1be5f063640ae8ceaa235c8c8aaf32f44ea","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"b74676e1affb0a2b528507be488bd9588db646b3b05807dada63cbe7b0747fc6","Ideas.md":"c1be4cc91621f52f38ea7febda7a4bb68086189cacc834c7edac4ba1a9da02fe","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"276d801faf4d6347c3ea32ae252cab95df653c846beaac535c5d70cf32094f5e","generate-encoding-data.py":"0b62de6d3b6368166b78a9259f06dc8d0f558504a0ed866dbe75dc2efb4bf464","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"240c607d3bad850c57d1e96871d5c0371278ed3923c38354bbb4c8a876c9a515","src/big5.rs":"614d479aabc63007f778d1f776a37b885e13d20b7c6c7a2818a729bde342f8a6","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"23e08359ccbe7602f3a90fce78dc76fd4065c236820ac0d11c9d9325045da0e6","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"8b0691ab21d638bd20078e33247f13afbc8012ff4b843a2fd03e3314353e8520","src/iso_2022_jp.rs":"285e7cea6df41d182a345a0f394a2348b1c313f0d55ed48c349824f2a6aff526","src/lib.rs":"dad6465f541ccdb171312879999d842dcbf11bc09119d81963df3a20f7d4e474","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"ff30e10bfb58fb8f56f0cc0b4dbcc4af6b343487562ee279ace8b31afd7bcccc","src/single_byte.rs":"0342a921427ed160f5cbe4532490aff5db00886a36b70273f54d8f6a9dcf6974","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"0bcf7eeb8bb33cbc88bd3bd8462437501a43055db02c40a12a15fae8e68dd1cb","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"8155c1c0acaab2826ee9f99ba911fbd3125707d797327e630977bc2f3f9b1064","src/utf_8.rs":"14cd64de87d8fc5f814f52f76390bda0b4c705da98e73e376fb424ca02119ba5","src/utf_8_core.rs":"0229de223eef17ad16751a646bcd3839c24f24069d660a4dc61b8a5fad19d16f","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"420fae797ea94e7a51eb005b97621ab32d68a8532c565afc60ecce6bdd84b6bd"},"package":"e00a1b1e95eb46988805ceee6f34cd95c46a6753e290cb3ff0486931989d4a4c"}
+\ No newline at end of file
++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4d1af7257c9619f7ae66fc271ba2c1be5f063640ae8ceaa235c8c8aaf32f44ea","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"b74676e1affb0a2b528507be488bd9588db646b3b05807dada63cbe7b0747fc6","Ideas.md":"c1be4cc91621f52f38ea7febda7a4bb68086189cacc834c7edac4ba1a9da02fe","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"276d801faf4d6347c3ea32ae252cab95df653c846beaac535c5d70cf32094f5e","generate-encoding-data.py":"0b62de6d3b6368166b78a9259f06dc8d0f558504a0ed866dbe75dc2efb4bf464","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"240c607d3bad850c57d1e96871d5c0371278ed3923c38354bbb4c8a876c9a515","src/big5.rs":"614d479aabc63007f778d1f776a37b885e13d20b7c6c7a2818a729bde342f8a6","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"23e08359ccbe7602f3a90fce78dc76fd4065c236820ac0d11c9d9325045da0e6","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"8b0691ab21d638bd20078e33247f13afbc8012ff4b843a2fd03e3314353e8520","src/iso_2022_jp.rs":"285e7cea6df41d182a345a0f394a2348b1c313f0d55ed48c349824f2a6aff526","src/lib.rs":"dad6465f541ccdb171312879999d842dcbf11bc09119d81963df3a20f7d4e474","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"ff30e10bfb58fb8f56f0cc0b4dbcc4af6b343487562ee279ace8b31afd7bcccc","src/single_byte.rs":"0342a921427ed160f5cbe4532490aff5db00886a36b70273f54d8f6a9dcf6974","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"0bcf7eeb8bb33cbc88bd3bd8462437501a43055db02c40a12a15fae8e68dd1cb","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"1d2c40857c946f6eecf724efc60a196865b4d84a59b08b42fbe4576fa8308fd0","src/utf_8.rs":"14cd64de87d8fc5f814f52f76390bda0b4c705da98e73e376fb424ca02119ba5","src/utf_8_core.rs":"0229de223eef17ad16751a646bcd3839c24f24069d660a4dc61b8a5fad19d16f","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"420fae797ea94e7a51eb005b97621ab32d68a8532c565afc60ecce6bdd84b6bd"},"package":"e00a1b1e95eb46988805ceee6f34cd95c46a6753e290cb3ff0486931989d4a4c"}
+diff -Nrup -U 8 a/third_party/rust/encoding_rs/src/utf_16.rs b/third_party/rust/encoding_rs/src/utf_16.rs
+--- a/third_party/rust/encoding_rs/src/utf_16.rs 2019-12-29 20:38:43.000000000 +0300
++++ b/third_party/rust/encoding_rs/src/utf_16.rs 2020-02-24 19:53:49.973548797 +0300
+@@ -25,17 +25,17 @@ impl Utf16Decoder {
+ lead_surrogate: 0,
+ lead_byte: None,
+ be: big_endian,
+ pending_bmp: false,
+ }
+ )
+ }
+
+- pub fn additional_from_state(&self) -> usize() {
++ pub fn additional_from_state(&self) -> usize {
+ 1 + if self.lead_byte.is_some() { 1 } else { 0 } +
+ if self.lead_surrogate == 0 { 0 } else { 2 }
+ }
+
+ pub fn max_utf16_buffer_length(&self, byte_length: usize) -> Option<usize> {
+ checked_add(
+ 1,
+ checked_div(byte_length.checked_add(self.additional_from_state()), 2),
diff --git a/seamonkey-2.53.1-startupcache.patch b/seamonkey-2.53.1-startupcache.patch
new file mode 100644
index 0000000..bd7d9fc
--- /dev/null
+++ b/seamonkey-2.53.1-startupcache.patch
@@ -0,0 +1,102 @@
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/startupcache/StartupCache.cpp seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/startupcache/StartupCache.cpp
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/startupcache/StartupCache.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/startupcache/StartupCache.cpp 2020-02-24 01:24:52.935332070 +0300
+@@ -76,21 +76,22 @@ StartupCache::CollectReports(nsIHandleRe
+
+ StartupCache*
+ StartupCache::GetSingleton()
+ {
+ if (!gStartupCache) {
+ if (!XRE_IsParentProcess()) {
+ return nullptr;
+ }
+-#ifdef MOZ_DISABLE_STARTUPCACHE
+- return nullptr;
+-#else
+- StartupCache::InitSingleton();
+-#endif
++
++ if (PR_GetEnv("MOZ_DISABLE_STARTUPCACHE")) {
++ return nullptr;
++ } else {
++ StartupCache::InitSingleton();
++ }
+ }
+
+ return StartupCache::gStartupCache;
+ }
+
+ void
+ StartupCache::DeleteSingleton()
+ {
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.js 2020-02-24 01:24:52.955331955 +0300
+@@ -106,8 +106,15 @@ function ReadSmartSizeEnabled()
+ }
+
+ function updateActualCacheSize()
+ {
+ Cc["@mozilla.org/netwerk/cache-storage-service;1"]
+ .getService(Ci.nsICacheStorageService)
+ .asyncGetDiskConsumption(CacheObserver);
+ }
++
++function prefClearStartupCache(aButton)
++{
++ Services.appinfo.invalidateCachesOnRestart();
++ aButton.disabled = true;
++}
++
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.xul seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.xul
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.xul 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.xul 2020-02-24 02:54:04.763717723 +0300
+@@ -103,16 +103,28 @@
+ <menuitem value="0" label="&checkOncePerSession.label;"/>
+ <menuitem value="2" label="&checkNever.label;"/>
+ </menupopup>
+ </menulist>
+ </hbox>
+
+ </groupbox>
+
++ <groupbox id="startupCache">
++ <caption id="startupCacheLabel" label="&startupCacheTitle.label;"/>
++ <description>&startupCachePara;</description>
++ <hbox id="startupCacheBox" align="center">
++ <button id="clearStartupCacheButton"
++ class="indent"
++ label="&clearStartupCache.label;"
++ accesskey="&clearStartupCache.accesskey;"
++ oncommand="prefClearStartupCache(this);"/>
++ </hbox>
++ </groupbox>
++
+ <groupbox id="prefetch">
+ <caption id="prefetchLabel" label="&prefetchTitle.label;"/>
+ <vbox id="prefetchBox" align="start">
+ <checkbox id="enablePrefetch"
+ label="&enablePrefetch.label;"
+ accesskey="&enablePrefetch.accesskey;"
+ preference="network.prefetch-next"/>
+ </vbox>
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-cache.dtd seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-cache.dtd
+--- seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-cache.dtd 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-cache.dtd 2020-02-24 02:50:26.000000000 +0300
+@@ -21,11 +21,16 @@
+ <!ENTITY diskCacheFolderExplanation "Cache files will be stored in a subfolder named "Cache" of the directory you specify. Restart &brandShortName; for changes to take effect.">
+ <!ENTITY docCache.label "Compare the page in the cache to the page on the network:">
+ <!ENTITY docCache.accesskey "m">
+ <!ENTITY checkOncePerSession.label "Once per session">
+ <!ENTITY checkEveryTime.label "Every time I view the page">
+ <!ENTITY checkNever.label "Never">
+ <!ENTITY checkAutomatically.label "When the page is out of date">
+
++<!ENTITY startupCacheTitle.label "Startup Cache">
++<!ENTITY startupCachePara "Startup cache is used to speed up SeaMonkey loading. (Updates or changes of some addons and extensions might require to flush the cache afterwards.)">
++<!ENTITY clearStartupCache.label "Clear startupCache">
++<!ENTITY clearStartupCache.accesskey "s">
++
+ <!ENTITY prefetchTitle.label "Link Prefetching">
+ <!ENTITY enablePrefetch.label "Prefetch web pages when idle, so that links in web pages designed for prefetching can load more quickly">
+ <!ENTITY enablePrefetch.accesskey "P">
diff --git a/seamonkey-2.53.1-system_nss_nspr.patch b/seamonkey-2.53.1-system_nss_nspr.patch
new file mode 100644
index 0000000..bd5fdcd
--- /dev/null
+++ b/seamonkey-2.53.1-system_nss_nspr.patch
@@ -0,0 +1,20 @@
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/old-configure.in.orig 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/old-configure.in 2020-01-06 03:19:40.952857698 +0300
+@@ -48,7 +48,7 @@
+ MOZJPEG=62
+ MOZPNG=10635
+ NSPR_VERSION=4
+-NSPR_MINVER=4.23
++NSPR_MINVER=4.21
+ NSS_VERSION=3
+
+ dnl Set the minimum version of toolkit libs used by mozilla
+@@ -1808,7 +1808,7 @@
+ _USE_SYSTEM_NSS=1 )
+
+ if test -n "$_USE_SYSTEM_NSS"; then
+- AM_PATH_NSS(3.47.1, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
++ AM_PATH_NSS(3.44.0, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
+ fi
+
+ NSS_CFLAGS="$NSS_CFLAGS -I${DIST}/include/nss"
diff --git a/seamonkey-2.53.1-useragent.patch b/seamonkey-2.53.1-useragent.patch
new file mode 100644
index 0000000..88f9610
--- /dev/null
+++ b/seamonkey-2.53.1-useragent.patch
@@ -0,0 +1,290 @@
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/calendar/base/src/calCalendarManager.js seamonkey-2.53-comm-2_53_beta_01-OK/calendar/base/src/calCalendarManager.js
+--- seamonkey-2.53-comm-2_53_beta_01/calendar/base/src/calCalendarManager.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/calendar/base/src/calCalendarManager.js 2020-02-19 23:52:08.526194868 +0300
+@@ -141,41 +141,43 @@ calCalendarManager.prototype = {
+ // Possible reasons we got here:
+ // - Its not a http channel (wtf? Oh well)
+ // - The owner is not a calICalendar (looks like its not our deal)
+ // - The WWW-Authenticate header is missing (thats ok)
+ }
+ break;
+ }
+ case "http-on-modify-request": {
+- // Unfortunately, the ability to do this with a general pref has
+- // been removed. Calendar servers might still want to know what
+- // client is used for access, so add our UA String to each
+- // request.
+- let httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
+- try {
+- // NOTE: For some reason, this observer call doesn't have
+- // the "cal" namespace defined
+- let userAgent = httpChannel.getRequestHeader("User-Agent");
+- let calUAString = Preferences.get("calendar.useragent.extra", "").trim();
+-
+- // Don't add an empty string or an already included token.
+- if (calUAString && !userAgent.includes(calUAString)) {
+- // User-Agent is not a mergeable header. We need to
+- // merge the user agent ourselves.
+- httpChannel.setRequestHeader("User-Agent",
+- userAgent + " " + calUAString,
+- false);
+- }
+- } catch (e) {
+- if (e.result != Components.results.NS_ERROR_NOT_AVAILABLE) {
+- throw e;
++ if (!Preferences.get("general.useragent.compatMode.firefox-exact", false)) {
++ // Unfortunately, the ability to do this with a general pref has
++ // been removed. Calendar servers might still want to know what
++ // client is used for access, so add our UA String to each
++ // request.
++ let httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
++ try {
++ // NOTE: For some reason, this observer call doesn't have
++ // the "cal" namespace defined
++ let userAgent = httpChannel.getRequestHeader("User-Agent");
++ let calUAString = Preferences.get("calendar.useragent.extra", "").trim();
++
++ // Don't add an empty string or an already included token.
++ if (calUAString && !userAgent.includes(calUAString)) {
++ // User-Agent is not a mergeable header. We need to
++ // merge the user agent ourselves.
++ httpChannel.setRequestHeader("User-Agent",
++ userAgent + " " + calUAString,
++ false);
++ }
++ } catch (e) {
++ if (e.result != Components.results.NS_ERROR_NOT_AVAILABLE) {
++ throw e;
++ }
++ // We swallow this error since it means the User Agent
++ // header is not set. We don't want to force it to be set.
+ }
+- // We swallow this error since it means the User Agent
+- // header is not set. We don't want to force it to be set.
+ }
+ break;
+ }
+ }
+ },
+
+ //
+ // DB migration code begins here
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.cpp seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.cpp
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.cpp 2020-02-19 23:52:08.527194862 +0300
+@@ -202,16 +202,17 @@ nsHttpHandler::nsHttpHandler()
+ , mQoSBits(0x00)
+ , mEnforceAssocReq(false)
+ , mLastUniqueID(NowInSeconds())
+ , mSessionStartTime(0)
+ , mLegacyAppName("Mozilla")
+ , mLegacyAppVersion("5.0")
+ , mProduct("Gecko")
+ , mCompatFirefoxEnabled(false)
++ , mCompatFirefoxExact(false)
+ , mUserAgentIsDirty(true)
+ , mAcceptLanguagesIsDirty(true)
+ , mPromptTempRedirect(true)
+ , mEnablePersistentHttpsCaching(false)
+ , mDoNotTrackEnabled(false)
+ , mSafeHintEnabled(false)
+ , mParentalControlEnabled(false)
+ , mHandlerActive(false)
+@@ -900,17 +901,17 @@ nsHttpHandler::BuildUserAgent()
+ mUserAgent += ')';
+
+ // Product portion
+ mUserAgent += ' ';
+ mUserAgent += mProduct;
+ mUserAgent += '/';
+ mUserAgent += mProductSub;
+
+- bool isFirefox = mAppName.EqualsLiteral("Firefox");
++ bool isFirefox = mAppName.EqualsLiteral("Firefox") || mCompatFirefoxExact;
+ if (isFirefox || mCompatFirefoxEnabled) {
+ // "Firefox/x.y" (compatibility) app token
+ mUserAgent += ' ';
+ mUserAgent += mCompatFirefox;
+ }
+ if (!isFirefox) {
+ // App portion
+ mUserAgent += ' ';
+@@ -1138,16 +1139,22 @@ nsHttpHandler::PrefsChanged(nsIPrefBranc
+ bool cVar = false;
+
+ if (PREF_CHANGED(UA_PREF("compatMode.firefox"))) {
+ rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox"), &cVar);
+ mCompatFirefoxEnabled = (NS_SUCCEEDED(rv) && cVar);
+ mUserAgentIsDirty = true;
+ }
+
++ if (PREF_CHANGED(UA_PREF("compatMode.firefox-exact"))) {
++ rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox-exact"), &cVar);
++ mCompatFirefoxExact = (NS_SUCCEEDED(rv) && cVar);
++ mUserAgentIsDirty = true;
++ }
++
+ // general.useragent.override
+ if (PREF_CHANGED(UA_PREF("override"))) {
+ prefs->GetCharPref(UA_PREF("override"),
+ getter_Copies(mUserAgentOverride));
+ mUserAgentIsDirty = true;
+ }
+
+ #ifdef ANDROID
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.h seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.h
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.h 2020-02-20 03:42:49.910562361 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.h 2020-02-19 23:52:08.527194862 +0300
+@@ -492,16 +492,17 @@ private:
+ nsCString mOscpu;
+ nsCString mMisc;
+ nsCString mProduct;
+ nsCString mProductSub;
+ nsCString mAppName;
+ nsCString mAppVersion;
+ nsCString mCompatFirefox;
+ bool mCompatFirefoxEnabled;
++ bool mCompatFirefoxExact;
+ nsCString mCompatDevice;
+ nsCString mDeviceModelId;
+
+ nsCString mUserAgent;
+ nsCString mSpoofedUserAgent;
+ nsCString mUserAgentOverride;
+ bool mUserAgentIsDirty; // true if mUserAgent should be rebuilt
+ bool mAcceptLanguagesIsDirty;
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/app/profile/suite-prefs.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/app/profile/suite-prefs.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/app/profile/suite-prefs.js 2020-02-20 03:42:50.063561357 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/app/profile/suite-prefs.js 2020-02-19 23:52:08.532194833 +0300
+@@ -36,16 +36,17 @@ pref("general.startup.addressbook",
+ pref("general.open_location.last_url", "");
+ pref("general.open_location.last_window_choice", 0);
+ pref("browser.urlbar.historyEnabled", true);
+
+ pref("general.smoothScroll", false);
+ pref("general.autoScroll", true);
+
+ pref("general.useragent.compatMode.firefox", true);
++pref("general.useragent.compatMode.firefox-exact", false);
+
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
+ pref("browser.startup.page", 1);
+ pref("browser.startup.homepage", "chrome://navigator-region/locale/region.properties");
+ pref("browser.startup.homepage.count", 1);
+
+ pref("browser.warnOnQuit", true);
+ pref("browser.warnOnRestart", true);
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.js 2020-02-20 03:39:30.000000000 +0300
+@@ -3,16 +3,31 @@
+ * 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/. */
+
+ var gLightningUAold;
+
+ function Startup()
+ {
+ CheckLightningUA();
++
++ var prefFirefoxExact = document.getElementById("general.useragent.compatMode.firefox-exact");
++ SetFirefoxExactEnabled(prefFirefoxExact.value);
++}
++
++function SetFirefoxExactEnabled(aEnable)
++{
++ EnableElementById("uaFirefoxCompat", !aEnable, false);
++
++ var prefLightningUA = document.getElementById("calendar.useragent.extra");
++ if (prefLightningUA.defaultValue)
++ {
++ var boxLightningUA = document.getElementById("uaLightningShow");
++ boxLightningUA.disabled = prefLightningUA.locked || aEnable;
++ }
+ }
+
+ // Lightning adds a UA token if calendar.useragent.extra is not empty.
+ // Checkbox is visible if Lightning is installed and enabled.
+ // Checkbox is checked if the pref contains any non-whitespace character.
+ function CheckLightningUA()
+ {
+ var prefLightningUA = document.getElementById("calendar.useragent.extra");
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.xul seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.xul
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.xul 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.xul 2020-02-19 23:52:08.529194850 +0300
+@@ -14,16 +14,20 @@
+ name="network.http.version"
+ type="string"/>
+ <preference id="network.http.proxy.version"
+ name="network.http.proxy.version"
+ type="string"/>
+ <preference id="general.useragent.compatMode.firefox"
+ name="general.useragent.compatMode.firefox"
+ type="bool"/>
++ <preference id="general.useragent.compatMode.firefox-exact"
++ name="general.useragent.compatMode.firefox-exact"
++ type="bool"
++ onchange="SetFirefoxExactEnabled(this.value);"/>
+ <preference id="calendar.useragent.extra"
+ name="calendar.useragent.extra"
+ type="string"/>
+ </preferences>
+
+ <description>&prefPara;</description>
+
+ <hbox align="start">
+@@ -57,21 +61,33 @@
+ </vbox>
+ </groupbox>
+ </hbox>
+
+ <separator class="thin"/>
+
+ <groupbox>
+ <caption label="&prefUseragent.label;"/>
++ <radiogroup id="uaFirefoxExact"
++ preference="general.useragent.compatMode.firefox-exact">
++ <radio value="true"
++ label="&prefFirefoxExact.label;"
++ accesskey="&prefFirefoxExact.accesskey;"/>
++ <radio value="false"
++ flex="1"
++ label="&prefAdvertiseSeaMonkey.label;"
++ accesskey="&prefAdvertiseSeaMonkey.accesskey;"/>
++ </radiogroup>
+ <checkbox id="uaFirefoxCompat"
++ class="indent"
+ label="&prefFirefoxCompat.label;"
+ accesskey="&prefFirefoxCompat.accesskey;"
+ preference="general.useragent.compatMode.firefox"/>
+ <checkbox id="uaLightningShow"
++ class="indent"
+ hidden="true"
+ label="&prefLightningShow.label;"
+ accesskey="&prefLightningShow.accesskey;"
+ oncommand="OnLightningChanged(this.checked);"/>
+ </groupbox>
+
+ <description>&prefCompatWarning;</description>
+ </prefpane>
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-http.dtd seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-http.dtd
+--- seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-http.dtd 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-http.dtd 2020-02-19 23:52:08.529194850 +0300
+@@ -10,13 +10,17 @@
+ <!ENTITY prefEnableHTTP10.label "Use HTTP 1.0">
+ <!ENTITY prefEnableHTTP10.accesskey "U">
+ <!ENTITY prefEnableHTTP10Proxy.accesskey "S">
+ <!ENTITY prefEnableHTTP11.label "Use HTTP 1.1">
+ <!ENTITY prefEnableHTTP11.accesskey "E">
+ <!ENTITY prefEnableHTTP11Proxy.accesskey "T">
+ <!ENTITY prefPara "HTTP connections may be fine-tuned using these options to enhance either performance or compatibility. Some proxy servers, for example, are known to require HTTP/1.0 (see the release notes for details).">
+ <!ENTITY prefUseragent.label "User Agent String">
++<!ENTITY prefFirefoxExact.label "Look exactly as Firefox">
++<!ENTITY prefFirefoxExact.accesskey "A">
++<!ENTITY prefAdvertiseSeaMonkey.label "Advertise SeaMonkey">
++<!ENTITY prefAdvertiseSeaMonkey.accesskey "M">
+ <!ENTITY prefFirefoxCompat.label "Advertise Firefox compatibility">
+ <!ENTITY prefFirefoxCompat.accesskey "F">
+ <!ENTITY prefLightningShow.label "Advertise Lightning installation">
+ <!ENTITY prefLightningShow.accesskey "L">
+ <!ENTITY prefCompatWarning "WARNING: disabling these settings may result in websites or services not working properly.">
diff --git a/seamonkey.spec b/seamonkey.spec
index 979960a..afc9da7 100644
--- a/seamonkey.spec
+++ b/seamonkey.spec
@@ -4,19 +4,26 @@
%bcond_without system_icu
%bcond_without system_sqlite
%bcond_without system_ffi
+%bcond_with system_hunspell
%bcond_with system_cairo
%bcond_without langpacks
-%bcond_with calendar
-%bcond_with inspector
-%bcond_with irc
+%bcond_without clang
+%bcond_with lto
+%bcond_with stylo
-%global nspr_version 4.13.1
-%global nss_version 3.30.0
+%bcond_without calendar
+%bcond_without dominspector
+%bcond_without irc
+%bcond_with debugqa
+
+%global nspr_version 4.21.0
+%global nss_version 3.44.0
%global libvpx_version 1.5.0
-%global icu_version 58.1
-%global sqlite_version 3.17.0
+%global icu_version 59.1
+%global sqlite_version 3.19.3
%global ffi_version 3.0.9
+%global hunspell_version 1.6.1
%global cairo_version 1.10
%define homepage http://start.fedoraproject.org/
@@ -28,14 +35,15 @@
Name: seamonkey
Summary: Web browser, e-mail, news, IRC client, HTML editor
-Version: 2.49.5
-Release: 4%{?dist}
+Version: 2.53.1
+Release: 1%{?dist}
URL: http://www.seamonkey-project.org
License: MPLv2.0
-Source0: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
+
+Source0: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
%if %{with langpacks}
-Source1: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
+Source1: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
%endif
Source3: seamonkey.sh.in
@@ -44,27 +52,25 @@ Source12: seamonkey-mail.desktop
Source13: seamonkey-mail.svg
Source100: seamonkey-find-requires.sh
-Patch2: firefox-48-jemalloc-ppc.patch
-Patch3: xulrunner-27.0-build-arm.patch
-Patch4: firefox-33-rhbz-966424.patch
+Patch3: firefox-60-mozilla-1516803.patch
Patch5: firefox-35-rhbz-1173156.patch
-Patch6: firefox-52-build-prbool.patch
+Patch6: firefox-56-build-prbool.patch
Patch7: firefox-51-mozilla-1005640.patch
Patch8: firefox-48-mozilla-256180.patch
-Patch10: firefox-50-mozilla-440908.patch
-Patch13: firefox-52-mozilla-revert-1148544.patch
-Patch14: firefox-51-mozilla-1324096.patch
+Patch10: firefox-56-mozilla-440908.patch
+Patch11: firefox-60-mozilla-1436242.patch
+Patch12: seamonkey-2.53.1-mozilla-1533969.patch
+Patch13: seamonkey-2.53.1-mozilla-revert-1332139.patch
Patch16: firefox-52-rhbz-1451055.patch
-Patch17: seamonkey-2.49.5-mozilla-1389436.patch
+Patch17: seamonkey-2.53.1-rust140-nsstring.patch
+Patch18: seamonkey-2.53.1-rust140-url_1_7_2.patch
+Patch19: seamonkey-2.53.1-rust141-encoding_rs.patch
+Patch20: seamonkey-2.53.1-system_nss_nspr.patch
Patch22: seamonkey-2.46-installdir.patch
-Patch27: seamonkey-2.46-exthandler.patch
-Patch28: seamonkey-2.49.5-crmf.patch
-Patch29: seamonkey-2.49.5-mozilla-1559419.patch
-Patch30: nss-3.28-mozilla-1334976-1336487.patch
-Patch31: seamonkey-2.49.4-gettid.patch
-Patch40: seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
-Patch41: seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
-Patch42: seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
+Patch30: seamonkey-2.53.1-rhbz-1503632.patch
+Patch31: seamonkey-2.53.1-mozilla-526293.patch
+Patch32: seamonkey-2.53.1-useragent.patch
+Patch34: seamonkey-2.53.1-startupcache.patch
%{?with_system_nspr:BuildRequires: nspr-devel >= %{nspr_version}}
%{?with_system_nss:BuildRequires: nss-devel >= %{nss_version}}
@@ -73,6 +79,7 @@ Patch42: seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
%{?with_system_icu:BuildRequires: libicu-devel >= %{icu_version}}
%{?with_system_sqlite:BuildRequires: sqlite-devel >= %{sqlite_version}}
%{?with_system_ffi:BuildRequires: libffi-devel >= %{ffi_version}}
+%{?with_system_hunspell:BuildRequires: hunspell-devel >= %{hunspell_version}}
%{?with_system_cairo:BuildRequires: cairo-devel >= %{cairo_version}}
BuildRequires: libpng-devel
@@ -81,7 +88,7 @@ BuildRequires: zlib-devel
BuildRequires: zip
BuildRequires: libIDL-devel
BuildRequires: desktop-file-utils
-BuildRequires: gtk2-devel
+BuildRequires: gtk3-devel
BuildRequires: dbus-glib-devel
BuildRequires: gnome-vfs2-devel
BuildRequires: libgnome-devel
@@ -94,19 +101,29 @@ BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: coreutils
BuildRequires: alsa-lib-devel
-BuildRequires: hunspell-devel
BuildRequires: libnotify-devel
BuildRequires: yasm >= 1.1
BuildRequires: mesa-libGL-devel
BuildRequires: pulseaudio-libs-devel
+BuildRequires: startup-notification-devel
BuildRequires: autoconf213
BuildRequires: python27
-BuildRequires: gcc-c++ >= 4.8
+
+%if %{with clang} || %{with stylo}
+BuildRequires: clang, llvm-devel
+%endif
+%if %{without clang}
+BuildRequires: gcc-c++ >= 6.1
+%endif
+
+BuildRequires: rust >= 1.35
+BuildRequires: cargo
Requires: system-bookmarks
Requires: mozilla-filesystem
Requires: hicolor-icon-theme
+Requires: p11-kit-trust
%if %{with system_nspr}
Requires: nspr >= %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo %{nspr_version})
%endif
@@ -119,7 +136,8 @@ Requires: sqlite >= %(pkg-config --silence-errors --modversion sqlite 2>/d
# ppc64: http://bugzilla.redhat.com/bugzilla/866589
# armv7hl: http://bugzilla.redhat.com/bugzilla/1035485
-ExclusiveArch: %{ix86} x86_64
+# %{ix86}: no more supported upstream
+ExclusiveArch: x86_64
%define _use_internal_dependency_generator 0
%define __find_requires %{SOURCE100}
@@ -149,35 +167,27 @@ application formerly known as Mozilla Application Suite.
cd %{sources_subdir}
pushd mozilla
-%patch2 -p1 -b .jemalloc-ppc
-%patch3 -p2 -b .build-arm
-%patch4 -p2 -b .966424
+%patch3 -p1 -b .1516803
%patch5 -p2 -b .1173156
%patch6 -p1 -b .prbool
%patch7 -p1 -b .1005640
%patch8 -p1 -b .256180
%patch10 -p1 -b .440908
-%patch13 -p1 -b .1148544
-%patch14 -p1 -b .1324096
+%patch11 -p1 -b .1436242
+%patch12 -p1 -b .1533969
+%patch13 -p1 -b .1332139
%patch16 -p1 -b .1451055
-%patch17 -p1 -b .1389436
+%patch17 -p1 -b .nsstring
+%patch18 -p1 -b .rust-url
+%patch19 -p1 -b .encoding_rs
popd
+%patch20 -p2 -b .system_nss_nspr
%patch22 -p2 -b .installdir
-%patch27 -p2 -b .exthandler
-%patch28 -p2 -b .crmf
-%patch29 -p2 -b .1559419
-%patch31 -p2 -b .gettid
-
-%if %{without system_nss}
-pushd mozilla/security/nss
-%patch30 -p1 -b .1334976
-popd
-%endif
-
-%patch40 -p2 -b .1269145
-%patch41 -p2 -b .1398973
-%patch42 -p2 -b .1461307
+%patch30 -p2 -b .1503632
+%patch31 -p2 -b .526293
+%patch32 -p1 -b .useragent
+%patch34 -p1 -b .startupcache
sed -e 's/-MOZILLA_VERSION//g' \
-e 's,LIBDIR,%{_libdir},g' %{SOURCE3} >seamonkey.sh
@@ -185,12 +195,7 @@ sed -e 's/-MOZILLA_VERSION//g' \
%if %{without calendar}
sed -i 's/MOZ_CALENDAR/UNDEF_MOZ_CALENDAR/' suite/installer/package-manifest.in
%endif
-%if %{without inspector}
-sed -i '/^\[inspector\]/,/^$/ d' suite/installer/package-manifest.in
-%endif
-%if %{without irc}
-sed -i '/^\[chatzilla\]/,/^$/ d' suite/installer/package-manifest.in
-%endif
+
#
# generate .mozconfig
@@ -217,36 +222,41 @@ ac_add_options --with-system-bz2
ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-install-strip
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-extensions=default%{!?with_inspector:,-inspector}%{!?with_irc:,-irc}
+ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --disable-crashreporter
-ac_add_options --enable-safe-browsing
-ac_add_options --enable-system-hunspell
ac_add_options --disable-updater
ac_add_options --enable-chrome-format=omni
ac_add_options --disable-necko-wifi
+ac_add_options --enable-startup-notification
ac_add_options --enable-optimize=-O2
-ac_add_options --with%{!?with_system_nspr:out}-system-nspr
-ac_add_options --with%{!?with_system_nss:out}-system-nss
-ac_add_options --with%{!?with_system_libvpx:out}-system-libvpx
-ac_add_options --with%{!?with_system_icu:out}-system-icu
+ac_add_options --enable-startupcache
-ac_add_options --%{?with_system_sqlite:en}%{!?with_system_sqlite:dis}able-system-sqlite
-ac_add_options --%{?with_system_ffi:en}%{!?with_system_ffi:dis}able-system-ffi
-ac_add_options --%{?with_system_cairo:en}%{!?with_system_cairo:dis}able-system-cairo
+%define with_sys() ac_add_options --with%%{!?with_system_%1:out}-system-%1
+%define endis_sys() ac_add_options --%%{?with_system_%1:enable}%%{!?with_system_%1:disable}-system-%1
+%define endis() ac_add_options --%%{?with_%1:enable}%%{!?with_%1:disable}-%1
+
+%{expand:%with_sys nspr}
+%{expand:%with_sys nss}
+%{expand:%with_sys libvpx}
+%{expand:%with_sys icu}
+
+%{expand:%endis_sys sqlite}
+%{expand:%endis_sys ffi}
+%{expand:%endis_sys hunspell}
+%{expand:%endis_sys cairo}
# always enable calendar to build needed internal components required for both bundled and external addons
ac_add_options --enable-calendar
+%{expand:%endis dominspector}
+%{expand:%endis irc}
+%{expand:%endis debugqa}
-%ifarch %{arm}
-ac_add_options --disable-elf-hack
-%endif
-%ifnarch %{ix86} x86_64
-ac_add_options --disable-webrtc
-%endif
+ac_add_options --disable-webrender
+ac_add_options %{?with_stylo:--enable-stylo=build}%{!?with_stylo:--disable-stylo}
+
%if %{with langpacks}
ac_add_options --with-l10n-base=../l10n
@@ -271,18 +281,20 @@ pref("intl.locale.matchOS", true);
pref("extensions.shownSelectionUI", true);
pref("extensions.autoDisableScopes", 0);
pref("shell.checkDefaultApps", 0);
-pref("media.gmp-gmpopenh264.provider.enabled",false);
-pref("media.gmp-gmpopenh264.autoupdate",false);
-pref("media.gmp-gmpopenh264.enabled",false);
-pref("gfx.xrender.enabled",true);
-pref("devtools.webide.enabled",false);
+pref("media.gmp-gmpopenh264.provider.enabled", false);
+pref("media.gmp-gmpopenh264.autoupdate", false);
+pref("media.gmp-gmpopenh264.enabled", false);
+pref("gfx.xrender.enabled", true);
+pref("devtools.webide.enabled", false);
/* use system dictionaries (hunspell) */
-pref("spellchecker.dictionary_path","%{_datadir}/myspell");
+pref("spellchecker.dictionary_path", "%{_datadir}/myspell");
/* Allow sending credetials to all https:// sites */
pref("network.negotiate-auth.trusted-uris", "https://");
+pref("general.useragent.compatMode.firefox-exact", true);
+
EOF
# all-fedora.js
@@ -295,32 +307,58 @@ sed -i -e "s|browser.startup.homepage.*$|browser.startup.homepage = %{homepage}|
cd %{sources_subdir}
+%if %{with clang}
+export CC=clang
+export CXX=clang++
+%endif
+
# Mozilla builds with -Wall with exception of a few warnings which show up
# everywhere in the code; so, don't override that.
MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wall//')
+MOZ_LINK_FLAGS=
+
+# Still not handled by clang-8
+%if %{with clang}
+MOZ_OPT_FLAGS=$(echo $MOZ_OPT_FLAGS | sed -e 's/-fstack-clash-protection//')
+%endif
# needed for -Werror=format-security
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat"
-
# just temporary for gcc9 ...
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wno-format-overflow"
-# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
+%if %{with lto}
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flto"
+%if %{with clang}
+export AS=llvm-as
+export AR=llvm-ar
+export RANLIB=llvm-ranlib
+export STRIP=llvm-strip
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fuse-ld=gold"
+%else
+export AR=gcc-ar
+export RANLIB=gcc-ranlib
+%endif
+%endif
+%if %(awk '/^MemTotal:/ { print $2 }' /proc/meminfo) <= 4200000
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--no-keep-memory"
+%if %{without clang} || %{without lto}
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--reduce-memory-overheads"
+%endif
+%endif
+
export CFLAGS=$MOZ_OPT_FLAGS
export CXXFLAGS=$MOZ_OPT_FLAGS
+export LDFLAGS=$MOZ_LINK_FLAGS
-[ "%{?__isa_bits}" == 32 -o $(awk '/^MemTotal:/ { print $2 }' /proc/meminfo) -le 4200000 ] && {
- MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
- export LDFLAGS=$MOZ_LINK_FLAGS
-}
MOZ_SMP_FLAGS=%{?_smp_mflags}
[ ${MOZ_SMP_FLAGS#-j} -gt 8 ] && MOZ_SMP_FLAGS=-j8
make -f client.mk build MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
+
%if %{with langpacks}
languages=`ls l10n | while read lang
@@ -360,6 +398,11 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/idl/seamonkey
rm -f $RPM_BUILD_ROOT%{_bindir}/seamonkey
install -p -m 755 seamonkey.sh $RPM_BUILD_ROOT%{_bindir}/seamonkey
+install -p -m 644 -D obj-*/dist/man/man1/seamonkey.1 $RPM_BUILD_ROOT/%{_mandir}/man1/seamonkey.1
+
+rm -f $RPM_BUILD_ROOT/%{_libdir}/seamonkey/removed-files
+rm -f $RPM_BUILD_ROOT/%{_libdir}/seamonkey/libnssckbi.so
+
# default prefs
install -p -m 644 all-fedora.js \
$RPM_BUILD_ROOT/%{_libdir}/seamonkey/defaults/pref/all-fedora.js
@@ -425,10 +468,11 @@ desktop-file-install --vendor mozilla \
pushd $RPM_BUILD_ROOT%{_libdir}/seamonkey/chrome/icons/default
icons=$RPM_BUILD_ROOT%{_datadir}/icons/hicolor
# seamonkey icons
-install -p -m 644 -D main-window16.png $icons/16x16/apps/seamonkey.png
-install -p -m 644 -D main-window.png $icons/32x32/apps/seamonkey.png
-install -p -m 644 -D main-window48.png $icons/48x48/apps/seamonkey.png
-install -p -m 644 -D seamonkey.png $icons/128x128/apps/seamonkey.png
+install -p -m 644 -D default16.png $icons/16x16/apps/seamonkey.png
+install -p -m 644 -D default.png $icons/32x32/apps/seamonkey.png
+install -p -m 644 -D default48.png $icons/48x48/apps/seamonkey.png
+install -p -m 644 -D default64.png $icons/64x64/apps/seamonkey.png
+install -p -m 644 -D default128.png $icons/128x128/apps/seamonkey.png
# seamonkey mail icons
install -p -m 644 -D messengerWindow16.png $icons/16x16/apps/seamonkey-mail.png
install -p -m 644 -D messengerWindow.png $icons/32x32/apps/seamonkey-mail.png
@@ -441,13 +485,15 @@ popd
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/extensions/%{seamonkey_app_id}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
+
%files -f seamonkey.lang
-%{_libdir}/seamonkey
+%license %{_libdir}/seamonkey/license.txt
-%ghost %{_libdir}/seamonkey/removed-files
+%{_libdir}/seamonkey
%{_bindir}/seamonkey
+%{_mandir}/*/*
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/applications/*.desktop
@@ -456,12 +502,9 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
%changelog
-* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.49.5-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-- Add fix for mozbz#1389436
-
-* Fri Nov 01 2019 Pete Walter <pwalter(a)fedoraproject.org> - 2.49.5-3
-- Rebuild for ICU 65
+* Fri Feb 28 2020 Dmitry Butskoy <Dmitry(a)Butskoy.name> - 2.53.1-1
+- Upgrade to 2.53.1
+- use clang to build
* Mon Sep 9 2019 Dmitry Butskoy <Dmitry(a)Butskoy.name> - 2.49.5-2
- rebuid to properly handle external lightning extension (#1750450)
@@ -552,321 +595,3 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
- avoid runtime linking with too old ffmpeg libraries (#1330898)
- still enable XRender extension by default
-* Thu Aug 4 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-9
-- Revert changes introduced by 2.40-7. The system-bookmarks is
- required for new profiles
-
-* Tue Aug 2 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-8
-- Bump release due to rebuild
-
-* Mon Aug 1 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-7
-- Seamonkey no longer require system-bookmarks during installation
- (rhbz#1361851)
-
-* Tue Jul 22 2016 Tom Callaway <spot(a)fedoraproject.org> - 2.40-6
-- rebuild for libvpx 1.6.0
-
-* Tue Jul 5 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-5
-- Disable null pointer gcc6 optimization in gcc-6.x (#1328045)
-
-* Sun Jul 3 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-4
-- add fix for gcc-6.x (mozilla bug #1245783)
-
-* Tue Jun 14 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-3
-- disable extra updatecheck (#1346171)
-- enable full-screen-api by default for media support
-
-* Mon Apr 18 2016 Caoln McNamara <caolanm(a)redhat.com> 2.40-2
-- rebuild for hunspell 1.4.0
-
-* Tue Mar 15 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-1
-- update to 2.40
-
-* Tue Feb 16 2016 Martin Stransky <stransky(a)redhat.com> 2.39-5
-- Added gcc6 build fix
-
-* Thu Feb 04 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.39-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Sat Jan 23 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.39-3
-- use system dictionaries for spell checking
-- specify default homepage for builtin default locale (en_US) as well
-- drop tons of garbage from libsuite.so component
-- massive spec and config files cleanup, including:
- - simplifying of install process and filelist generation
- - drop unneeded sources
- - generate mozconfig and prefs files inside spec file
- (better atomic support for changes and different releases)
- - actually provide information of files' locales for rpm package
- - conditionally build with system cairo, sqlite, libffi
-- more robast helper detection when content type reported wrongly
-- change some defaults to be the same as in Firefox:
- - delete temporary helpers files on exit
- - disable autoupdates by default
- - match OS locale by default
-- avoid ppc64le builds as well (#866589)
-- build with system sqlite and libffi
-
-* Tue Dec 1 2015 Tom Callaway <spot(a)fedoraproject.org> 2.39-2
-- rebuild for libvpx 1.5.0
-
-* Mon Nov 16 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.39-1
-- update to 2.39
-
-* Sun Oct 11 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.38-1
-- update to 2.38
-
-* Sun Sep 13 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.35-1
-- update to 2.35
-
-* Fri Jun 19 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.33.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sat May 02 2015 Kalev Lember <kalevlember(a)gmail.com> - 2.33.1-3
-- Rebuilt for GCC 5 C++11 ABI change
-
-* Mon Apr 13 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name>
-- cleanup of the startup script (#1210035)
-
-* Mon Apr 6 2015 Tom Callaway <spot(a)fedoraproject.org> - 2.33.1-2
-- rebuild against libvpx 1.4.0
-
-* Thu Mar 26 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.33.1-1
-- update to 2.33.1
-
-* Mon Mar 16 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.33-1
-- update to 2.33
-- apply some patches from firefox-36 package
-
-* Sun Feb 8 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.32.1-1
-- update to 2.32.1
-
-* Tue Jan 20 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.32-1
-- update to 2.32
-- apply some patches from firefox-35 package
-- enable gstreamer-1.0 support
-
-* Mon Dec 15 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.31-1
-- update to 2.31
-- apply some patches from firefox-34 package
-
-* Sat Oct 25 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.30-1
-- update to 2.30
-- apply some patches from firefox-33 package
-
-* Fri Sep 26 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.29.1-1
-- update to 2.29.1
-
-* Sat Sep 20 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.29-1
-- update to 2.29
-- apply some patches from firefox-32 package
-
-* Wed Aug 20 2014 Kevin Fenzi <kevin(a)scrye.com> - 2.26.1-3
-- Rebuild for rpm bug 1131892
-
-* Mon Aug 18 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.26.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-
-* Tue Jun 24 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26.1-1
-- update to 2.26.1
-
-* Sun Jun 08 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.26-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Fri May 9 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26-2
-- rebuild with new find-requires script
-
-* Fri May 9 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26-1
-- update to 2.26
-
-* Mon Mar 24 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.25-1
-- update to 2.25
-
-* Mon Feb 10 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.24-1
-- update to 2.24
-
-* Wed Dec 18 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.23-1
-- update to 2.23
-
-* Wed Nov 27 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.22.1-1
-- update to 2.22.1
-- don't build for armv7hl (seems not enough memory on the build system, #1035485)
-
-* Sat Nov 2 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.22-1
-- update to 2.22
-
-* Thu Sep 19 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.21-1
-- update to 2.21
-
-* Thu Aug 8 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.20-1
-- update to 2.20
-
-* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.19-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Mon Jul 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.19-2
-- implement separate switches for system/native nspr, nss and libvpx
-
-* Mon Jul 8 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.19-1
-- update to 2.19
-
-* Mon Apr 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.17.1-1
-- update to 2.17.1
-
-* Wed Apr 3 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.17-1
-- update to 2.17
-- explicitly require libjpeg-turbo (for JCS_EXTENSIONS)
-
-* Tue Mar 26 2013 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.16.2-2
-- Only build WebRTC on x86 to fix FTBFS on other arches
-
-* Fri Mar 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16.2-1
-- update to 2.16.2
-- fix desktop files (#887297)
-
-* Tue Mar 12 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16.1-1
-- update to 2.16.1
-
-* Fri Feb 22 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16-1
-- update to 2.16
-- fix build langpacks
-
-* Tue Feb 5 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15.2-1
-- update to 2.15.2
-
-* Sun Jan 27 2013 Rex Dieter <rdieter(a)fedoraproject.org> 2.15.1-2
-- silence scriptlet output
-
-* Tue Jan 22 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15.1-1
-- update to 2.15.1
-
-* Fri Jan 11 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15-1
-- update to 2.15
-- don't try to change global user settings for default browser/mail etc.
-- add fix for #304121 (derived from Xulrunner)
-
-* Mon Dec 3 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.14.1-1
-- update to 2.14.1
-
-* Thu Nov 22 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.14-1
-- update to 2.14
-- fix elfhack compile
-
-* Wed Oct 31 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.13.2-2
-- exclude ppc64 arch (hoping it is temporary, #866589)
-- fix startup warnings (error console) for omni and inspector
-- fix build langpacks
-- change License to MPLv2.0
-- add seamonkey-related directories in mozilla-filesystem (#865054)
-- use proper MOZ_SMP_FLAGS
-- add patch for jemalloc for powerpc arches (#852698)
-- add patch to avoid decommit memory on powerpc arches (#852698)
-- some cleanups in spec file
-- drop version from install directories (follow the current firefox
- and thunderbird way)
-
-* Fri Oct 26 2012 Martin Stransky <stransky(a)redhat.com> 2.13.2-1
-- Update to 2.13.2
-
-* Tue Oct 16 2012 Martin Stransky <stransky(a)redhat.com> 2.13.1-1
-- Update to 2.13.1
-
-* Tue Oct 9 2012 Martin Stransky <stransky(a)redhat.com> 2.13-1
-- Update to 2.13
-
-* Tue Aug 28 2012 Martin Stransky <stransky(a)redhat.com> 2.12.1-1
-- Update to 2.12.1
-
-* Tue Aug 28 2012 Martin Stransky <stransky(a)redhat.com> 2.12-1
-- Update to 2.12
-
-* Fri Jul 27 2012 Martin Stransky <stransky(a)redhat.com> 2.11-1
-- Update to 2.11
-
-* Thu Jun 21 2012 Martin Stransky <stransky(a)redhat.com> 2.10.1-1
-- Update to 2.10.1
-
-* Thu Jun 7 2012 Allen Hewes <allen(a)decisiv.net> 2.10-1
-- Update to 2.10
-- change sed string for version number to support 2 digits
-- remove specific .so's from installer manifest
-- fix the cache path for header.py and associated files when building
- in srcdir (vs using seperate objdir)
-
-* Mon May 7 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-4
-- Fixed #717242 - does not adhere to Static Library Packaging Guidelines
-
-* Thu May 3 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-3
-- Fixed #747411 - seamonkey needs better icons (by Edward Sheldrake)
-
-* Thu May 3 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-2
-- Fixed directories (#566901)
-
-* Wed May 2 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-1
-- Update to 2.9.1
-
-* Fri Apr 27 2012 Martin Stransky <stransky(a)redhat.com> 2.9-1
-- Update to 2.9
-
-* Wed Apr 4 2012 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.8-3
-- Add ARM configuration options
-
-* Fri Mar 16 2012 Martin Stransky <stransky(a)redhat.com> 2.8-2
-- gcc 4.7 build fixes
-
-* Thu Mar 15 2012 Martin Stransky <stransky(a)redhat.com> 2.8-1
-- Update to 2.8
-
-* Fri Feb 24 2012 Martin Stransky <stransky(a)redhat.com> 2.7.1-2
-- Added fix for mozbz#727401 - libpng crash
-
-* Tue Feb 14 2012 Martin Stransky <stransky(a)redhat.com> 2.7.1-1
-- Update to 2.7.1
-
-* Mon Feb 6 2012 Martin Stransky <stransky(a)redhat.com> 2.7-2
-- gcc 4.7 build fixes
-
-* Fri Feb 3 2012 Martin Stransky <stransky(a)redhat.com> 2.7-1
-- Update to 2.7
-
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.5-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Wed Dec 14 2011 Martin Stransky <stransky(a)redhat.com> 2.5-2
-- Fixed langpacks
-
-* Thu Dec 8 2011 Martin Stransky <stransky(a)redhat.com> 2.5-1
-- Update to 2.5
-
-* Fri Oct 14 2011 Dan Hork <dan[at]danny.cz> - 2.4.1-3
-- fix build on secondary arches
-
-* Tue Oct 11 2011 Kai Engert <kaie(a)redhat.com> - 2.4.1-2
-- Update to 2.4.1
-
-* Tue Sep 06 2011 Kai Engert <kaie(a)redhat.com> - 2.3.3-2
-- Update to 2.3.3
-
-* Sun Aug 21 2011 Kai Engert <kaie(a)redhat.com> - 2.3-2
-- Update to 2.3
-
-* Wed May 25 2011 Caoln McNamara <caolanm(a)redhat.com> - 2.0.14-2
-- rebuild for new hunspell
-
-* Fri Apr 29 2011 Jan Horak <jhorak(a)redhat.com> - 2.0.14-1
-- Update to 2.0.14
-
-* Sat Apr 9 2011 Christopher Aillon <caillon(a)redhat.com> 2.0.13-1
-- Update to 2.0.13
-
-* Mon Mar 7 2011 Martin Stransky <stransky(a)redhat.com> 2.0.12-1
-- Update to 2.0.12
-
-* Wed Feb 09 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.0.11-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Tue Jan 04 2011 Adel Gadllah <adel.gadllah(a)gmail.com> 2.0.11-3
-- BR dbus-glib-devel
-
-* Tue Jan 04 2011 Adel Gadllah <adel.gadllah(a)gmail.com> 2.0.11-2
-- disabled system cairo, breaks animated gifs (rhbz#628331)
diff --git a/sources b/sources
index 53800fa..94bb6fb 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (seamonkey-2.49.5.source.tar.xz) = 31309def1ad4276f13ecb343e936c7cade4b6850db88d9d84700f86bff7024b2b217b9e50fc3756b1d1beea483ceaa2a5a3afd053da00f6ac06e3795e9116789
-SHA512 (seamonkey-2.49.5.source-l10n.tar.xz) = eda23c334123e7fb060e93a5495b061e96a71944ce4216eee1dbf017d4803310da0882ff9fcf2c986e016ac8bbcca1fe7c2837dd04ea8208fe7127bf6e92afc5
+SHA512 (seamonkey-2.53.1.source.tar.xz) = 67c8a5343070948a88f1184a4f0c6ec720f9d43910165812b05a2a1bed8b698de2860d75b4bbf831f23c750fb521f50afa44ddc13835047f517a1407892ede3f
+SHA512 (seamonkey-2.53.1.source-l10n.tar.xz) = 52bc7d82e935abb67778a6fcdab6a9e6d66a196d0962c59ddddae4ae854e1cd0e923016b13afa55df7a3f3997014fc38e729605d449a170a7ff96b905c7ea084
diff --git a/xulrunner-27.0-build-arm.patch b/xulrunner-27.0-build-arm.patch
deleted file mode 100644
index f82dc4f..0000000
--- a/xulrunner-27.0-build-arm.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xulrunner-27.0/mozilla-release/gfx/ycbcr/moz.build.arm xulrunner-27.0/mozilla-release/gfx/ycbcr/moz.build
---- firefox-27.0/mozilla-release/gfx/ycbcr/moz.build.arm 2014-01-28 05:03:42.000000000 +0100
-+++ firefox-27.0/mozilla-release/gfx/ycbcr/moz.build 2014-02-03 11:14:34.062219509 +0100
-@@ -61,7 +61,7 @@ else:
- 'yuv_row_other.cpp',
- ]
-
--if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
-+if CONFIG['HAVE_ARM_NEON']:
- SOURCES += [
- 'yuv_row_arm.s',
- ]
4 years
Architecture specific change in rpms/seamonkey.git
by githook-noreply@fedoraproject.org
The package rpms/seamonkey.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/seamonkey.git/commit/?id=aba70cbc....
Change:
-%ifnarch %{ix86} x86_64
Thanks.
Full change:
============
commit aba70cbc2c8c3b85232435d6f987f18d83615990
Author: Dmitry Butskoy <dmitry(a)butskoy.name>
Date: Mon Mar 2 02:30:36 2020 +0300
Upgrade to 2.53.1
diff --git a/firefox-33-rhbz-966424.patch b/firefox-33-rhbz-966424.patch
deleted file mode 100644
index 7579d09..0000000
--- a/firefox-33-rhbz-966424.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm
---- firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 2014-10-14 08:12:14.358697255 +0200
-+++ firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm 2014-10-14 08:17:59.962181908 +0200
-@@ -174,7 +174,9 @@ this.checkCert =
- }
-
- function isBuiltinToken(tokenName) {
-- return tokenName == "Builtin Object Token";
-+ return tokenName == "Builtin Object Token" ||
-+ tokenName == "Default Trust" ||
-+ tokenName == "System Trust";
- }
-
- /**
diff --git a/firefox-48-jemalloc-ppc.patch b/firefox-48-jemalloc-ppc.patch
deleted file mode 100644
index b2aaae6..0000000
--- a/firefox-48-jemalloc-ppc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc firefox-48.0/memory/mozjemalloc/jemalloc.c
---- firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2016-07-26 10:51:46.385434384 +0200
-+++ firefox-48.0/memory/mozjemalloc/jemalloc.c 2016-07-26 10:53:49.061023106 +0200
-@@ -1090,7 +1090,7 @@ static const bool config_recycle = false
- * controlling the malloc behavior are defined as compile-time constants
- * for best performance and cannot be altered at runtime.
- */
--#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
-+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !(defined(__powerpc__))
- #define MALLOC_STATIC_SIZES 1
- #endif
-
diff --git a/firefox-50-mozilla-440908.patch b/firefox-50-mozilla-440908.patch
deleted file mode 100644
index 2d4a609..0000000
--- a/firefox-50-mozilla-440908.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff -up firefox-50.0/modules/libpref/prefapi.cpp.440908 firefox-50.0/modules/libpref/prefapi.cpp
---- firefox-50.0/modules/libpref/prefapi.cpp.440908 2016-10-31 21:15:26.000000000 +0100
-+++ firefox-50.0/modules/libpref/prefapi.cpp 2016-11-10 10:32:48.796115692 +0100
-@@ -997,8 +997,8 @@ void PREF_ReaderCallback(void *clo
- PrefValue value,
- PrefType type,
- bool isDefault,
-- bool isStickyDefault)
--
-+ bool isStickyDefault,
-+ bool isLocked)
- {
- uint32_t flags = 0;
- if (isDefault) {
-@@ -1010,4 +1010,6 @@ void PREF_ReaderCallback(void *clo
- flags |= kPrefForceSet;
- }
- pref_HashPref(pref, value, type, flags);
-+ if (isLocked)
-+ PREF_LockPref(pref, true);
- }
-diff -up firefox-50.0/modules/libpref/prefapi.h.440908 firefox-50.0/modules/libpref/prefapi.h
---- firefox-50.0/modules/libpref/prefapi.h.440908 2016-11-10 10:32:48.796115692 +0100
-+++ firefox-50.0/modules/libpref/prefapi.h 2016-11-10 10:34:58.013159112 +0100
-@@ -243,8 +243,8 @@ void PREF_ReaderCallback( void *closure,
- PrefValue value,
- PrefType type,
- bool isDefault,
-- bool isStickyDefault);
--
-+ bool isStickyDefault,
-+ bool isLocked);
-
- /*
- * Callback whenever we change a preference
-diff -up firefox-50.0/modules/libpref/prefread.cpp.440908 firefox-50.0/modules/libpref/prefread.cpp
---- firefox-50.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
-+++ firefox-50.0/modules/libpref/prefread.cpp 2016-11-10 10:32:48.796115692 +0100
-@@ -43,6 +43,7 @@ enum {
- #define BITS_PER_HEX_DIGIT 4
-
- static const char kUserPref[] = "user_pref";
-+static const char kLockPref[] = "lockPref";
- static const char kPref[] = "pref";
- static const char kPrefSticky[] = "sticky_pref";
- static const char kTrue[] = "true";
-@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
- break;
- }
- (*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
-- ps->fstickydefault);
-+ ps->fstickydefault, ps->flock);
- return true;
- }
-
-@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
- ps->vtype = PrefType::Invalid;
- ps->fdefault = false;
- ps->fstickydefault = false;
-+ ps->flock = false;
- }
- switch (c) {
- case '/': /* begin comment block or line? */
-@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
- break;
- case 'u': /* indicating user_pref */
- case 's': /* indicating sticky_pref */
-+ case 'l': /* indicating lockPref */
- case 'p': /* indicating pref */
- if (c == 'u') {
- ps->smatch = kUserPref;
- } else if (c == 's') {
- ps->smatch = kPrefSticky;
-+ } else if (c == 'l') {
-+ ps->smatch = kLockPref;
- } else {
- ps->smatch = kPref;
- }
-@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
- /* name parsing */
- case PREF_PARSE_UNTIL_NAME:
- if (c == '\"' || c == '\'') {
-- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
-+ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
-+ || ps->smatch == kLockPref);
- ps->fstickydefault = (ps->smatch == kPrefSticky);
-+ ps->flock = (ps->smatch == kLockPref);
- ps->quotechar = c;
- ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
- state = PREF_PARSE_QUOTED_STRING;
-diff -up firefox-50.0/modules/libpref/prefread.h.440908 firefox-50.0/modules/libpref/prefread.h
---- firefox-50.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
-+++ firefox-50.0/modules/libpref/prefread.h 2016-11-10 10:32:48.796115692 +0100
-@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
- PrefValue val,
- PrefType type,
- bool defPref,
-- bool stickyPref);
-+ bool stickyPref,
-+ bool lockPref);
-
- /**
- * Report any errors or warnings we encounter during parsing.
-@@ -62,6 +63,7 @@ typedef struct PrefParseState {
- PrefType vtype; /* PREF_STRING,INT,BOOL */
- bool fdefault; /* true if (default) pref */
- bool fstickydefault; /* true if (sticky) pref */
-+ bool flock; /* true if pref to be locked */
- } PrefParseState;
-
- /**
-@@ -90,7 +92,7 @@ void PREF_InitParseState(PrefParseState
- *
- * @param ps
- * PrefParseState instance.
-- */
-+ */
- void PREF_FinalizeParseState(PrefParseState *ps);
-
- /**
diff --git a/firefox-51-mozilla-1324096.patch b/firefox-51-mozilla-1324096.patch
deleted file mode 100644
index 4a2691e..0000000
--- a/firefox-51-mozilla-1324096.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/security/certverifier/CertVerifier.cpp b/security/certverifier/CertVerifier.cpp
---- a/security/certverifier/CertVerifier.cpp
-+++ b/security/certverifier/CertVerifier.cpp
-@@ -120,16 +120,20 @@ IsCertChainRootBuiltInRoot(const UniqueC
- }
- CERTCertificate* root = rootNode->cert;
- if (!root) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
- }
- return IsCertBuiltInRoot(root, result);
- }
-
-+// The term "builtin root" traditionally refers to a root CA certificate that
-+// has been added to the NSS trust store, because it has been approved
-+// for inclusion according to the Mozilla CA policy, and might be accepted
-+// by Mozilla applications as an issuer for certificates seen on the public web.
- Result
- IsCertBuiltInRoot(CERTCertificate* cert, bool& result)
- {
- result = false;
- #ifdef DEBUG
- nsCOMPtr<nsINSSComponent> component(do_GetService(PSM_COMPONENT_CONTRACTID));
- if (!component) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
-@@ -142,25 +146,38 @@ IsCertBuiltInRoot(CERTCertificate* cert,
- return Success;
- }
- #endif // DEBUG
- AutoSECMODListReadLock lock;
- for (SECMODModuleList* list = SECMOD_GetDefaultModuleList(); list;
- list = list->next) {
- for (int i = 0; i < list->module->slotCount; i++) {
- PK11SlotInfo* slot = list->module->slots[i];
-- // PK11_HasRootCerts should return true if and only if the given slot has
-- // an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST, which
-- // should be true only of the builtin root list.
-- // If we can find a copy of the given certificate on the slot with the
-- // builtin root list, that certificate must be a builtin.
-- if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot) &&
-- PK11_FindCertInSlot(slot, cert, nullptr) != CK_INVALID_HANDLE) {
-- result = true;
-- return Success;
-+ // We're searching for the "builtin root module", which is a module that
-+ // contains an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST.
-+ // We use PK11_HasRootCerts() to identify a module with that property.
-+ // In the past, we exclusively used the PKCS#11 module named nssckbi,
-+ // which is provided by the NSS library.
-+ // Nowadays, some distributions use a replacement module, which contains
-+ // the builtin roots, but which also contains additional CA certificates,
-+ // such as CAs trusted in a local deployment.
-+ // We want to be able to distinguish between these two categories,
-+ // because a CA, which may issue certificates for the public web,
-+ // is expected to comply with additional requirements.
-+ // If the certificate has attribute CKA_NSS_MOZILLA_CA_POLICY set to true,
-+ // then we treat it as a "builtin root".
-+ if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot)) {
-+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(slot, cert, nullptr);
-+ if (handle != CK_INVALID_HANDLE &&
-+ PK11_HasAttributeSet(slot, handle, CKA_NSS_MOZILLA_CA_POLICY,
-+ false)) {
-+ // Attribute was found, and is set to true
-+ result = true;
-+ break;
-+ }
- }
- }
- }
- return Success;
- }
-
- static Result
- BuildCertChainForOneKeyUsage(NSSCertDBTrustDomain& trustDomain, Input certDER,
diff --git a/firefox-52-build-prbool.patch b/firefox-52-build-prbool.patch
deleted file mode 100644
index f271631..0000000
--- a/firefox-52-build-prbool.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -up firefox-52.0/dom/u2f/U2F.cpp.prbool firefox-52.0/dom/u2f/U2F.cpp
---- firefox-52.0/dom/u2f/U2F.cpp.prbool 2017-03-03 13:42:22.613691228 +0100
-+++ firefox-52.0/dom/u2f/U2F.cpp 2017-03-03 13:48:20.864647727 +0100
-@@ -4,6 +4,7 @@
- * 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/. */
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/dom/CallbackFunction.h"
- #include "mozilla/dom/ContentChild.h"
-diff -up firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool firefox-52.0/security/certverifier/CTLogVerifier.cpp
---- firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
-+++ firefox-52.0/security/certverifier/CTLogVerifier.cpp 2017-03-03 13:42:22.613691228 +0100
-@@ -7,6 +7,7 @@
- #include "CTLogVerifier.h"
-
- #include "CTSerialization.h"
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/ArrayUtils.h"
- #include "mozilla/Assertions.h"
-diff -up firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool firefox-52.0/security/certverifier/CTObjectsExtractor.cpp
---- firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
-+++ firefox-52.0/security/certverifier/CTObjectsExtractor.cpp 2017-03-03 13:42:22.613691228 +0100
-@@ -6,6 +6,7 @@
-
- #include "CTObjectsExtractor.h"
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/Assertions.h"
- #include "mozilla/Casting.h"
-diff -up firefox-52.0/security/certverifier/OCSPCache.h.prbool firefox-52.0/security/certverifier/OCSPCache.h
---- firefox-52.0/security/certverifier/OCSPCache.h.prbool 2017-02-27 17:11:06.000000000 +0100
-+++ firefox-52.0/security/certverifier/OCSPCache.h 2017-03-03 13:42:22.613691228 +0100
-@@ -25,6 +25,7 @@
- #ifndef mozilla_psm_OCSPCache_h
- #define mozilla_psm_OCSPCache_h
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/Mutex.h"
- #include "mozilla/Vector.h"
diff --git a/firefox-52-mozilla-revert-1148544.patch b/firefox-52-mozilla-revert-1148544.patch
deleted file mode 100644
index fd02549..0000000
--- a/firefox-52-mozilla-revert-1148544.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-diff -Nrbu mozilla/netwerk/base/nsILoadGroup.idl mozilla-OK/netwerk/base/nsILoadGroup.idl
---- mozilla/netwerk/base/nsILoadGroup.idl 2017-10-16 10:19:26.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsILoadGroup.idl 2017-10-21 01:54:08.905610277 +0300
-@@ -95,10 +95,4 @@
- * the docShell has created the default request.)
- */
- attribute nsLoadFlags defaultLoadFlags;
--
-- /**
-- * The cached user agent override created by UserAgentOverrides.jsm. Used
-- * for all sub-resource requests in the loadgroup.
-- */
-- attribute ACString userAgentOverrideCache;
- };
-diff -Nrbu mozilla/netwerk/base/nsLoadGroup.cpp mozilla-OK/netwerk/base/nsLoadGroup.cpp
---- mozilla/netwerk/base/nsLoadGroup.cpp 2017-10-16 10:19:28.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsLoadGroup.cpp 2017-10-21 01:54:08.905610277 +0300
-@@ -809,20 +809,6 @@
- return NS_OK;
- }
-
--NS_IMETHODIMP
--nsLoadGroup::GetUserAgentOverrideCache(nsACString & aUserAgentOverrideCache)
--{
-- aUserAgentOverrideCache = mUserAgentOverrideCache;
-- return NS_OK;
--}
--
--NS_IMETHODIMP
--nsLoadGroup::SetUserAgentOverrideCache(const nsACString & aUserAgentOverrideCache)
--{
-- mUserAgentOverrideCache = aUserAgentOverrideCache;
-- return NS_OK;
--}
--
-
- ////////////////////////////////////////////////////////////////////////////////
-
-diff -Nrbu mozilla/netwerk/base/nsLoadGroup.h mozilla-OK/netwerk/base/nsLoadGroup.h
---- mozilla/netwerk/base/nsLoadGroup.h 2017-10-16 10:19:26.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsLoadGroup.h 2017-10-21 01:54:08.905610277 +0300
-@@ -95,8 +95,6 @@
-
- /* For nsPILoadGroupInternal */
- uint32_t mTimedNonCachedRequestsUntilOnEndPageLoad;
--
-- nsCString mUserAgentOverrideCache;
- };
-
- } // namespace net
-diff -Nrbu mozilla/netwerk/protocol/http/UserAgentOverrides.jsm mozilla-OK/netwerk/protocol/http/UserAgentOverrides.jsm
---- mozilla/netwerk/protocol/http/UserAgentOverrides.jsm 2017-10-16 10:19:32.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/UserAgentOverrides.jsm 2017-10-21 01:54:08.906610227 +0300
-@@ -46,9 +46,9 @@
- Services.prefs.addObserver(PREF_OVERRIDES_ENABLED, buildOverrides, false);
-
- try {
-- Services.obs.addObserver(HTTP_on_useragent_request, "http-on-useragent-request", false);
-+ Services.obs.addObserver(HTTP_on_modify_request, "http-on-modify-request", false);
- } catch (x) {
-- // The http-on-useragent-request notification is disallowed in content processes.
-+ // The http-on-modify-request notification is disallowed in content processes.
- }
-
- UserAgentUpdates.init(function(overrides) {
-@@ -118,7 +118,7 @@
-
- Services.prefs.removeObserver(PREF_OVERRIDES_ENABLED, buildOverrides);
-
-- Services.obs.removeObserver(HTTP_on_useragent_request, "http-on-useragent-request");
-+ Services.obs.removeObserver(HTTP_on_modify_request, "http-on-modify-request");
- },
-
- receiveMessage: function(aMessage) {
-@@ -169,7 +169,7 @@
- }
- }
-
--function HTTP_on_useragent_request(aSubject, aTopic, aData) {
-+function HTTP_on_modify_request(aSubject, aTopic, aData) {
- let channel = aSubject.QueryInterface(Ci.nsIHttpChannel);
-
- for (let callback of gOverrideFunctions) {
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpChannel.cpp mozilla-OK/netwerk/protocol/http/nsHttpChannel.cpp
---- mozilla/netwerk/protocol/http/nsHttpChannel.cpp 2017-10-16 10:19:27.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpChannel.cpp 2017-10-21 01:58:52.158525720 +0300
-@@ -6031,8 +6031,6 @@
- // notify "http-on-modify-request" observers
- CallOnModifyRequestObservers();
-
-- SetLoadGroupUserAgentOverride();
--
- // Check if request was cancelled during on-modify-request or on-useragent.
- if (mCanceled) {
- return mStatus;
-@@ -8369,50 +8367,6 @@
- }
-
- void
--nsHttpChannel::SetLoadGroupUserAgentOverride()
--{
-- nsCOMPtr<nsIURI> uri;
-- GetURI(getter_AddRefs(uri));
-- nsAutoCString uriScheme;
-- if (uri) {
-- uri->GetScheme(uriScheme);
-- }
--
-- // We don't need a UA for file: protocols.
-- if (uriScheme.EqualsLiteral("file")) {
-- gHttpHandler->OnUserAgentRequest(this);
-- return;
-- }
--
-- nsIRequestContextService* rcsvc = gHttpHandler->GetRequestContextService();
-- nsCOMPtr<nsIRequestContext> rc;
-- if (rcsvc) {
-- rcsvc->GetRequestContext(mRequestContextID,
-- getter_AddRefs(rc));
-- }
--
-- nsAutoCString ua;
-- if (nsContentUtils::IsNonSubresourceRequest(this)) {
-- gHttpHandler->OnUserAgentRequest(this);
-- if (rc) {
-- GetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua);
-- rc->SetUserAgentOverride(ua);
-- }
-- } else {
-- GetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua);
-- // Don't overwrite the UA if it is already set (eg by an XHR with explicit UA).
-- if (ua.IsEmpty()) {
-- if (rc) {
-- rc->GetUserAgentOverride(ua);
-- SetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua, false);
-- } else {
-- gHttpHandler->OnUserAgentRequest(this);
-- }
-- }
-- }
--}
--
--void
- nsHttpChannel::SetDoNotTrack()
- {
- /**
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpChannel.h mozilla-OK/netwerk/protocol/http/nsHttpChannel.h
---- mozilla/netwerk/protocol/http/nsHttpChannel.h 2017-10-16 10:19:32.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpChannel.h 2017-10-21 01:54:08.908610126 +0300
-@@ -459,8 +459,6 @@
-
- void MaybeWarnAboutAppCache();
-
-- void SetLoadGroupUserAgentOverride();
--
- void SetDoNotTrack();
-
- private:
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpHandler.h mozilla-OK/netwerk/protocol/http/nsHttpHandler.h
---- mozilla/netwerk/protocol/http/nsHttpHandler.h 2017-10-16 10:19:30.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpHandler.h 2017-10-21 01:54:08.908610126 +0300
-@@ -280,12 +280,6 @@
- NotifyObservers(chan, NS_HTTP_ON_MODIFY_REQUEST_TOPIC);
- }
-
-- // Called by the channel and cached in the loadGroup
-- void OnUserAgentRequest(nsIHttpChannel *chan)
-- {
-- NotifyObservers(chan, NS_HTTP_ON_USERAGENT_REQUEST_TOPIC);
-- }
--
- // Called by the channel once headers are available
- void OnExamineResponse(nsIHttpChannel *chan)
- {
-diff -Nrbu mozilla/netwerk/protocol/http/nsIHttpProtocolHandler.idl mozilla-OK/netwerk/protocol/http/nsIHttpProtocolHandler.idl
---- mozilla/netwerk/protocol/http/nsIHttpProtocolHandler.idl 2017-10-16 10:19:28.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsIHttpProtocolHandler.idl 2017-10-21 01:54:08.908610126 +0300
-@@ -113,14 +113,5 @@
- */
- #define NS_HTTP_ON_EXAMINE_CACHED_RESPONSE_TOPIC "http-on-examine-cached-response"
-
--/**
-- * Before an HTTP request corresponding to a channel with the LOAD_DOCUMENT_URI
-- * flag is sent to the server, this observer topic is notified. The observer of
-- * this topic can then choose to modify the user agent for this request before
-- * the request is actually sent to the server. Additionally, the modified user
-- * agent will be propagated to sub-resource requests from the same load group.
-- */
--#define NS_HTTP_ON_USERAGENT_REQUEST_TOPIC "http-on-useragent-request"
--
-
- %}
diff --git a/firefox-56-build-prbool.patch b/firefox-56-build-prbool.patch
new file mode 100644
index 0000000..05e7503
--- /dev/null
+++ b/firefox-56-build-prbool.patch
@@ -0,0 +1,44 @@
+diff -Nrbu firefox-56/dom/u2f/U2F.cpp firefox-56-OK/dom/u2f/U2F.cpp
+--- firefox-56/dom/u2f/U2F.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/dom/u2f/U2F.cpp 2020-01-02 23:10:06.690248726 +0300
+@@ -4,6 +4,7 @@
+ * 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/. */
+
++#include "prtypes.h"
+ #include "mozilla/dom/U2F.h"
+ #include "mozilla/dom/WebCryptoCommon.h"
+ #include "nsContentUtils.h"
+diff -Nrbu firefox-56/security/certverifier/CTLogVerifier.cpp firefox-56-OK/security/certverifier/CTLogVerifier.cpp
+--- firefox-56/security/certverifier/CTLogVerifier.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/CTLogVerifier.cpp 2020-01-02 23:08:51.035792314 +0300
+@@ -9,6 +9,7 @@
+ #include <stdint.h>
+
+ #include "CTSerialization.h"
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/ArrayUtils.h"
+ #include "mozilla/Assertions.h"
+diff -Nrbu firefox-56/security/certverifier/CTObjectsExtractor.cpp firefox-56-OK/security/certverifier/CTObjectsExtractor.cpp
+--- firefox-56/security/certverifier/CTObjectsExtractor.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/CTObjectsExtractor.cpp 2020-01-02 23:08:51.036792307 +0300
+@@ -6,6 +6,7 @@
+
+ #include "CTObjectsExtractor.h"
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Assertions.h"
+ #include "mozilla/Casting.h"
+diff -Nrbu firefox-56/security/certverifier/OCSPCache.h firefox-56-OK/security/certverifier/OCSPCache.h
+--- firefox-56/security/certverifier/OCSPCache.h 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/OCSPCache.h 2020-01-02 23:08:51.036792307 +0300
+@@ -25,6 +25,7 @@
+ #ifndef mozilla_psm_OCSPCache_h
+ #define mozilla_psm_OCSPCache_h
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Mutex.h"
+ #include "mozilla/Vector.h"
diff --git a/firefox-56-mozilla-440908.patch b/firefox-56-mozilla-440908.patch
new file mode 100644
index 0000000..9163193
--- /dev/null
+++ b/firefox-56-mozilla-440908.patch
@@ -0,0 +1,111 @@
+diff -up firefox-50.0/modules/libpref/prefapi.cpp.440908 firefox-50.0/modules/libpref/prefapi.cpp
+--- firefox-50.0/modules/libpref/prefapi.cpp.440908 2016-10-31 21:15:26.000000000 +0100
++++ firefox-50.0/modules/libpref/prefapi.cpp 2016-11-10 10:32:48.796115692 +0100
+@@ -997,8 +997,8 @@ void PREF_ReaderCallback(void *clo
+ PrefValue value,
+ PrefType type,
+ bool isDefault,
+- bool isStickyDefault)
+-
++ bool isStickyDefault,
++ bool isLocked)
+ {
+ uint32_t flags = 0;
+ if (isDefault) {
+@@ -1010,4 +1010,6 @@ void PREF_ReaderCallback(void *clo
+ flags |= kPrefForceSet;
+ }
+ pref_HashPref(pref, value, type, flags);
++ if (isLocked)
++ PREF_LockPref(pref, true);
+ }
+diff -up firefox-50.0/modules/libpref/prefapi.h.440908 firefox-50.0/modules/libpref/prefapi.h
+--- firefox-50.0/modules/libpref/prefapi.h.440908 2016-11-10 10:32:48.796115692 +0100
++++ firefox-50.0/modules/libpref/prefapi.h 2016-11-10 10:34:58.013159112 +0100
+@@ -243,8 +243,8 @@ void PREF_ReaderCallback( void *closure,
+ PrefValue value,
+ PrefType type,
+ bool isDefault,
+- bool isStickyDefault);
+-
++ bool isStickyDefault,
++ bool isLocked);
+
+ /*
+ * Callback whenever we change a preference
+diff -up firefox-50.0/modules/libpref/prefread.cpp.440908 firefox-50.0/modules/libpref/prefread.cpp
+--- firefox-50.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
++++ firefox-50.0/modules/libpref/prefread.cpp 2016-11-10 10:32:48.796115692 +0100
+@@ -43,6 +43,7 @@ enum {
+ #define BITS_PER_HEX_DIGIT 4
+
+ static const char kUserPref[] = "user_pref";
++static const char kLockPref[] = "lockPref";
+ static const char kPref[] = "pref";
+ static const char kPrefSticky[] = "sticky_pref";
+ static const char kTrue[] = "true";
+@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
+ break;
+ }
+ (*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
+- ps->fstickydefault);
++ ps->fstickydefault, ps->flock);
+ return true;
+ }
+
+@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
+ ps->vtype = PrefType::Invalid;
+ ps->fdefault = false;
+ ps->fstickydefault = false;
++ ps->flock = false;
+ }
+ switch (c) {
+ case '/': /* begin comment block or line? */
+@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
+ break;
+ case 'u': /* indicating user_pref */
+ case 's': /* indicating sticky_pref */
++ case 'l': /* indicating lockPref */
+ case 'p': /* indicating pref */
+ if (c == 'u') {
+ ps->smatch = kUserPref;
+ } else if (c == 's') {
+ ps->smatch = kPrefSticky;
++ } else if (c == 'l') {
++ ps->smatch = kLockPref;
+ } else {
+ ps->smatch = kPref;
+ }
+@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
+ /* name parsing */
+ case PREF_PARSE_UNTIL_NAME:
+ if (c == '\"' || c == '\'') {
+- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
++ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
++ || ps->smatch == kLockPref);
+ ps->fstickydefault = (ps->smatch == kPrefSticky);
++ ps->flock = (ps->smatch == kLockPref);
+ ps->quotechar = c;
+ ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
+ state = PREF_PARSE_QUOTED_STRING;
+diff -up firefox-50.0/modules/libpref/prefread.h.440908 firefox-50.0/modules/libpref/prefread.h
+--- firefox-50.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
++++ firefox-50.0/modules/libpref/prefread.h 2016-11-10 10:32:48.796115692 +0100
+@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
+ PrefValue val,
+ PrefType type,
+ bool defPref,
+- bool stickyPref);
++ bool stickyPref,
++ bool lockPref);
+
+ /**
+ * Report any errors or warnings we encounter during parsing.
+@@ -62,6 +63,7 @@ typedef struct PrefParseState {
+ PrefType vtype; /* PREF_STRING,INT,BOOL */
+ bool fdefault; /* true if (default) pref */
+ bool fstickydefault; /* true if (sticky) pref */
++ bool flock; /* true if pref to be locked */
+ } PrefParseState;
+
+ /**
diff --git a/firefox-56-no_rust_lto.patch b/firefox-56-no_rust_lto.patch
new file mode 100644
index 0000000..3f62ce7
--- /dev/null
+++ b/firefox-56-no_rust_lto.patch
@@ -0,0 +1,11 @@
+--- mozilla/config/rules.mk.orig 2020-01-04 22:02:35.559712770 +0300
++++ mozilla/config/rules.mk 2020-01-04 22:02:41.261673487 +0300
+@@ -878,7 +878,7 @@
+ ifndef DEVELOPER_OPTIONS
+ ifndef MOZ_DEBUG_RUST
+ # Enable link-time optimization for release builds.
+-cargo_rustc_flags += -C lto
++#cargo_rustc_flags += -C lto
+ endif
+ endif
+
diff --git a/firefox-60-mozilla-1436242.patch b/firefox-60-mozilla-1436242.patch
new file mode 100644
index 0000000..570b7c5
--- /dev/null
+++ b/firefox-60-mozilla-1436242.patch
@@ -0,0 +1,56 @@
+
+# HG changeset patch
+# User Jed Davis <jld(a)mozilla.com>
+# Date 1526943705 21600
+# Node ID 6bb3adfa15c6877f7874429462dad88f8c978c4f
+# Parent 4c71c8454879c841871ecf3afb7dbdc96bad97fc
+Bug 1436242 - Avoid undefined behavior in IPC fd-passing code. r=froydnj
+
+MozReview-Commit-ID: 3szIPUssgF5
+
+diff --git a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+--- a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
++++ b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+@@ -418,20 +418,37 @@ bool Channel::ChannelImpl::ProcessIncomi
+ const int* fds;
+ unsigned num_fds;
+ unsigned fds_i = 0; // the index of the first unused descriptor
+
+ if (input_overflow_fds_.empty()) {
+ fds = wire_fds;
+ num_fds = num_wire_fds;
+ } else {
+- const size_t prev_size = input_overflow_fds_.size();
+- input_overflow_fds_.resize(prev_size + num_wire_fds);
+- memcpy(&input_overflow_fds_[prev_size], wire_fds,
+- num_wire_fds * sizeof(int));
++ // This code may look like a no-op in the case where
++ // num_wire_fds == 0, but in fact:
++ //
++ // 1. wire_fds will be nullptr, so passing it to memcpy is
++ // undefined behavior according to the C standard, even though
++ // the memcpy length is 0.
++ //
++ // 2. prev_size will be an out-of-bounds index for
++ // input_overflow_fds_; this is undefined behavior according to
++ // the C++ standard, even though the element only has its
++ // pointer taken and isn't accessed (and the corresponding
++ // operation on a C array would be defined).
++ //
++ // UBSan makes #1 a fatal error, and assertions in libstdc++ do
++ // the same for #2 if enabled.
++ if (num_wire_fds > 0) {
++ const size_t prev_size = input_overflow_fds_.size();
++ input_overflow_fds_.resize(prev_size + num_wire_fds);
++ memcpy(&input_overflow_fds_[prev_size], wire_fds,
++ num_wire_fds * sizeof(int));
++ }
+ fds = &input_overflow_fds_[0];
+ num_fds = input_overflow_fds_.size();
+ }
+
+ // The data for the message we're currently reading consists of any data
+ // stored in incoming_message_ followed by data in input_buf_ (followed by
+ // other messages).
+
+
diff --git a/firefox-60-mozilla-1516803.patch b/firefox-60-mozilla-1516803.patch
new file mode 100644
index 0000000..3e88737
--- /dev/null
+++ b/firefox-60-mozilla-1516803.patch
@@ -0,0 +1,11 @@
+--- mozilla/security/sandbox/linux/moz.build.orig 2019-12-29 20:38:43.000000000 +0300
++++ mozilla/security/sandbox/linux/moz.build 2020-01-13 22:07:08.152645892 +0300
+@@ -97,7 +97,7 @@
+ # from the function using it which breaks the build. Work around that by
+ # forcing there to be only one partition.
+ if '-flto' in CONFIG['OS_CXXFLAGS'] and CONFIG['CC_TYPE'] != 'clang':
+- LDFLAGS += ['--param lto-partitions=1']
++ LDFLAGS += ['--param', 'lto-partitions=1']
+
+ DEFINES['NS_NO_XPCOM'] = True
+ DisableStlWrapping()
diff --git a/nss-3.28-mozilla-1334976-1336487.patch b/nss-3.28-mozilla-1334976-1336487.patch
deleted file mode 100644
index fcf23cd..0000000
--- a/nss-3.28-mozilla-1334976-1336487.patch
+++ /dev/null
@@ -1,3304 +0,0 @@
-diff --git a/cmd/addbuiltin/addbuiltin.c b/cmd/addbuiltin/addbuiltin.c
---- a/cmd/addbuiltin/addbuiltin.c
-+++ b/cmd/addbuiltin/addbuiltin.c
-@@ -26,16 +26,39 @@ dumpbytes(unsigned char *buf, int len)
- if ((i != 0) && ((i & 0xf) == 0)) {
- printf("\n");
- }
- printf("\\%03o", buf[i]);
- }
- printf("\n");
- }
-
-+int
-+hasPositiveTrust(unsigned int trust)
-+{
-+ if (trust & CERTDB_TRUSTED) {
-+ if (trust & CERTDB_TRUSTED_CA) {
-+ return PR_TRUE;
-+ } else {
-+ return PR_FALSE;
-+ }
-+ } else {
-+ if (trust & CERTDB_TRUSTED_CA) {
-+ return PR_TRUE;
-+ } else if (trust & CERTDB_VALID_CA) {
-+ return PR_TRUE;
-+ } else if (trust & CERTDB_TERMINAL_RECORD) {
-+ return PR_FALSE;
-+ } else {
-+ return PR_FALSE;
-+ }
-+ }
-+ return PR_FALSE;
-+}
-+
- char *
- getTrustString(unsigned int trust)
- {
- if (trust & CERTDB_TRUSTED) {
- if (trust & CERTDB_TRUSTED_CA) {
- return "CKT_NSS_TRUSTED_DELEGATOR";
- } else {
- return "CKT_NSS_TRUSTED";
-@@ -197,16 +220,21 @@ ConvertCertificate(SECItem *sdder, char
- dumpbytes(cert->derIssuer.data, cert->derIssuer.len);
- printf("END\n");
- printf("CKA_SERIAL_NUMBER MULTILINE_OCTAL\n");
- dumpbytes(serial->data, serial->len);
- printf("END\n");
- printf("CKA_VALUE MULTILINE_OCTAL\n");
- dumpbytes(sdder->data, sdder->len);
- printf("END\n");
-+ if (hasPositiveTrust(trust->sslFlags) ||
-+ hasPositiveTrust(trust->emailFlags) ||
-+ hasPositiveTrust(trust->objectSigningFlags)) {
-+ printf("CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE\n");
-+ }
- }
-
- if ((trust->sslFlags | trust->emailFlags | trust->objectSigningFlags) ==
- CERTDB_TERMINAL_RECORD)
- trust_info = "Distrust";
- else
- trust_info = "Trust for";
-
-diff --git a/cmd/lib/secutil.c b/cmd/lib/secutil.c
---- a/cmd/lib/secutil.c
-+++ b/cmd/lib/secutil.c
-@@ -27,17 +27,17 @@
- #include <unistd.h>
- #endif
-
- /* for SEC_TraverseNames */
- #include "cert.h"
- #include "certt.h"
- #include "certdb.h"
-
--/* #include "secmod.h" */
-+#include "secmod.h"
- #include "pk11func.h"
- #include "secoid.h"
-
- static char consoleName[] = {
- #ifdef XP_UNIX
- "/dev/tty"
- #else
- #ifdef XP_OS2
-@@ -3224,25 +3224,58 @@ SECU_PrintSignedContent(FILE *out, SECIt
- SECStatus
- SEC_PrintCertificateAndTrust(CERTCertificate *cert,
- const char *label,
- CERTCertTrust *trust)
- {
- SECStatus rv;
- SECItem data;
- CERTCertTrust certTrust;
-+ PK11SlotList *slotList;
-+ PRBool falseAttributeFound = PR_FALSE;
-+ PRBool trueAttributeFound = PR_FALSE;
-+ const char *moz_policy_ca_info = NULL;
-
- data.data = cert->derCert.data;
- data.len = cert->derCert.len;
-
- rv = SECU_PrintSignedData(stdout, &data, label, 0,
- (SECU_PPFunc)SECU_PrintCertificate);
- if (rv) {
- return (SECFailure);
- }
-+
-+ slotList = PK11_GetAllSlotsForCert(cert, NULL);
-+ if (slotList) {
-+ PK11SlotListElement *se = PK11_GetFirstSafe(slotList);
-+ for (; se; se = PK11_GetNextSafe(slotList, se, PR_FALSE)) {
-+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(se->slot, cert, NULL);
-+ if (handle != CK_INVALID_HANDLE) {
-+ PORT_SetError(0);
-+ if (PK11_HasAttributeSet(se->slot, handle,
-+ CKA_NSS_MOZILLA_CA_POLICY, PR_FALSE)) {
-+ trueAttributeFound = PR_TRUE;
-+ } else if (!PORT_GetError()) {
-+ falseAttributeFound = PR_TRUE;
-+ }
-+ }
-+ }
-+ PK11_FreeSlotList(slotList);
-+ }
-+
-+ if (trueAttributeFound) {
-+ moz_policy_ca_info = "true (attribute present)";
-+ } else if (falseAttributeFound) {
-+ moz_policy_ca_info = "false (attribute present)";
-+ } else {
-+ moz_policy_ca_info = "false (attribute missing)";
-+ }
-+ SECU_Indent(stdout, 1);
-+ printf("Mozilla-CA-Policy: %s\n", moz_policy_ca_info);
-+
- if (trust) {
- SECU_PrintTrustFlags(stdout, trust,
- "Certificate Trust Flags", 1);
- } else if (CERT_GetCertTrust(cert, &certTrust) == SECSuccess) {
- SECU_PrintTrustFlags(stdout, &certTrust,
- "Certificate Trust Flags", 1);
- }
-
-diff --git a/lib/ckfw/builtins/certdata.txt b/lib/ckfw/builtins/certdata.txt
---- a/lib/ckfw/builtins/certdata.txt
-+++ b/lib/ckfw/builtins/certdata.txt
-@@ -186,16 +186,17 @@ CKA_VALUE MULTILINE_OCTAL
- \034\161\142\356\312\310\227\254\027\135\212\302\370\107\206\156
- \052\304\126\061\225\320\147\211\205\053\371\154\246\135\106\235
- \014\252\202\344\231\121\335\160\267\333\126\075\141\344\152\341
- \134\326\366\376\075\336\101\314\007\256\143\122\277\123\123\364
- \053\351\307\375\266\367\202\137\205\322\101\030\333\201\263\004
- \034\305\037\244\200\157\025\040\311\336\014\210\012\035\326\146
- \125\342\374\110\311\051\046\151\340
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA"
- # Issuer: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
- # Serial Number:04:00:00:00:00:01:15:4b:5a:c3:94
- # Subject: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
- # Not Valid Before: Tue Sep 01 12:00:00 1998
- # Not Valid After : Fri Jan 28 12:00:00 2028
- # Fingerprint (MD5): 3E:45:52:15:09:51:92:E1:B7:5D:37:9F:B1:87:29:8A
-@@ -319,16 +320,17 @@ CKA_VALUE MULTILINE_OCTAL
- \176\273\363\171\030\221\273\364\157\235\301\360\214\065\214\135
- \001\373\303\155\271\357\104\155\171\106\061\176\012\376\251\202
- \301\377\357\253\156\040\304\120\311\137\235\115\233\027\214\014
- \345\001\311\240\101\152\163\123\372\245\120\264\156\045\017\373
- \114\030\364\375\122\331\216\151\261\350\021\017\336\210\330\373
- \035\111\367\252\336\225\317\040\170\302\140\022\333\045\100\214
- \152\374\176\102\070\100\144\022\367\236\201\341\223\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA - R2"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
- # Serial Number:04:00:00:00:00:01:0f:86:26:e6:0d
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
- # Not Valid Before: Fri Dec 15 08:00:00 2006
- # Not Valid After : Wed Dec 15 08:00:00 2021
- # Fingerprint (MD5): 94:14:77:7E:3E:5E:FD:8F:30:BD:41:B0:CF:E7:D0:30
-@@ -474,16 +476,17 @@ CKA_VALUE MULTILINE_OCTAL
- \114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354
- \245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216
- \274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042
- \171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170
- \023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043
- \363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243
- \113\336\006\226\161\054\362\333\266\037\244\357\077\356
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:00:8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4
- # Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73
-@@ -638,16 +641,17 @@ CKA_VALUE MULTILINE_OCTAL
- \301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110
- \260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153
- \106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045
- \342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317
- \162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263
- \377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125
- \311\130\020\371\252\357\132\266\317\113\113\337\052
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a
- # Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6
-@@ -802,16 +806,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151
- \027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246
- \124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156
- \352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255
- \117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126
- \200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255
- \153\271\012\172\116\117\113\204\356\113\361\175\335\021
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:00:9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09
-@@ -1076,16 +1081,17 @@ CKA_VALUE MULTILINE_OCTAL
- \273\377\043\357\150\031\313\022\223\047\134\003\055\157\060\320
- \036\266\032\254\336\132\367\321\252\250\047\246\376\171\201\304
- \171\231\063\127\272\022\260\251\340\102\154\223\312\126\336\376
- \155\204\013\010\213\176\215\352\327\230\041\306\363\347\074\171
- \057\136\234\321\114\025\215\341\354\042\067\314\232\103\013\227
- \334\200\220\215\263\147\233\157\110\010\025\126\317\277\361\053
- \174\136\232\166\351\131\220\305\174\203\065\021\145\121
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust.net Premium 2048 Secure Server CA"
- # Issuer: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
- # Serial Number: 946069240 (0x3863def8)
- # Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
- # Not Valid Before: Fri Dec 24 17:50:51 1999
- # Not Valid After : Tue Jul 24 14:15:12 2029
- # Fingerprint (MD5): EE:29:31:BC:32:7E:9A:E6:E8:B5:F7:51:B4:34:71:90
-@@ -1213,16 +1219,17 @@ CKA_VALUE MULTILINE_OCTAL
- \056\310\244\236\116\010\024\113\155\375\160\155\153\032\143\275
- \144\346\037\267\316\360\362\237\056\273\033\267\362\120\210\163
- \222\302\342\343\026\215\232\062\002\253\216\030\335\351\020\021
- \356\176\065\253\220\257\076\060\224\172\320\063\075\247\145\017
- \365\374\216\236\142\317\107\104\054\001\135\273\035\265\062\322
- \107\322\070\056\320\376\201\334\062\152\036\265\356\074\325\374
- \347\201\035\031\303\044\102\352\143\071\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Baltimore CyberTrust Root"
- # Issuer: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
- # Serial Number: 33554617 (0x20000b9)
- # Subject: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
- # Not Valid Before: Fri May 12 18:46:00 2000
- # Not Valid After : Mon May 12 23:59:00 2025
- # Fingerprint (MD5): AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4
-@@ -1356,16 +1363,17 @@ CKA_VALUE MULTILINE_OCTAL
- \213\375\273\034\126\066\362\376\262\266\345\166\273\325\042\145
- \247\077\376\321\146\255\013\274\153\231\206\357\077\175\363\030
- \062\312\173\306\343\253\144\106\225\370\046\151\331\125\203\173
- \054\226\007\377\131\054\104\243\306\345\351\251\334\241\143\200
- \132\041\136\041\317\123\124\360\272\157\211\333\250\252\225\317
- \213\343\161\314\036\033\040\104\010\300\172\266\100\375\304\344
- \065\341\035\026\034\320\274\053\216\326\161\331
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Low-Value Services Root"
- # Issuer: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:38:31 2000
- # Not Valid After : Sat May 30 10:38:31 2020
- # Fingerprint (MD5): 1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC
-@@ -1504,16 +1512,17 @@ CKA_VALUE MULTILINE_OCTAL
- \335\217\212\303\366\366\214\032\102\005\121\324\105\365\237\247
- \142\041\150\025\040\103\074\231\347\174\275\044\330\251\221\027
- \163\210\077\126\033\061\070\030\264\161\017\232\315\310\016\236
- \216\056\033\341\214\230\203\313\037\061\361\104\114\306\004\163
- \111\166\140\017\307\370\275\027\200\153\056\351\314\114\016\132
- \232\171\017\040\012\056\325\236\143\046\036\125\222\224\330\202
- \027\132\173\320\274\307\217\116\206\004
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust External Root"
- # Issuer: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:48:38 2000
- # Not Valid After : Sat May 30 10:48:38 2020
- # Fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F
-@@ -1649,16 +1658,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\032\214\307\355\234\116\232\340\022\273\265\152\114\204\341
- \341\042\015\207\000\144\376\214\175\142\071\145\246\357\102\266
- \200\045\022\141\001\250\044\023\160\000\021\046\137\372\065\120
- \305\110\314\006\107\350\047\330\160\215\137\144\346\241\104\046
- \136\042\354\222\315\377\102\232\104\041\155\134\305\343\042\035
- \137\107\022\347\316\137\135\372\330\252\261\063\055\331\166\362
- \116\072\063\014\053\263\055\220\006
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Public Services Root"
- # Issuer: CN=AddTrust Public CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Public CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:41:50 2000
- # Not Valid After : Sat May 30 10:41:50 2020
- # Fingerprint (MD5): C1:62:3E:23:C5:82:73:9C:03:59:4B:2B:E9:77:49:7F
-@@ -1794,16 +1804,17 @@ CKA_VALUE MULTILINE_OCTAL
- \077\240\261\007\326\351\117\334\336\105\161\060\062\177\033\056
- \011\371\277\122\241\356\302\200\076\006\134\056\125\100\301\033
- \365\160\105\260\334\135\372\366\162\132\167\322\143\315\317\130
- \211\000\102\143\077\171\071\320\104\260\202\156\101\031\350\335
- \340\301\210\132\321\036\161\223\037\044\060\164\345\036\250\336
- \074\047\067\177\203\256\236\167\317\360\060\261\377\113\231\350
- \306\241
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Qualified Certificates Root"
- # Issuer: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:44:50 2000
- # Not Valid After : Sat May 30 10:44:50 2020
- # Fingerprint (MD5): 27:EC:39:47:CD:DA:5A:AF:E2:9A:01:65:21:A9:4C:BB
-@@ -1956,16 +1967,17 @@ CKA_VALUE MULTILINE_OCTAL
- \175\352\261\355\060\045\301\204\332\064\322\133\170\203\126\354
- \234\066\303\046\342\021\366\147\111\035\222\253\214\373\353\377
- \172\356\205\112\247\120\200\360\247\134\112\224\056\137\005\231
- \074\122\101\340\315\264\143\317\001\103\272\234\203\334\217\140
- \073\363\132\264\264\173\256\332\013\220\070\165\357\201\035\146
- \322\367\127\160\066\263\277\374\050\257\161\045\205\133\023\376
- \036\177\132\264\074
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Entrust Root Certification Authority"
- # Issuer: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
- # Serial Number: 1164660820 (0x456b5054)
- # Subject: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
- # Not Valid Before: Mon Nov 27 20:23:42 2006
- # Not Valid After : Fri Nov 27 20:53:42 2026
- # Fingerprint (MD5): D6:A5:C3:ED:5D:DD:3E:00:C1:3D:87:92:1F:1D:3F:E4
-@@ -2089,16 +2101,17 @@ CKA_VALUE MULTILINE_OCTAL
- \270\234\344\035\266\253\346\224\245\301\307\203\255\333\365\047
- \207\016\004\154\325\377\335\240\135\355\207\122\267\053\025\002
- \256\071\246\152\164\351\332\304\347\274\115\064\036\251\134\115
- \063\137\222\011\057\210\146\135\167\227\307\035\166\023\251\325
- \345\361\026\011\021\065\325\254\333\044\161\160\054\230\126\013
- \331\027\264\321\343\121\053\136\165\350\325\320\334\117\064\355
- \302\005\146\200\241\313\346\063
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Global CA"
- # Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
- # Serial Number: 144470 (0x23456)
- # Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
- # Not Valid Before: Tue May 21 04:00:00 2002
- # Not Valid After : Sat May 21 04:00:00 2022
- # Fingerprint (MD5): F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5
-@@ -2216,16 +2229,17 @@ CKA_VALUE MULTILINE_OCTAL
- \151\266\362\377\341\032\320\014\321\166\205\313\212\045\275\227
- \136\054\157\025\231\046\347\266\051\377\042\354\311\002\307\126
- \000\315\111\271\263\154\173\123\004\032\342\250\311\252\022\005
- \043\302\316\347\273\004\002\314\300\107\242\344\304\051\057\133
- \105\127\211\121\356\074\353\122\010\377\007\065\036\237\065\152
- \107\112\126\230\321\132\205\037\214\365\042\277\253\316\203\363
- \342\042\051\256\175\203\100\250\272\154
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Global CA 2"
- # Issuer: CN=GeoTrust Global CA 2,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Global CA 2,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Mon Mar 04 05:00:00 2019
- # Fingerprint (MD5): 0E:40:A7:6C:DE:03:5D:8F:D1:0F:E4:D1:8D:F9:6C:A9
-@@ -2375,16 +2389,17 @@ CKA_VALUE MULTILINE_OCTAL
- \121\173\327\251\234\006\241\066\335\325\211\224\274\331\344\055
- \014\136\011\154\010\227\174\243\075\174\223\377\077\241\024\247
- \317\265\135\353\333\333\034\304\166\337\210\271\275\105\005\225
- \033\256\374\106\152\114\257\110\343\316\256\017\322\176\353\346
- \154\234\117\201\152\172\144\254\273\076\325\347\313\166\056\305
- \247\110\301\134\220\017\313\310\077\372\346\062\341\215\033\157
- \244\346\216\330\371\051\110\212\316\163\376\054
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Universal CA"
- # Issuer: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Sun Mar 04 05:00:00 2029
- # Fingerprint (MD5): 92:65:58:8B:A2:1A:31:72:73:68:5C:B4:A5:7A:07:48
-@@ -2534,16 +2549,17 @@ CKA_VALUE MULTILINE_OCTAL
- \227\124\167\332\075\022\267\340\036\357\010\006\254\371\205\207
- \351\242\334\257\176\030\022\203\375\126\027\101\056\325\051\202
- \175\231\364\061\366\161\251\317\054\001\047\245\005\271\252\262
- \110\116\052\357\237\223\122\121\225\074\122\163\216\126\114\027
- \100\300\011\050\344\213\152\110\123\333\354\315\125\125\361\306
- \370\351\242\054\114\246\321\046\137\176\257\132\114\332\037\246
- \362\034\054\176\256\002\026\322\126\320\057\127\123\107\350\222
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Universal CA 2"
- # Issuer: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Sun Mar 04 05:00:00 2029
- # Fingerprint (MD5): 34:FC:B8:D0:36:DB:9E:14:B3:C2:F2:DB:8F:E4:94:C7
-@@ -2670,16 +2686,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\074\154\151\227\333\256\137\071\232\160\057\005\074\031\106
- \004\231\040\066\320\140\156\141\006\273\026\102\214\160\367\060
- \373\340\333\146\243\000\001\275\346\054\332\221\137\240\106\213
- \115\152\234\075\075\335\005\106\376\166\277\240\012\074\344\000
- \346\047\267\377\204\055\336\272\042\047\226\020\161\353\042\355
- \337\337\063\234\317\343\255\256\216\324\216\346\117\121\257\026
- \222\340\134\366\007\017
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Visa eCommerce Root"
- # Issuer: CN=Visa eCommerce Root,OU=Visa International Service Association,O=VISA,C=US
- # Serial Number:13:86:35:4d:1d:3f:06:f2:c1:f9:65:05:d5:90:1c:62
- # Subject: CN=Visa eCommerce Root,OU=Visa International Service Association,O=VISA,C=US
- # Not Valid Before: Wed Jun 26 02:18:36 2002
- # Not Valid After : Fri Jun 24 00:16:12 2022
- # Fingerprint (MD5): FC:11:B8:D8:08:93:30:00:6D:23:F9:7E:EB:52:1E:02
-@@ -2792,16 +2809,17 @@ CKA_VALUE MULTILINE_OCTAL
- \012\072\223\023\233\073\024\043\023\143\234\077\321\207\047\171
- \345\114\121\343\001\255\205\135\032\073\261\325\163\020\244\323
- \362\274\156\144\365\132\126\220\250\307\016\114\164\017\056\161
- \073\367\310\107\364\151\157\025\362\021\136\203\036\234\174\122
- \256\375\002\332\022\250\131\147\030\333\274\160\335\233\261\151
- \355\200\316\211\100\110\152\016\065\312\051\146\025\041\224\054
- \350\140\052\233\205\112\100\363\153\212\044\354\006\026\054\163
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certum Root CA"
- # Issuer: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL
- # Serial Number: 65568 (0x10020)
- # Subject: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL
- # Not Valid Before: Tue Jun 11 10:46:39 2002
- # Not Valid After : Fri Jun 11 10:46:39 2027
- # Fingerprint (MD5): 2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9
-@@ -2937,16 +2955,17 @@ CKA_VALUE MULTILINE_OCTAL
- \154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
- \372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
- \227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
- \156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
- \343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
- \262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
- \225\351\066\226\230\156
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo AAA Services root"
- # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): 49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0
-@@ -3087,16 +3106,17 @@ CKA_VALUE MULTILINE_OCTAL
- \223\367\252\023\313\322\023\342\267\056\073\315\153\120\027\011
- \150\076\265\046\127\356\266\340\266\335\271\051\200\171\175\217
- \243\360\244\050\244\025\304\205\364\047\324\153\277\345\134\344
- \145\002\166\124\264\343\067\146\044\323\031\141\310\122\020\345
- \213\067\232\271\251\371\035\277\352\231\222\141\226\377\001\315
- \241\137\015\274\161\274\016\254\013\035\107\105\035\301\354\174
- \354\375\051
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo Secure Services root"
- # Issuer: CN=Secure Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=Secure Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): D3:D9:BD:AE:9F:AC:67:24:B3:C8:1B:52:E1:B9:A9:BD
-@@ -3239,16 +3259,17 @@ CKA_VALUE MULTILINE_OCTAL
- \201\170\057\050\300\176\323\314\102\012\365\256\120\240\321\076
- \306\241\161\354\077\240\040\214\146\072\211\264\216\324\330\261
- \115\045\107\356\057\210\310\265\341\005\105\300\276\024\161\336
- \172\375\216\173\175\115\010\226\245\022\163\360\055\312\067\047
- \164\022\047\114\313\266\227\351\331\256\010\155\132\071\100\335
- \005\107\165\152\132\041\263\243\030\317\116\367\056\127\267\230
- \160\136\310\304\170\260\142
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo Trusted Services root"
- # Issuer: CN=Trusted Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=Trusted Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): 91:1B:3F:6E:CD:9E:AB:EE:07:FE:1F:71:D2:B3:61:27
-@@ -3417,16 +3438,17 @@ CKA_VALUE MULTILINE_OCTAL
- \231\003\072\212\314\124\045\071\061\201\173\023\042\121\272\106
- \154\241\273\236\372\004\154\111\046\164\217\322\163\353\314\060
- \242\346\352\131\042\207\370\227\365\016\375\352\314\222\244\026
- \304\122\030\352\041\316\261\361\346\204\201\345\272\251\206\050
- \362\103\132\135\022\235\254\036\331\250\345\012\152\247\177\240
- \207\051\317\362\211\115\324\354\305\342\346\172\320\066\043\212
- \112\164\066\371
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA"
- # Issuer: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM
- # Serial Number: 985026699 (0x3ab6508b)
- # Subject: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM
- # Not Valid Before: Mon Mar 19 18:33:33 2001
- # Not Valid After : Wed Mar 17 18:33:33 2021
- # Fingerprint (MD5): 27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24
-@@ -3585,16 +3607,17 @@ CKA_VALUE MULTILINE_OCTAL
- \226\136\234\307\357\047\142\010\342\221\031\134\322\361\041\335
- \272\027\102\202\227\161\201\123\061\251\237\366\175\142\277\162
- \341\243\223\035\314\212\046\132\011\070\320\316\327\015\200\026
- \264\170\245\072\207\114\215\212\245\325\106\227\362\054\020\271
- \274\124\042\300\001\120\151\103\236\364\262\357\155\370\354\332
- \361\343\261\357\337\221\217\124\052\013\045\301\046\031\304\122
- \020\005\145\325\202\020\352\302\061\315\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA 2"
- # Issuer: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
- # Serial Number: 1289 (0x509)
- # Subject: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
- # Not Valid Before: Fri Nov 24 18:27:00 2006
- # Not Valid After : Mon Nov 24 18:23:33 2031
- # Fingerprint (MD5): 5E:39:7B:DD:F8:BA:EC:82:E9:AC:62:BA:0C:54:00:2B
-@@ -3764,16 +3787,17 @@ CKA_VALUE MULTILINE_OCTAL
- \340\164\053\262\353\175\276\101\033\265\300\106\305\241\042\313
- \137\116\301\050\222\336\030\272\325\052\050\273\021\213\027\223
- \230\231\140\224\134\043\317\132\047\227\136\013\005\006\223\067
- \036\073\151\066\353\251\236\141\035\217\062\332\216\014\326\164
- \076\173\011\044\332\001\167\107\304\073\315\064\214\231\365\312
- \341\045\141\063\262\131\033\342\156\327\067\127\266\015\251\022
- \332
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA 3"
- # Issuer: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM
- # Serial Number: 1478 (0x5c6)
- # Subject: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Fri Nov 24 19:11:23 2006
- # Not Valid After : Mon Nov 24 19:06:44 2031
- # Fingerprint (MD5): 31:85:3C:62:94:97:63:B9:AA:FD:89:4E:AF:6F:E0:CF
-@@ -3892,16 +3916,17 @@ CKA_VALUE MULTILINE_OCTAL
- \161\245\062\252\057\306\211\166\103\100\023\023\147\075\242\124
- \045\020\313\361\072\362\331\372\333\111\126\273\246\376\247\101
- \065\303\340\210\141\311\210\307\337\066\020\042\230\131\352\260
- \112\373\126\026\163\156\254\115\367\042\241\117\255\035\172\055
- \105\047\345\060\301\136\362\332\023\313\045\102\121\225\107\003
- \214\154\041\314\164\102\355\123\377\063\213\217\017\127\001\026
- \057\317\246\356\311\160\042\024\275\375\276\154\013\003
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication Root CA"
- # Issuer: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP
- # Not Valid Before: Tue Sep 30 04:20:49 2003
- # Not Valid After : Sat Sep 30 04:20:49 2023
- # Fingerprint (MD5): F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A
-@@ -4014,16 +4039,17 @@ CKA_VALUE MULTILINE_OCTAL
- \066\276\246\133\015\152\154\232\037\221\173\371\371\357\102\272
- \116\116\236\314\014\215\224\334\331\105\234\136\354\102\120\143
- \256\364\135\304\261\022\334\312\073\250\056\235\024\132\005\165
- \267\354\327\143\342\272\065\266\004\010\221\350\332\235\234\366
- \146\265\030\254\012\246\124\046\064\063\322\033\301\324\177\032
- \072\216\013\252\062\156\333\374\117\045\237\331\062\307\226\132
- \160\254\337\114
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Sonera Class 2 Root CA"
- # Issuer: CN=Sonera Class2 CA,O=Sonera,C=FI
- # Serial Number: 29 (0x1d)
- # Subject: CN=Sonera Class2 CA,O=Sonera,C=FI
- # Not Valid Before: Fri Apr 06 07:29:40 2001
- # Not Valid After : Tue Apr 06 07:29:40 2021
- # Fingerprint (MD5): A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB
-@@ -4175,16 +4201,17 @@ CKA_VALUE MULTILINE_OCTAL
- \211\272\061\035\305\020\150\122\236\337\242\205\305\134\010\246
- \170\346\123\117\261\350\267\323\024\236\223\246\303\144\343\254
- \176\161\315\274\237\351\003\033\314\373\351\254\061\301\257\174
- \025\164\002\231\303\262\107\246\302\062\141\327\307\157\110\044
- \121\047\241\325\207\125\362\173\217\230\075\026\236\356\165\266
- \370\320\216\362\363\306\256\050\133\247\360\363\066\027\374\303
- \005\323\312\003\112\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Email Root CA"
- # Issuer: CN=UTN-USERFirst-Client Authentication and Email,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:25:25:67:c9:89
- # Subject: CN=UTN-USERFirst-Client Authentication and Email,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 17:28:50 1999
- # Not Valid After : Tue Jul 09 17:36:58 2019
- # Fingerprint (MD5): D7:34:3D:EF:1D:27:09:28:E1:31:02:5B:13:2B:DD:F7
-@@ -4338,16 +4365,17 @@ CKA_VALUE MULTILINE_OCTAL
- \370\323\157\133\036\226\343\340\164\167\164\173\212\242\156\055
- \335\166\326\071\060\202\360\253\234\122\362\052\307\257\111\136
- \176\307\150\345\202\201\310\152\047\371\047\210\052\325\130\120
- \225\037\360\073\034\127\273\175\024\071\142\053\232\311\224\222
- \052\243\042\014\377\211\046\175\137\043\053\107\327\025\035\251
- \152\236\121\015\052\121\236\201\371\324\073\136\160\022\177\020
- \062\234\036\273\235\370\146\250
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Hardware Root CA"
- # Issuer: CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:2a:fe:65:0a:fd
- # Subject: CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 18:10:42 1999
- # Not Valid After : Tue Jul 09 18:19:22 2019
- # Fingerprint (MD5): 4C:56:41:E5:0D:BB:2B:E8:CA:A3:ED:18:08:AD:43:39
-@@ -4498,16 +4526,17 @@ CKA_VALUE MULTILINE_OCTAL
- \261\104\252\152\317\027\172\317\157\017\324\370\044\125\137\360
- \064\026\111\146\076\120\106\311\143\161\070\061\142\270\142\271
- \363\123\255\154\265\053\242\022\252\031\117\011\332\136\347\223
- \306\216\024\010\376\360\060\200\030\240\206\205\115\310\175\327
- \213\003\376\156\325\367\235\026\254\222\054\240\043\345\234\221
- \122\037\224\337\027\224\163\303\263\301\301\161\005\040\000\170
- \275\023\122\035\250\076\315\000\037\310
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Object Root CA"
- # Issuer: CN=UTN-USERFirst-Object,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:2d:e0:b3:5f:1b
- # Subject: CN=UTN-USERFirst-Object,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 18:31:20 1999
- # Not Valid After : Tue Jul 09 18:40:36 2019
- # Fingerprint (MD5): A7:F2:E4:16:06:41:11:50:30:6B:9C:E3:B4:9C:B0:C9
-@@ -4661,16 +4690,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\351\007\106\101\316\357\101\201\256\130\337\203\242\256\312
- \327\167\037\347\000\074\235\157\216\344\062\011\035\115\170\064
- \170\064\074\224\233\046\355\117\161\306\031\172\275\040\042\110
- \132\376\113\175\003\267\347\130\276\306\062\116\164\036\150\335
- \250\150\133\263\076\356\142\175\331\200\350\012\165\172\267\356
- \264\145\232\041\220\340\252\320\230\274\070\265\163\074\213\370
- \334
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Camerfirma Chambers of Commerce Root"
- # Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Serial Number: 0 (0x0)
- # Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Not Valid Before: Tue Sep 30 16:13:43 2003
- # Not Valid After : Wed Sep 30 16:13:44 2037
- # Fingerprint (MD5): B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84
-@@ -4820,16 +4850,17 @@ CKA_VALUE MULTILINE_OCTAL
- \222\025\323\137\076\306\000\111\072\156\130\262\321\321\047\015
- \045\310\062\370\040\021\315\175\062\063\110\224\124\114\335\334
- \171\304\060\237\353\216\270\125\265\327\210\134\305\152\044\075
- \262\323\005\003\121\306\007\357\314\024\162\164\075\156\162\316
- \030\050\214\112\240\167\345\011\053\105\104\107\254\267\147\177
- \001\212\005\132\223\276\241\301\377\370\347\016\147\244\107\111
- \166\135\165\220\032\365\046\217\360
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Camerfirma Global Chambersign Root"
- # Issuer: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Serial Number: 0 (0x0)
- # Subject: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Not Valid Before: Tue Sep 30 16:14:18 2003
- # Not Valid After : Wed Sep 30 16:14:18 2037
- # Fingerprint (MD5): C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19
-@@ -4972,16 +5003,17 @@ CKA_VALUE MULTILINE_OCTAL
- \212\144\101\061\270\016\154\220\044\244\233\134\161\217\272\273
- \176\034\033\333\152\200\017\041\274\351\333\246\267\100\364\262
- \213\251\261\344\357\232\032\320\075\151\231\356\250\050\243\341
- \074\263\360\262\021\234\317\174\100\346\335\347\103\175\242\330
- \072\265\251\215\362\064\231\304\324\020\341\006\375\011\204\020
- \073\356\304\114\364\354\047\174\102\302\164\174\202\212\011\311
- \264\003\045\274
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "XRamp Global CA Root"
- # Issuer: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
- # Serial Number:50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad
- # Subject: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
- # Not Valid Before: Mon Nov 01 17:14:04 2004
- # Not Valid After : Mon Jan 01 05:37:19 2035
- # Fingerprint (MD5): A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1
-@@ -5118,16 +5150,17 @@ CKA_VALUE MULTILINE_OCTAL
- \216\222\204\162\071\353\040\352\203\355\203\315\227\156\010\274
- \353\116\046\266\163\053\344\323\366\114\376\046\161\342\141\021
- \164\112\377\127\032\207\017\165\110\056\317\121\151\027\240\002
- \022\141\225\325\321\100\262\020\114\356\304\254\020\103\246\245
- \236\012\325\225\142\232\015\317\210\202\305\062\014\344\053\237
- \105\346\015\237\050\234\261\271\052\132\127\255\067\017\257\035
- \177\333\275\237
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Go Daddy Class 2 CA"
- # Issuer: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US
- # Serial Number: 0 (0x0)
- # Subject: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US
- # Not Valid Before: Tue Jun 29 17:06:20 2004
- # Not Valid After : Thu Jun 29 17:06:20 2034
- # Fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67
-@@ -5262,16 +5295,17 @@ CKA_VALUE MULTILINE_OCTAL
- \055\225\276\365\161\220\103\314\215\037\232\000\012\207\051\351
- \125\042\130\000\043\352\343\022\103\051\133\107\010\335\214\101
- \152\145\006\250\345\041\252\101\264\225\041\225\271\175\321\064
- \253\023\326\255\274\334\342\075\071\315\275\076\165\160\241\030
- \131\003\311\042\264\217\234\325\136\052\327\245\266\324\012\155
- \370\267\100\021\106\232\037\171\016\142\277\017\227\354\340\057
- \037\027\224
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Class 2 CA"
- # Issuer: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US
- # Serial Number: 0 (0x0)
- # Subject: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US
- # Not Valid Before: Tue Jun 29 17:39:16 2004
- # Not Valid After : Thu Jun 29 17:39:16 2034
- # Fingerprint (MD5): 32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24
-@@ -5467,16 +5501,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\340\167\055\341\145\231\162\151\004\032\107\011\346\017\001
- \126\044\373\037\277\016\171\251\130\056\271\304\011\001\176\225
- \272\155\000\006\076\262\352\112\020\071\330\320\053\365\277\354
- \165\277\227\002\305\011\033\010\334\125\067\342\201\373\067\204
- \103\142\040\312\347\126\113\145\352\376\154\301\044\223\044\241
- \064\353\005\377\232\042\256\233\175\077\361\145\121\012\246\060
- \152\263\364\210\034\200\015\374\162\212\350\203\136
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "StartCom Certification Authority"
- # Issuer: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Serial Number: 1 (0x1)
- # Subject: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Not Valid Before: Sun Sep 17 19:46:36 2006
- # Not Valid After : Wed Sep 17 19:46:36 2036
- # Fingerprint (MD5): 22:4D:8F:8A:FC:F7:35:C2:BB:57:34:90:7B:8B:22:16
-@@ -5631,16 +5666,17 @@ CKA_VALUE MULTILINE_OCTAL
- \262\304\060\231\043\116\135\362\110\241\022\014\334\022\220\011
- \220\124\221\003\074\107\345\325\311\145\340\267\113\175\354\107
- \323\263\013\076\255\236\320\164\000\016\353\275\121\255\300\336
- \054\300\303\152\376\357\334\013\247\372\106\337\140\333\234\246
- \131\120\165\043\151\163\223\262\371\374\002\323\107\346\161\316
- \020\002\356\047\214\204\377\254\105\015\023\134\203\062\340\045
- \245\206\054\174\364\022
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Taiwan GRCA"
- # Issuer: O=Government Root Certification Authority,C=TW
- # Serial Number:1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6
- # Subject: O=Government Root Certification Authority,C=TW
- # Not Valid Before: Thu Dec 05 13:23:33 2002
- # Not Valid After : Sun Dec 05 13:23:33 2032
- # Fingerprint (MD5): 37:85:44:53:32:45:1F:20:F0:F3:95:E1:25:C4:43:4E
-@@ -5803,16 +5839,17 @@ CKA_VALUE MULTILINE_OCTAL
- \204\126\141\276\161\027\376\035\023\017\376\306\207\105\351\376
- \062\240\032\015\023\244\224\125\161\245\026\213\272\312\211\260
- \262\307\374\217\330\124\265\223\142\235\316\317\131\373\075\030
- \316\052\313\065\025\202\135\377\124\042\133\161\122\373\267\311
- \376\140\233\000\101\144\360\252\052\354\266\102\103\316\211\146
- \201\310\213\237\071\124\003\045\323\026\065\216\204\320\137\372
- \060\032\365\232\154\364\016\123\371\072\133\321\034
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Swisscom Root CA 1"
- # Issuer: CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:5c:0b:85:5c:0b:e7:59:41:df:57:cc:3f:7f:9d:a8:36
- # Subject: CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Thu Aug 18 12:06:20 2005
- # Not Valid After : Mon Aug 18 22:06:20 2025
- # Fingerprint (MD5): F8:38:7C:77:88:DF:2C:16:68:2E:C2:E2:52:4B:B8:F9
-@@ -5943,16 +5980,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\267\372\214\036\335\142\361\276\120\147\267\154\275\363\361
- \037\153\014\066\007\026\177\067\174\251\133\155\172\361\022\106
- \140\203\327\047\004\276\113\316\227\276\303\147\052\150\021\337
- \200\347\014\063\146\277\023\015\024\156\363\177\037\143\020\036
- \372\215\033\045\155\154\217\245\267\141\001\261\322\243\046\241
- \020\161\235\255\342\303\371\303\231\121\267\053\007\010\316\056
- \346\120\262\247\372\012\105\057\242\360\362
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert Assured ID Root CA"
- # Issuer: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39
- # Subject: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): 87:CE:0B:7B:2A:0E:49:00:E1:58:71:9B:37:A8:93:72
-@@ -6083,16 +6121,17 @@ CKA_VALUE MULTILINE_OCTAL
- \076\052\271\066\123\317\072\120\006\367\056\350\304\127\111\154
- \141\041\030\325\004\255\170\074\054\072\200\153\247\353\257\025
- \024\351\330\211\301\271\070\154\342\221\154\212\377\144\271\167
- \045\127\060\300\033\044\243\341\334\351\337\107\174\265\264\044
- \010\005\060\354\055\275\013\277\105\277\120\271\251\363\353\230
- \001\022\255\310\210\306\230\064\137\215\012\074\306\351\325\225
- \225\155\336
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert Global Root CA"
- # Issuer: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a
- # Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): 79:E4:A9:84:0D:7D:3A:96:D7:C0:4F:E2:43:4C:89:2E
-@@ -6224,16 +6263,17 @@ CKA_VALUE MULTILINE_OCTAL
- \143\070\275\104\244\177\344\046\053\012\304\227\151\015\351\214
- \342\300\020\127\270\310\166\022\221\125\362\110\151\330\274\052
- \002\133\017\104\324\040\061\333\364\272\160\046\135\220\140\236
- \274\113\027\011\057\264\313\036\103\150\311\007\047\301\322\134
- \367\352\041\271\150\022\234\074\234\277\236\374\200\134\233\143
- \315\354\107\252\045\047\147\240\067\363\000\202\175\124\327\251
- \370\351\056\023\243\167\350\037\112
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert High Assurance EV Root CA"
- # Issuer: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77
- # Subject: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): D4:74:DE:57:5C:39:B2:D3:9C:85:83:C5:C0:65:49:8A
-@@ -6356,16 +6396,17 @@ CKA_VALUE MULTILINE_OCTAL
- \311\273\211\176\156\200\210\036\057\024\264\003\044\250\062\157
- \003\232\107\054\060\276\126\306\247\102\002\160\033\352\100\330
- \272\005\003\160\007\244\226\377\375\110\063\012\341\334\245\201
- \220\233\115\335\175\347\347\262\315\134\310\152\225\370\245\366
- \215\304\135\170\010\276\173\006\326\111\317\031\066\120\043\056
- \010\346\236\005\115\107\030\325\026\351\261\326\266\020\325\273
- \227\277\242\216\264\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certplus Class 2 Primary CA"
- # Issuer: CN=Class 2 Primary CA,O=Certplus,C=FR
- # Serial Number:00:85:bd:4b:f3:d8:da:e3:69:f6:94:d7:5f:c3:a5:44:23
- # Subject: CN=Class 2 Primary CA,O=Certplus,C=FR
- # Not Valid Before: Wed Jul 07 17:05:00 1999
- # Not Valid After : Sat Jul 06 23:59:59 2019
- # Fingerprint (MD5): 88:2C:8C:52:B8:A2:3C:F3:F7:BB:03:EA:AE:AC:42:0B
-@@ -6482,16 +6523,17 @@ CKA_VALUE MULTILINE_OCTAL
- \162\062\207\306\360\104\273\123\162\155\103\365\046\110\232\122
- \147\267\130\253\376\147\166\161\170\333\015\242\126\024\023\071
- \044\061\205\242\250\002\132\060\107\341\335\120\007\274\002\011
- \220\000\353\144\143\140\233\026\274\210\311\022\346\322\175\221
- \213\371\075\062\215\145\264\351\174\261\127\166\352\305\266\050
- \071\277\025\145\034\310\366\167\226\152\012\215\167\013\330\221
- \013\004\216\007\333\051\266\012\356\235\202\065\065\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DST Root CA X3"
- # Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co.
- # Serial Number:44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b
- # Subject: CN=DST Root CA X3,O=Digital Signature Trust Co.
- # Not Valid Before: Sat Sep 30 21:12:19 2000
- # Not Valid After : Thu Sep 30 14:01:15 2021
- # Fingerprint (MD5): 41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5
-@@ -6623,16 +6665,17 @@ CKA_VALUE MULTILINE_OCTAL
- \343\062\213\372\340\301\206\115\162\074\056\330\223\170\012\052
- \370\330\322\047\075\031\211\137\132\173\212\073\314\014\332\121
- \256\307\013\367\053\260\067\005\354\274\127\043\342\070\322\233
- \150\363\126\022\210\117\102\174\270\061\304\265\333\344\310\041
- \064\351\110\021\065\356\372\307\222\127\305\237\064\344\307\366
- \367\016\013\114\234\150\170\173\161\061\307\353\036\340\147\101
- \363\267\240\247\315\345\172\063\066\152\372\232\053
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DST ACES CA X6"
- # Issuer: CN=DST ACES CA X6,OU=DST ACES,O=Digital Signature Trust,C=US
- # Serial Number:0d:5e:99:0a:d6:9d:b7:78:ec:d8:07:56:3b:86:15:d9
- # Subject: CN=DST ACES CA X6,OU=DST ACES,O=Digital Signature Trust,C=US
- # Not Valid Before: Thu Nov 20 21:19:58 2003
- # Not Valid After : Mon Nov 20 21:19:58 2017
- # Fingerprint (MD5): 21:D8:4C:82:2B:99:09:33:A2:EB:14:24:8D:8E:5F:E8
-@@ -6790,16 +6833,17 @@ CKA_VALUE MULTILINE_OCTAL
- \137\373\140\130\321\373\304\301\155\211\242\273\040\037\235\161
- \221\313\062\233\023\075\076\175\222\122\065\254\222\224\242\323
- \030\302\174\307\352\257\166\005\026\335\147\047\302\176\034\007
- \042\041\363\100\012\033\064\007\104\023\302\204\152\216\337\031
- \132\277\177\353\035\342\032\070\321\134\257\107\222\153\200\265
- \060\245\311\215\330\253\061\201\037\337\302\146\067\323\223\251
- \205\206\171\145\322
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Platinum CA - G2"
- # Issuer: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH
- # Serial Number:4e:b2:00:67:0c:03:5d:4f
- # Subject: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:36:00 2006
- # Not Valid After : Sat Oct 25 08:36:00 2036
- # Fingerprint (MD5): C9:98:27:77:28:1E:3D:0E:15:3C:84:00:B8:85:03:E6
-@@ -6954,16 +6998,17 @@ CKA_VALUE MULTILINE_OCTAL
- \001\320\277\150\236\143\140\153\065\115\013\155\272\241\075\300
- \223\340\177\043\263\125\255\162\045\116\106\371\322\026\357\260
- \144\301\001\236\351\312\240\152\230\016\317\330\140\362\057\111
- \270\344\102\341\070\065\026\364\310\156\117\367\201\126\350\272
- \243\276\043\257\256\375\157\003\340\002\073\060\166\372\033\155
- \101\317\001\261\351\270\311\146\364\333\046\363\072\244\164\362
- \111\044\133\311\260\320\127\301\372\076\172\341\227\311
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Gold CA - G2"
- # Issuer: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
- # Serial Number:00:bb:40:1c:43:f5:5e:4f:b0
- # Subject: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:30:35 2006
- # Not Valid After : Sat Oct 25 08:30:35 2036
- # Fingerprint (MD5): 24:77:D9:A8:91:D1:3B:FA:88:2D:C2:FF:F8:CD:33:93
-@@ -7119,16 +7164,17 @@ CKA_VALUE MULTILINE_OCTAL
- \212\060\372\215\345\232\153\025\001\116\147\252\332\142\126\076
- \204\010\146\322\304\066\175\247\076\020\374\210\340\324\200\345
- \000\275\252\363\116\006\243\172\152\371\142\162\343\011\117\353
- \233\016\001\043\361\237\273\174\334\334\154\021\227\045\262\362
- \264\143\024\322\006\052\147\214\203\365\316\352\007\330\232\152
- \036\354\344\012\273\052\114\353\011\140\071\316\312\142\330\056
- \156
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Silver CA - G2"
- # Issuer: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH
- # Serial Number:4f:1b:d4:2f:54:bb:2f:4b
- # Subject: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:32:46 2006
- # Not Valid After : Sat Oct 25 08:32:46 2036
- # Fingerprint (MD5): E0:06:A1:C9:7D:CF:C9:FC:0D:C0:56:75:96:D8:62:13
-@@ -7250,16 +7296,17 @@ CKA_VALUE MULTILINE_OCTAL
- \254\257\031\240\163\022\055\374\302\101\272\201\221\332\026\132
- \061\267\371\264\161\200\022\110\231\162\163\132\131\123\301\143
- \122\063\355\247\311\322\071\002\160\372\340\261\102\146\051\252
- \233\121\355\060\124\042\024\137\331\253\035\301\344\224\360\370
- \365\053\367\352\312\170\106\326\270\221\375\246\015\053\032\024
- \001\076\200\360\102\240\225\007\136\155\315\314\113\244\105\215
- \253\022\350\263\336\132\345\240\174\350\017\042\035\132\351\131
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority"
- # Issuer: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US
- # Serial Number:18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1
- # Subject: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US
- # Not Valid Before: Mon Nov 27 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): 02:26:C3:01:5E:08:30:37:43:A9:D0:7D:CF:37:E6:BF
-@@ -7404,16 +7451,17 @@ CKA_VALUE MULTILINE_OCTAL
- \376\254\100\171\345\254\020\157\075\217\033\171\166\213\304\067
- \263\041\030\204\345\066\000\353\143\040\231\271\351\376\063\004
- \273\101\310\301\002\371\104\143\040\236\201\316\102\323\326\077
- \054\166\323\143\234\131\335\217\246\341\016\240\056\101\367\056
- \225\107\317\274\375\063\363\366\013\141\176\176\221\053\201\107
- \302\047\060\356\247\020\135\067\217\134\071\053\344\004\360\173
- \215\126\214\150
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA"
- # Issuer: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Serial Number:34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d
- # Subject: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Not Valid Before: Fri Nov 17 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): 8C:CA:DC:0B:22:CE:F5:BE:72:AC:41:1A:11:A8:D8:12
-@@ -7578,16 +7626,17 @@ CKA_VALUE MULTILINE_OCTAL
- \336\375\250\202\052\155\050\037\015\013\304\345\347\032\046\031
- \341\364\021\157\020\265\225\374\347\102\005\062\333\316\235\121
- \136\050\266\236\205\323\133\357\245\175\105\100\162\216\267\016
- \153\016\006\373\063\065\110\161\270\235\047\213\304\145\137\015
- \206\166\234\104\172\366\225\134\366\135\062\010\063\244\124\266
- \030\077\150\134\362\102\112\205\070\124\203\137\321\350\054\362
- \254\021\326\250\355\143\152
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G5"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Wed Nov 08 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): CB:17:E4:31:67:3E:E2:09:FE:45:57:93:F3:0A:FA:1C
-@@ -7720,16 +7769,17 @@ CKA_VALUE MULTILINE_OCTAL
- \144\122\066\137\140\147\331\234\305\005\164\013\347\147\043\322
- \010\374\210\351\256\213\177\341\060\364\067\176\375\306\062\332
- \055\236\104\060\060\154\356\007\336\322\064\374\322\377\100\366
- \113\364\146\106\006\124\246\362\062\012\143\046\060\153\233\321
- \334\213\107\272\341\271\325\142\320\242\240\364\147\005\170\051
- \143\032\157\004\326\370\306\114\243\232\261\067\264\215\345\050
- \113\035\236\054\302\270\150\274\355\002\356\061
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SecureTrust CA"
- # Issuer: CN=SecureTrust CA,O=SecureTrust Corporation,C=US
- # Serial Number:0c:f0:8e:5c:08:16:a5:ad:42:7f:f0:eb:27:18:59:d0
- # Subject: CN=SecureTrust CA,O=SecureTrust Corporation,C=US
- # Not Valid Before: Tue Nov 07 19:31:18 2006
- # Not Valid After : Mon Dec 31 19:40:55 2029
- # Fingerprint (MD5): DC:32:C3:A7:6D:25:57:C7:68:09:9D:EA:2D:A9:A2:D1
-@@ -7854,16 +7904,17 @@ CKA_VALUE MULTILINE_OCTAL
- \103\265\113\055\024\237\371\334\046\015\277\246\107\164\006\330
- \210\321\072\051\060\204\316\322\071\200\142\033\250\307\127\111
- \274\152\125\121\147\025\112\276\065\007\344\325\165\230\067\171
- \060\024\333\051\235\154\305\151\314\107\125\242\060\367\314\134
- \177\302\303\230\034\153\116\026\200\353\172\170\145\105\242\000
- \032\257\014\015\125\144\064\110\270\222\271\361\264\120\051\362
- \117\043\037\332\154\254\037\104\341\335\043\170\121\133\307\026
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Secure Global CA"
- # Issuer: CN=Secure Global CA,O=SecureTrust Corporation,C=US
- # Serial Number:07:56:22:a4:e8:d4:8a:89:4d:f4:13:c8:f0:f8:ea:a5
- # Subject: CN=Secure Global CA,O=SecureTrust Corporation,C=US
- # Not Valid Before: Tue Nov 07 19:42:28 2006
- # Not Valid After : Mon Dec 31 19:52:06 2029
- # Fingerprint (MD5): CF:F4:27:0D:D4:ED:DC:65:16:49:6D:3D:DA:BF:6E:DE
-@@ -8003,16 +8054,17 @@ CKA_VALUE MULTILINE_OCTAL
- \314\225\122\223\360\160\045\131\234\040\147\304\356\371\213\127
- \141\364\222\166\175\077\204\215\125\267\350\345\254\325\361\365
- \031\126\246\132\373\220\034\257\223\353\345\034\324\147\227\135
- \004\016\276\013\203\246\027\203\271\060\022\240\305\063\025\005
- \271\015\373\307\005\166\343\330\112\215\374\064\027\243\306\041
- \050\276\060\105\061\036\307\170\276\130\141\070\254\073\342\001
- \145
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "COMODO Certification Authority"
- # Issuer: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:4e:81:2d:8a:82:65:e0:0b:02:ee:3e:35:02:46:e5:3d
- # Subject: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Fri Dec 01 00:00:00 2006
- # Not Valid After : Mon Dec 31 23:59:59 2029
- # Fingerprint (MD5): 5C:48:DC:F7:42:72:EC:56:94:6D:1C:CC:71:35:80:75
-@@ -8148,16 +8200,17 @@ CKA_VALUE MULTILINE_OCTAL
- \056\044\137\313\130\017\353\050\354\257\021\226\363\334\173\157
- \300\247\210\362\123\167\263\140\136\256\256\050\332\065\054\157
- \064\105\323\046\341\336\354\133\117\047\153\026\174\275\104\004
- \030\202\263\211\171\027\020\161\075\172\242\026\116\365\001\315
- \244\154\145\150\241\111\166\134\103\311\330\274\066\147\154\245
- \224\265\324\314\271\275\152\065\126\041\336\330\303\353\373\313
- \244\140\114\260\125\240\240\173\127\262
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Network Solutions Certificate Authority"
- # Issuer: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
- # Serial Number:57:cb:33:6f:c2:5c:16:e6:47:16:17:e3:90:31:68:e0
- # Subject: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
- # Not Valid Before: Fri Dec 01 00:00:00 2006
- # Not Valid After : Mon Dec 31 23:59:59 2029
- # Fingerprint (MD5): D3:F3:A6:16:C0:FA:6B:1D:59:B1:2D:96:4D:0E:11:2E
-@@ -8308,16 +8361,17 @@ CKA_VALUE MULTILINE_OCTAL
- \332\245\223\127\216\076\155\065\046\010\131\325\347\104\327\166
- \040\143\347\254\023\147\303\155\261\160\106\174\325\226\021\075
- \211\157\135\250\241\353\215\012\332\303\035\063\154\243\352\147
- \031\232\231\177\113\075\203\121\052\035\312\057\206\014\242\176
- \020\055\053\324\026\225\013\007\252\056\024\222\111\267\051\157
- \330\155\061\175\365\374\241\020\007\207\316\057\131\334\076\130
- \333
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "WellsSecure Public Root Certificate Authority"
- # Issuer: CN=WellsSecure Public Root Certificate Authority,OU=Wells Fargo Bank NA,O=Wells Fargo WellsSecure,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=WellsSecure Public Root Certificate Authority,OU=Wells Fargo Bank NA,O=Wells Fargo WellsSecure,C=US
- # Not Valid Before: Thu Dec 13 17:07:54 2007
- # Not Valid After : Wed Dec 14 00:07:54 2022
- # Fingerprint (MD5): 15:AC:A5:C2:92:2D:79:BC:E8:7F:CB:67:ED:02:CF:36
-@@ -8434,16 +8488,17 @@ CKA_VALUE MULTILINE_OCTAL
- \004\003\003\003\150\000\060\145\002\061\000\357\003\133\172\254
- \267\170\012\162\267\210\337\377\265\106\024\011\012\372\240\346
- \175\010\306\032\207\275\030\250\163\275\046\312\140\014\235\316
- \231\237\317\134\017\060\341\276\024\061\352\002\060\024\364\223
- \074\111\247\063\172\220\106\107\263\143\175\023\233\116\267\157
- \030\067\200\123\376\335\040\340\065\232\066\321\307\001\271\346
- \334\335\363\377\035\054\072\026\127\331\222\071\326
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "COMODO ECC Certification Authority"
- # Issuer: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:1f:47:af:aa:62:00:70:50:54:4c:01:9e:9b:63:99:2a
- # Subject: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Mar 06 00:00:00 2008
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 7C:62:FF:74:9D:31:53:5E:68:4A:D5:78:AA:1E:BF:23
-@@ -8741,16 +8796,17 @@ CKA_VALUE MULTILINE_OCTAL
- \250\215\376\206\076\007\026\222\341\173\347\035\354\063\166\176
- \102\056\112\205\371\221\211\150\204\003\201\245\233\232\276\343
- \067\305\124\253\126\073\030\055\101\244\014\370\102\333\231\240
- \340\162\157\273\135\341\026\117\123\012\144\371\116\364\277\116
- \124\275\170\154\210\352\277\234\023\044\302\160\151\242\177\017
- \310\074\255\010\311\260\230\100\243\052\347\210\203\355\167\217
- \164
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication EV RootCA1"
- # Issuer: OU=Security Communication EV RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication EV RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Not Valid Before: Wed Jun 06 02:12:32 2007
- # Not Valid After : Sat Jun 06 02:12:32 2037
- # Fingerprint (MD5): 22:2D:A6:01:EA:7C:0A:F7:F0:6C:56:43:3F:77:76:D3
-@@ -8888,16 +8944,17 @@ CKA_VALUE MULTILINE_OCTAL
- \204\325\120\003\266\342\204\243\246\066\252\021\072\001\341\030
- \113\326\104\150\263\075\371\123\164\204\263\106\221\106\226\000
- \267\200\054\266\341\343\020\342\333\242\347\050\217\001\226\142
- \026\076\000\343\034\245\066\201\030\242\114\122\166\300\021\243
- \156\346\035\272\343\132\276\066\123\305\076\165\217\206\151\051
- \130\123\265\234\273\157\237\134\305\030\354\335\057\341\230\311
- \374\276\337\012\015
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "OISTE WISeKey Global Root GA CA"
- # Issuer: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH
- # Serial Number:41:3d:72:c7:f4:6b:1f:81:43:7d:f1:d2:28:54:df:9a
- # Subject: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH
- # Not Valid Before: Sun Dec 11 16:03:44 2005
- # Not Valid After : Fri Dec 11 16:09:51 2037
- # Fingerprint (MD5): BC:6C:51:33:A7:E9:D3:66:63:54:15:72:1B:21:92:93
-@@ -9095,16 +9152,17 @@ CKA_VALUE MULTILINE_OCTAL
- \254\106\155\114\364\062\207\264\040\004\340\154\170\260\167\321
- \205\106\113\246\022\267\165\350\112\311\126\154\327\222\253\235
- \365\111\070\322\117\123\343\125\220\021\333\230\226\306\111\362
- \076\364\237\033\340\367\210\334\045\142\231\104\330\163\277\077
- \060\363\014\067\076\324\302\050\200\163\261\001\267\235\132\226
- \024\001\113\251\021\235\051\152\056\320\135\201\300\317\262\040
- \103\307\003\340\067\116\135\012\334\131\040\045
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Microsec e-Szigno Root CA"
- # Issuer: CN=Microsec e-Szigno Root CA,OU=e-Szigno CA,O=Microsec Ltd.,L=Budapest,C=HU
- # Serial Number:00:cc:b8:e7:bf:4e:29:1a:fd:a2:dc:66:a5:1c:2c:0f:11
- # Subject: CN=Microsec e-Szigno Root CA,OU=e-Szigno CA,O=Microsec Ltd.,L=Budapest,C=HU
- # Not Valid Before: Wed Apr 06 12:28:44 2005
- # Not Valid After : Thu Apr 06 12:28:44 2017
- # Fingerprint (MD5): F0:96:B6:2F:C5:10:D5:67:8E:83:25:32:E8:5E:2E:E5
-@@ -9228,16 +9286,17 @@ CKA_VALUE MULTILINE_OCTAL
- \013\221\003\165\054\154\162\265\141\225\232\015\213\271\015\347
- \365\337\124\315\336\346\330\326\011\010\227\143\345\301\056\260
- \267\104\046\300\046\300\257\125\060\236\073\325\066\052\031\004
- \364\134\036\377\317\054\267\377\320\375\207\100\021\325\021\043
- \273\110\300\041\251\244\050\055\375\025\370\260\116\053\364\060
- \133\041\374\021\221\064\276\101\357\173\235\227\165\377\227\225
- \300\226\130\057\352\273\106\327\273\344\331\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certigna"
- # Issuer: CN=Certigna,O=Dhimyotis,C=FR
- # Serial Number:00:fe:dc:e3:01:0f:c9:48:ff
- # Subject: CN=Certigna,O=Dhimyotis,C=FR
- # Not Valid Before: Fri Jun 29 15:13:05 2007
- # Not Valid After : Tue Jun 29 15:13:05 2027
- # Fingerprint (MD5): AB:57:A6:5B:7D:42:82:19:B5:D8:58:26:28:5E:FD:FF
-@@ -9409,16 +9468,17 @@ CKA_VALUE MULTILINE_OCTAL
- \104\276\141\106\241\204\075\010\047\114\201\040\167\211\010\352
- \147\100\136\154\010\121\137\064\132\214\226\150\315\327\367\211
- \302\034\323\062\000\257\122\313\323\140\133\052\072\107\176\153
- \060\063\241\142\051\177\112\271\341\055\347\024\043\016\016\030
- \107\341\171\374\025\125\320\261\374\045\161\143\165\063\034\043
- \053\257\134\331\355\107\167\140\016\073\017\036\322\300\334\144
- \005\211\374\170\326\134\054\046\103\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AC Raiz Certicamara S.A."
- # Issuer: CN=AC Ra..z Certic..mara S.A.,O=Sociedad Cameral de Certificaci..n Digital - Certic..mara S.A.,C=CO
- # Serial Number:07:7e:52:93:7b:e0:15:e3:57:f0:69:8c:cb:ec:0c
- # Subject: CN=AC Ra..z Certic..mara S.A.,O=Sociedad Cameral de Certificaci..n Digital - Certic..mara S.A.,C=CO
- # Not Valid Before: Mon Nov 27 20:46:29 2006
- # Not Valid After : Tue Apr 02 21:42:02 2030
- # Fingerprint (MD5): 93:2A:3E:F6:FD:23:69:0D:71:20:D4:2B:47:99:2B:A6
-@@ -9566,16 +9626,17 @@ CKA_VALUE MULTILINE_OCTAL
- \334\071\361\305\162\243\021\003\375\073\102\122\051\333\350\001
- \367\233\136\214\326\215\206\116\031\372\274\034\276\305\041\245
- \207\236\170\056\066\333\011\161\243\162\064\370\154\343\006\011
- \362\136\126\245\323\335\230\372\324\346\006\364\360\266\040\143
- \113\352\051\275\252\202\146\036\373\201\252\247\067\255\023\030
- \346\222\303\201\301\063\273\210\036\241\347\342\264\275\061\154
- \016\121\075\157\373\226\126\200\342\066\027\321\334\344
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TC TrustCenter Class 3 CA II"
- # Issuer: CN=TC TrustCenter Class 3 CA II,OU=TC TrustCenter Class 3 CA,O=TC TrustCenter GmbH,C=DE
- # Serial Number:4a:47:00:01:00:02:e5:a0:5d:d6:3f:00:51:bf
- # Subject: CN=TC TrustCenter Class 3 CA II,OU=TC TrustCenter Class 3 CA,O=TC TrustCenter GmbH,C=DE
- # Not Valid Before: Thu Jan 12 14:41:57 2006
- # Not Valid After : Wed Dec 31 22:59:59 2025
- # Fingerprint (MD5): 56:5F:AA:80:61:12:17:F6:67:21:E6:2B:6D:61:56:8E
-@@ -9706,16 +9767,17 @@ CKA_VALUE MULTILINE_OCTAL
- \332\347\212\067\041\276\131\143\340\362\205\210\061\123\324\124
- \024\205\160\171\364\056\006\167\047\165\057\037\270\212\371\376
- \305\272\330\066\344\203\354\347\145\267\277\143\132\363\106\257
- \201\224\067\324\101\214\326\043\326\036\317\365\150\033\104\143
- \242\132\272\247\065\131\241\345\160\005\233\016\043\127\231\224
- \012\155\272\071\143\050\206\222\363\030\204\330\373\321\317\005
- \126\144\127
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Deutsche Telekom Root CA 2"
- # Issuer: CN=Deutsche Telekom Root CA 2,OU=T-TeleSec Trust Center,O=Deutsche Telekom AG,C=DE
- # Serial Number: 38 (0x26)
- # Subject: CN=Deutsche Telekom Root CA 2,OU=T-TeleSec Trust Center,O=Deutsche Telekom AG,C=DE
- # Not Valid Before: Fri Jul 09 12:11:00 1999
- # Not Valid After : Tue Jul 09 23:59:00 2019
- # Fingerprint (MD5): 74:01:4A:91:B1:08:C4:58:CE:47:CD:F0:DD:11:53:08
-@@ -9838,16 +9900,17 @@ CKA_VALUE MULTILINE_OCTAL
- \205\272\115\355\050\062\353\371\141\112\344\304\066\036\031\334
- \157\204\021\037\225\365\203\050\030\250\063\222\103\047\335\135
- \023\004\105\117\207\325\106\315\075\250\272\360\363\270\126\044
- \105\353\067\307\341\166\117\162\071\030\337\176\164\162\307\163
- \055\071\352\140\346\255\021\242\126\207\173\303\150\232\376\370
- \214\160\250\337\145\062\364\244\100\214\241\302\104\003\016\224
- \000\147\240\161\000\202\110
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ComSign CA"
- # Issuer: C=IL,O=ComSign,CN=ComSign CA
- # Serial Number:14:13:96:83:14:55:8c:ea:7b:63:e5:fc:34:87:77:44
- # Subject: C=IL,O=ComSign,CN=ComSign CA
- # Not Valid Before: Wed Mar 24 11:32:18 2004
- # Not Valid After : Mon Mar 19 15:02:18 2029
- # Fingerprint (MD5): CD:F4:39:F3:B5:18:50:D7:3E:A4:C5:91:A0:3E:21:4B
-@@ -9968,16 +10031,17 @@ CKA_VALUE MULTILINE_OCTAL
- \275\224\000\231\277\021\245\334\340\171\305\026\013\175\002\141
- \035\352\205\371\002\025\117\347\132\211\116\024\157\343\067\113
- \205\365\301\074\141\340\375\005\101\262\222\177\303\035\240\320
- \256\122\144\140\153\030\306\046\234\330\365\144\344\066\032\142
- \237\212\017\076\377\155\116\031\126\116\040\221\154\237\064\063
- \072\064\127\120\072\157\201\136\006\306\365\076\174\116\216\053
- \316\145\006\056\135\322\052\123\164\136\323\156\047\236\217
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ComSign Secured CA"
- # Issuer: C=IL,O=ComSign,CN=ComSign Secured CA
- # Serial Number:00:c7:28:47:09:b3:b8:6c:45:8c:1d:fa:24:f5:36:4e:e9
- # Subject: C=IL,O=ComSign,CN=ComSign Secured CA
- # Not Valid Before: Wed Mar 24 11:37:20 2004
- # Not Valid After : Fri Mar 16 15:04:56 2029
- # Fingerprint (MD5): 40:01:25:06:8D:21:43:6A:0E:43:00:9C:E7:43:F3:D5
-@@ -10097,16 +10161,17 @@ CKA_VALUE MULTILINE_OCTAL
- \017\124\335\203\273\237\321\217\247\123\163\303\313\377\060\354
- \174\004\270\330\104\037\223\137\161\011\042\267\156\076\352\034
- \003\116\235\032\040\141\373\201\067\354\136\374\012\105\253\327
- \347\027\125\320\240\352\140\233\246\366\343\214\133\051\302\006
- \140\024\235\055\227\114\251\223\025\235\141\304\001\137\110\326
- \130\275\126\061\022\116\021\310\041\340\263\021\221\145\333\264
- \246\210\070\316\125
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Cybertrust Global Root"
- # Issuer: CN=Cybertrust Global Root,O="Cybertrust, Inc"
- # Serial Number:04:00:00:00:00:01:0f:85:aa:2d:48
- # Subject: CN=Cybertrust Global Root,O="Cybertrust, Inc"
- # Not Valid Before: Fri Dec 15 08:00:00 2006
- # Not Valid After : Wed Dec 15 08:00:00 2021
- # Fingerprint (MD5): 72:E4:4A:87:E3:69:40:80:77:EA:BC:E3:F4:FF:F0:E1
-@@ -10263,16 +10328,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\343\061\325\307\354\350\362\260\376\222\036\026\012\032\374
- \331\363\370\047\266\311\276\035\264\154\144\220\177\364\344\304
- \133\327\067\256\102\016\335\244\032\157\174\210\124\305\026\156
- \341\172\150\056\370\072\277\015\244\074\211\073\170\247\116\143
- \203\004\041\010\147\215\362\202\111\320\133\375\261\315\017\203
- \204\324\076\040\205\367\112\075\053\234\375\052\012\011\115\352
- \201\370\021\234
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ePKI Root Certification Authority"
- # Issuer: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW
- # Serial Number:15:c8:bd:65:47:5c:af:b8:97:00:5e:e4:06:d2:bc:9d
- # Subject: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW
- # Not Valid Before: Mon Dec 20 02:31:27 2004
- # Not Valid After : Wed Dec 20 02:31:27 2034
- # Fingerprint (MD5): 1B:2E:00:CA:26:06:90:3D:AD:FE:6F:15:68:D3:6B:B3
-@@ -10447,16 +10513,17 @@ CKA_VALUE MULTILINE_OCTAL
- \200\262\136\014\112\023\236\040\330\142\100\253\220\352\144\112
- \057\254\015\001\022\171\105\250\057\207\031\150\310\342\205\307
- \060\262\165\371\070\077\262\300\223\264\153\342\003\104\316\147
- \240\337\211\326\255\214\166\243\023\303\224\141\053\153\331\154
- \301\007\012\042\007\205\154\205\044\106\251\276\077\213\170\204
- \202\176\044\014\235\375\201\067\343\045\250\355\066\116\225\054
- \311\234\220\332\354\251\102\074\255\266\002
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TUBITAK UEKAE Kok Sertifika Hizmet Saglayicisi - Surum 3"
- # Issuer: CN=T..B..TAK UEKAE K..k Sertifika Hizmet Sa..lay..c..s.. - S..r..m ...,OU=Kamu Sertifikasyon Merkezi,OU=Ulusal Elektronik ve Kriptoloji Ara..t..rma Enstit..s.. - UEKAE,O=T..rkiye Bilimsel ve Teknolojik Ara..t..rma Kurumu - T..B..TAK,L=Gebze - Kocaeli,C=TR
- # Serial Number: 17 (0x11)
- # Subject: CN=T..B..TAK UEKAE K..k Sertifika Hizmet Sa..lay..c..s.. - S..r..m ...,OU=Kamu Sertifikasyon Merkezi,OU=Ulusal Elektronik ve Kriptoloji Ara..t..rma Enstit..s.. - UEKAE,O=T..rkiye Bilimsel ve Teknolojik Ara..t..rma Kurumu - T..B..TAK,L=Gebze - Kocaeli,C=TR
- # Not Valid Before: Fri Aug 24 11:37:07 2007
- # Not Valid After : Mon Aug 21 11:37:07 2017
- # Fingerprint (MD5): ED:41:F5:8C:50:C5:2B:9C:73:E6:EE:6C:EB:C2:A8:26
-@@ -10583,16 +10650,17 @@ CKA_VALUE MULTILINE_OCTAL
- \045\335\141\047\043\034\265\061\007\004\066\264\032\220\275\240
- \164\161\120\211\155\274\024\343\017\206\256\361\253\076\307\240
- \011\314\243\110\321\340\333\144\347\222\265\317\257\162\103\160
- \213\371\303\204\074\023\252\176\222\233\127\123\223\372\160\302
- \221\016\061\371\233\147\135\351\226\070\136\137\263\163\116\210
- \025\147\336\236\166\020\142\040\276\125\151\225\103\000\071\115
- \366\356\260\132\116\111\104\124\130\137\102\203
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "certSIGN ROOT CA"
- # Issuer: OU=certSIGN ROOT CA,O=certSIGN,C=RO
- # Serial Number:20:06:05:16:70:02
- # Subject: OU=certSIGN ROOT CA,O=certSIGN,C=RO
- # Not Valid Before: Tue Jul 04 17:20:04 2006
- # Not Valid After : Fri Jul 04 17:20:04 2031
- # Fingerprint (MD5): 18:98:C0:D6:E9:3A:FC:F9:B0:F5:0C:F7:4B:01:44:17
-@@ -10706,16 +10774,17 @@ CKA_VALUE MULTILINE_OCTAL
- \125\171\373\116\206\231\270\224\332\206\070\152\223\243\347\313
- \156\345\337\352\041\125\211\234\175\175\177\230\365\000\211\356
- \343\204\300\134\226\265\305\106\352\106\340\205\125\266\033\311
- \022\326\301\315\315\200\363\002\001\074\310\151\313\105\110\143
- \330\224\320\354\205\016\073\116\021\145\364\202\214\246\075\256
- \056\042\224\011\310\134\352\074\201\135\026\052\003\227\026\125
- \011\333\212\101\202\236\146\233\021
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "CNNIC ROOT"
- # Issuer: CN=CNNIC ROOT,O=CNNIC,C=CN
- # Serial Number: 1228079105 (0x49330001)
- # Subject: CN=CNNIC ROOT,O=CNNIC,C=CN
- # Not Valid Before: Mon Apr 16 07:09:14 2007
- # Not Valid After : Fri Apr 16 07:09:14 2027
- # Fingerprint (MD5): 21:BC:82:AB:49:C4:13:3B:4B:B2:2B:5C:6B:90:9C:19
-@@ -10836,16 +10905,17 @@ CKA_VALUE MULTILINE_OCTAL
- \246\176\264\222\027\374\043\224\201\275\156\247\305\214\302\353
- \021\105\333\370\101\311\226\166\352\160\137\171\022\153\344\243
- \007\132\005\357\047\111\317\041\237\212\114\011\160\146\251\046
- \301\053\021\116\063\322\016\374\326\154\322\016\062\144\150\377
- \255\005\170\137\003\035\250\343\220\254\044\340\017\100\247\113
- \256\213\050\267\202\312\030\007\346\267\133\164\351\040\031\177
- \262\033\211\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ApplicationCA - Japanese Government"
- # Issuer: OU=ApplicationCA,O=Japanese Government,C=JP
- # Serial Number: 49 (0x31)
- # Subject: OU=ApplicationCA,O=Japanese Government,C=JP
- # Not Valid Before: Wed Dec 12 15:00:00 2007
- # Not Valid After : Tue Dec 12 15:00:00 2017
- # Fingerprint (MD5): 7E:23:4E:5B:A7:A5:B4:25:E9:00:07:74:11:62:AE:D6
-@@ -10984,16 +11054,17 @@ CKA_VALUE MULTILINE_OCTAL
- \207\174\015\015\317\056\010\134\112\100\015\076\354\201\141\346
- \044\333\312\340\016\055\007\262\076\126\334\215\365\101\205\007
- \110\233\014\013\313\111\077\175\354\267\375\313\215\147\211\032
- \253\355\273\036\243\000\010\010\027\052\202\134\061\135\106\212
- \055\017\206\233\164\331\105\373\324\100\261\172\252\150\055\206
- \262\231\042\341\301\053\307\234\370\363\137\250\202\022\353\031
- \021\055
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority - G3"
- # Issuer: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Serial Number:15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
- # Subject: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): B5:E8:34:36:C9:10:44:58:48:70:6D:2E:83:D4:B8:05
-@@ -11112,16 +11183,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\335\370\340\127\107\133\247
- \346\012\303\275\365\200\212\227\065\015\033\211\074\124\206\167
- \050\312\241\364\171\336\265\346\070\260\360\145\160\214\177\002
- \124\302\277\377\330\241\076\331\317\002\061\000\304\215\224\374
- \334\123\322\334\235\170\026\037\025\063\043\123\122\343\132\061
- \135\235\312\256\275\023\051\104\015\047\133\250\347\150\234\022
- \367\130\077\056\162\002\127\243\217\241\024\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA - G2"
- # Issuer: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US
- # Serial Number:35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56
- # Subject: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 74:9D:EA:60:24:C4:FD:22:53:3E:CC:3A:72:D9:29:4F
-@@ -11271,16 +11343,17 @@ CKA_VALUE MULTILINE_OCTAL
- \051\101\221\042\074\151\247\273\002\362\266\134\047\003\211\364
- \006\352\233\344\162\202\343\241\011\301\351\000\031\323\076\324
- \160\153\272\161\246\252\130\256\364\273\351\154\266\357\207\314
- \233\273\377\071\346\126\141\323\012\247\304\134\114\140\173\005
- \167\046\172\277\330\007\122\054\142\367\160\143\331\071\274\157
- \034\302\171\334\166\051\257\316\305\054\144\004\136\210\066\156
- \061\324\100\032\142\064\066\077\065\001\256\254\143\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA - G3"
- # Issuer: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Serial Number:60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb
- # Subject: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): FB:1B:5D:43:8A:94:CD:44:C6:76:F2:43:4B:47:E7:31
-@@ -11406,16 +11479,17 @@ CKA_VALUE MULTILINE_OCTAL
- \144\226\131\246\350\011\336\213\272\372\132\210\210\360\037\221
- \323\106\250\362\112\114\002\143\373\154\137\070\333\056\101\223
- \251\016\346\235\334\061\034\262\240\247\030\034\171\341\307\066
- \002\060\072\126\257\232\164\154\366\373\203\340\063\323\010\137
- \241\234\302\133\237\106\326\266\313\221\006\143\242\006\347\063
- \254\076\250\201\022\320\313\272\320\222\013\266\236\226\252\004
- \017\212
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority - G2"
- # Issuer: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Serial Number:3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b
- # Subject: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 01:5E:D8:6B:BD:6F:3D:8E:A1:31:F8:12:E0:98:73:6A
-@@ -11575,16 +11649,17 @@ CKA_VALUE MULTILINE_OCTAL
- \007\021\360\325\333\335\345\214\360\325\062\260\203\346\127\342
- \217\277\276\241\252\277\075\035\265\324\070\352\327\260\134\072
- \117\152\077\217\300\146\154\143\252\351\331\244\026\364\201\321
- \225\024\016\175\315\225\064\331\322\217\160\163\201\173\234\176
- \275\230\141\330\105\207\230\220\305\353\206\060\306\065\277\360
- \377\303\125\210\203\113\357\005\222\006\161\362\270\230\223\267
- \354\315\202\141\361\070\346\117\227\230\052\132\215
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Universal Root Certification Authority"
- # Issuer: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:40:1a:c4:64:21:b3:13:21:03:0e:bb:e4:12:1a:c5:1d
- # Subject: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): 8E:AD:B5:01:AA:4D:81:E4:8C:1D:D1:E1:14:00:95:19
-@@ -11729,16 +11804,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\060\145\002\060\146\041\014\030\046\140\132\070\173\126\102
- \340\247\374\066\204\121\221\040\054\166\115\103\075\304\035\204
- \043\320\254\326\174\065\006\316\315\151\275\220\015\333\154\110
- \102\035\016\252\102\002\061\000\234\075\110\071\043\071\130\032
- \025\022\131\152\236\357\325\131\262\035\122\054\231\161\315\307
- \051\337\033\052\141\173\161\321\336\363\300\345\015\072\112\252
- \055\247\330\206\052\335\056\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G4"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:2f:80:fe:23:8c:0e:22:0f:48:67:12:28:91:87:ac:b3
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 3A:52:E1:E7:FD:6F:3A:E3:6F:F3:6F:99:1B:F9:22:41
-@@ -11888,16 +11964,17 @@ CKA_VALUE MULTILINE_OCTAL
- \276\245\025\143\241\324\225\207\361\236\271\363\211\363\075\205
- \270\270\333\276\265\271\051\371\332\067\005\000\111\224\003\204
- \104\347\277\103\061\317\165\213\045\321\364\246\144\365\222\366
- \253\005\353\075\351\245\013\066\142\332\314\006\137\066\213\266
- \136\061\270\052\373\136\366\161\337\104\046\236\304\346\015\221
- \264\056\165\225\200\121\152\113\060\246\260\142\241\223\361\233
- \330\316\304\143\165\077\131\107\261
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "NetLock Arany (Class Gold) Ftanstvny"
- # Issuer: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
- # Serial Number:49:41:2c:e4:00:10
- # Subject: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
- # Not Valid Before: Thu Dec 11 15:08:21 2008
- # Not Valid After : Wed Dec 06 15:08:21 2028
- # Fingerprint (MD5): C5:A1:B7:FF:73:DD:D6:D7:34:32:18:DF:FC:3C:AD:88
-@@ -12061,16 +12138,17 @@ CKA_VALUE MULTILINE_OCTAL
- \120\346\105\020\107\170\266\116\322\145\311\303\067\337\341\102
- \143\260\127\067\105\055\173\212\234\277\005\352\145\125\063\367
- \071\020\305\050\052\041\172\033\212\304\044\371\077\025\310\232
- \025\040\365\125\142\226\355\155\223\120\274\344\252\170\255\331
- \313\012\145\207\246\146\301\304\201\243\167\072\130\036\013\356
- \203\213\235\036\322\122\244\314\035\157\260\230\155\224\061\265
- \370\161\012\334\271\374\175\062\140\346\353\257\212\001
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Staat der Nederlanden Root CA - G2"
- # Issuer: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
- # Serial Number: 10000012 (0x98968c)
- # Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Wed Mar 26 11:18:17 2008
- # Not Valid After : Wed Mar 25 11:03:10 2020
- # Fingerprint (MD5): 7C:A5:0F:F8:5B:9A:7D:6D:30:AE:54:5A:E3:42:A2:8A
-@@ -12186,16 +12264,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\024\344\141\215\254\020\220\236\204\120\273\360\226\157\105
- \237\212\363\312\154\117\372\021\072\025\025\106\303\315\037\203
- \133\055\101\022\355\120\147\101\023\075\041\253\224\212\252\116
- \174\301\261\373\247\326\265\047\057\227\253\156\340\035\342\321
- \034\054\037\104\342\374\276\221\241\234\373\326\051\123\163\206
- \237\123\330\103\016\135\326\143\202\161\035\200\164\312\366\342
- \002\153\331\132
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Hongkong Post Root CA 1"
- # Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK
- # Serial Number: 1000 (0x3e8)
- # Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK
- # Not Valid Before: Thu May 15 05:13:14 2003
- # Not Valid After : Mon May 15 04:52:29 2023
- # Fingerprint (MD5): A8:0D:6F:39:78:B9:43:6D:77:42:6D:98:5A:CC:23:CA
-@@ -12316,16 +12395,17 @@ CKA_VALUE MULTILINE_OCTAL
- \143\173\132\151\226\002\041\250\275\122\131\351\175\065\313\310
- \122\312\177\201\376\331\153\323\367\021\355\045\337\370\347\371
- \244\372\162\227\204\123\015\245\320\062\030\121\166\131\024\154
- \017\353\354\137\200\214\165\103\203\303\205\230\377\114\236\055
- \015\344\167\203\223\116\265\226\007\213\050\023\233\214\031\215
- \101\047\111\100\356\336\346\043\104\071\334\241\042\326\272\003
- \362
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SecureSign RootCA11"
- # Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP
- # Serial Number: 1 (0x1)
- # Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP
- # Not Valid Before: Wed Apr 08 04:56:47 2009
- # Not Valid After : Sun Apr 08 04:56:47 2029
- # Fingerprint (MD5): B7:52:74:E2:92:B4:80:93:F2:75:E4:CC:D7:F2:EA:26
-@@ -12481,16 +12561,17 @@ CKA_VALUE MULTILINE_OCTAL
- \307\202\066\076\247\070\143\251\060\054\027\020\140\222\237\125
- \207\022\131\020\302\017\147\151\021\314\116\036\176\112\232\255
- \257\100\250\165\254\126\220\164\270\240\234\245\171\157\334\351
- \032\310\151\005\351\272\372\003\263\174\344\340\116\302\316\235
- \350\266\106\015\156\176\127\072\147\224\302\313\037\234\167\112
- \147\116\151\206\103\223\070\373\266\333\117\203\221\324\140\176
- \113\076\053\070\007\125\230\136\244
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ACEDICOM Root"
- # Issuer: C=ES,O=EDICOM,OU=PKI,CN=ACEDICOM Root
- # Serial Number:61:8d:c7:86:3b:01:82:05
- # Subject: C=ES,O=EDICOM,OU=PKI,CN=ACEDICOM Root
- # Not Valid Before: Fri Apr 18 16:24:22 2008
- # Not Valid After : Thu Apr 13 16:24:22 2028
- # Fingerprint (MD5): 42:81:A0:E2:1C:E3:55:10:DE:55:89:42:65:96:22:E6
-@@ -12627,16 +12708,17 @@ CKA_VALUE MULTILINE_OCTAL
- \255\234\032\303\004\074\355\002\141\326\036\006\363\137\072\207
- \362\053\361\105\207\345\075\254\321\307\127\204\275\153\256\334
- \330\371\266\033\142\160\013\075\066\311\102\362\062\327\172\141
- \346\322\333\075\317\310\251\311\233\334\333\130\104\327\157\070
- \257\177\170\323\243\255\032\165\272\034\301\066\174\217\036\155
- \034\303\165\106\256\065\005\246\366\134\075\041\356\126\360\311
- \202\042\055\172\124\253\160\303\175\042\145\202\160\226
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Microsec e-Szigno Root CA 2009"
- # Issuer: E=info(a)e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU
- # Serial Number:00:c2:7e:43:04:4e:47:3f:19
- # Subject: E=info(a)e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU
- # Not Valid Before: Tue Jun 16 11:30:18 2009
- # Not Valid After : Sun Dec 30 11:30:18 2029
- # Fingerprint (MD5): F8:49:F4:03:BC:44:2D:83:BE:48:69:7D:29:64:FC:B1
-@@ -12758,16 +12840,17 @@ CKA_VALUE MULTILINE_OCTAL
- \231\302\037\172\016\343\055\010\255\012\034\054\377\074\253\125
- \016\017\221\176\066\353\303\127\111\276\341\056\055\174\140\213
- \303\101\121\023\043\235\316\367\062\153\224\001\250\231\347\054
- \063\037\072\073\045\322\206\100\316\073\054\206\170\311\141\057
- \024\272\356\333\125\157\337\204\356\005\011\115\275\050\330\162
- \316\323\142\120\145\036\353\222\227\203\061\331\263\265\312\107
- \130\077\137
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA - R3"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
- # Serial Number:04:00:00:00:00:01:21:58:53:08:a2
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
- # Not Valid Before: Wed Mar 18 10:00:00 2009
- # Not Valid After : Sun Mar 18 10:00:00 2029
- # Fingerprint (MD5): C5:DF:B8:49:CA:05:13:55:EE:2D:BA:1A:C3:3E:B0:28
-@@ -12930,16 +13013,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\153\044\254\227\130\104\107\255\131\030\361\041\145\160\336
- \316\064\140\250\100\361\363\074\244\303\050\043\214\376\047\063
- \103\100\240\027\074\353\352\073\260\162\246\243\271\112\113\136
- \026\110\364\262\274\310\214\222\305\235\237\254\162\066\274\064
- \200\064\153\251\213\222\300\270\027\355\354\166\123\365\044\001
- \214\263\042\350\113\174\125\306\235\372\243\024\273\145\205\156
- \156\117\022\176\012\074\235\225
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
- # Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
- # Serial Number:53:ec:3b:ee:fb:b2:48:5f
- # Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
- # Not Valid Before: Wed May 20 08:38:15 2009
- # Not Valid After : Tue Dec 31 08:38:15 2030
- # Fingerprint (MD5): 73:3A:74:7A:EC:BB:A3:96:A6:C2:E4:E2:C8:9B:C0:C3
-@@ -13098,16 +13182,17 @@ CKA_VALUE MULTILINE_OCTAL
- \150\103\110\262\333\353\163\044\347\221\177\124\244\266\200\076
- \235\243\074\114\162\302\127\304\240\324\314\070\047\316\325\006
- \236\242\110\331\351\237\316\202\160\066\223\232\073\337\226\041
- \343\131\267\014\332\221\067\360\375\131\132\263\231\310\151\154
- \103\046\001\065\143\140\125\211\003\072\165\330\272\112\331\124
- \377\356\336\200\330\055\321\070\325\136\055\013\230\175\076\154
- \333\374\046\210\307
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Izenpe.com"
- # Issuer: CN=Izenpe.com,O=IZENPE S.A.,C=ES
- # Serial Number:00:b0:b7:5a:16:48:5f:bf:e1:cb:f5:8b:d7:19:e6:7d
- # Subject: CN=Izenpe.com,O=IZENPE S.A.,C=ES
- # Not Valid Before: Thu Dec 13 13:08:28 2007
- # Not Valid After : Sun Dec 13 08:27:25 2037
- # Fingerprint (MD5): A6:B0:CD:85:80:DA:5C:50:34:A3:39:90:2F:55:67:73
-@@ -13302,16 +13387,17 @@ CKA_VALUE MULTILINE_OCTAL
- \176\030\230\265\105\073\366\171\264\350\367\032\173\006\203\373
- \320\213\332\273\307\275\030\253\010\157\074\200\153\100\077\031
- \031\272\145\212\346\276\325\134\323\066\327\357\100\122\044\140
- \070\147\004\061\354\217\363\202\306\336\271\125\363\073\061\221
- \132\334\265\010\025\255\166\045\012\015\173\056\207\342\014\246
- \006\274\046\020\155\067\235\354\335\170\214\174\200\305\360\331
- \167\110\320
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Chambers of Commerce Root - 2008"
- # Issuer: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Serial Number:00:a3:da:42:7e:a4:b1:ae:da
- # Subject: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Not Valid Before: Fri Aug 01 12:29:50 2008
- # Not Valid After : Sat Jul 31 12:29:50 2038
- # Fingerprint (MD5): 5E:80:9E:84:5A:0E:65:0B:17:02:F3:55:18:2A:3E:D7
-@@ -13510,16 +13596,17 @@ CKA_VALUE MULTILINE_OCTAL
- \223\256\231\240\357\045\152\163\230\211\133\072\056\023\210\036
- \277\300\222\224\064\033\343\047\267\213\036\157\102\377\347\351
- \067\233\120\035\055\242\371\002\356\313\130\130\072\161\274\150
- \343\252\301\257\034\050\037\242\334\043\145\077\201\352\256\231
- \323\330\060\317\023\015\117\025\311\204\274\247\110\055\370\060
- \043\167\330\106\113\171\155\366\214\355\072\177\140\021\170\364
- \351\233\256\325\124\300\164\200\321\013\102\237\301
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Global Chambersign Root - 2008"
- # Issuer: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Serial Number:00:c9:cd:d3:e9:d5:7d:23:ce
- # Subject: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Not Valid Before: Fri Aug 01 12:31:40 2008
- # Not Valid After : Sat Jul 31 12:31:40 2038
- # Fingerprint (MD5): 9E:80:FF:78:01:0C:2E:C1:36:BD:FE:96:90:6E:08:F3
-@@ -15376,16 +15463,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\144\363\054\176\024\374\002\352\237\315\377\007\150\027\333
- \042\220\070\055\172\215\321\124\361\151\343\137\063\312\172\075
- \173\012\343\312\177\137\071\345\342\165\272\305\166\030\063\316
- \054\360\057\114\255\367\261\347\316\117\250\304\233\112\124\006
- \305\177\175\325\010\017\342\034\376\176\027\270\254\136\366\324
- \026\262\103\011\014\115\366\247\153\264\231\204\145\312\172\210
- \342\342\104\276\134\367\352\034\365
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Go Daddy Root Certificate Authority - G2"
- # Issuer: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): 80:3A:BC:22:C1:E6:FB:8D:9B:3B:27:4A:32:1B:9A:01
-@@ -15525,16 +15613,17 @@ CKA_VALUE MULTILINE_OCTAL
- \037\305\354\372\234\176\317\176\261\361\007\055\266\374\277\312
- \244\277\320\227\005\112\274\352\030\050\002\220\275\124\170\011
- \041\161\323\321\175\035\331\026\260\251\141\075\320\012\000\042
- \374\307\173\313\011\144\105\013\073\100\201\367\175\174\062\365
- \230\312\130\216\175\052\356\220\131\163\144\371\066\164\136\045
- \241\365\146\005\056\177\071\025\251\052\373\120\213\216\205\151
- \364
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Root Certificate Authority - G2"
- # Issuer: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): D6:39:81:C6:52:7E:96:69:FC:FC:CA:66:ED:05:F2:96
-@@ -15676,16 +15765,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\100\317\175\106\035\377\036\307\341\316\377\043\333\306\372
- \215\125\116\251\002\347\107\021\106\076\364\375\275\173\051\046
- \273\251\141\142\067\050\266\055\052\366\020\206\144\311\160\247
- \322\255\267\051\160\171\352\074\332\143\045\237\375\150\267\060
- \354\160\373\165\212\267\155\140\147\262\036\310\271\351\330\250
- \157\002\213\147\015\115\046\127\161\332\040\374\301\112\120\215
- \261\050\272
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Services Root Certificate Authority - G2"
- # Issuer: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): 17:35:74:AF:7B:61:1C:EB:F4:F9:3C:E2:EE:40:F9:A2
-@@ -15806,16 +15896,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\063\252\262\157\323\012\242\120\343\366\073\350\056\104\302
- \333\146\070\251\063\126\110\361\155\033\063\215\015\214\077\140
- \067\235\323\312\155\176\064\176\015\237\162\166\213\033\237\162
- \375\122\065\101\105\002\226\057\034\262\232\163\111\041\261\111
- \107\105\107\264\357\152\064\021\311\115\232\314\131\267\326\002
- \236\132\116\145\265\224\256\033\337\051\260\026\361\277\000\236
- \007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Commercial"
- # Issuer: CN=AffirmTrust Commercial,O=AffirmTrust,C=US
- # Serial Number:77:77:06:27:26:a9:b1:7c
- # Subject: CN=AffirmTrust Commercial,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:06:06 2010
- # Not Valid After : Tue Dec 31 14:06:06 2030
- # Fingerprint (MD5): 82:92:BA:5B:EF:CD:8A:6F:A6:3D:55:F9:84:F6:D6:B7
-@@ -15931,16 +16022,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\207\165\155\267\130\226\132\335\155\322\000\240\364\233\110
- \276\303\067\244\272\066\340\174\207\205\227\032\025\242\336\056
- \242\133\275\257\030\371\220\120\315\160\131\370\047\147\107\313
- \307\240\007\072\175\321\054\135\154\031\072\146\265\175\375\221
- \157\202\261\276\010\223\333\024\107\361\242\067\307\105\236\074
- \307\167\257\144\250\223\337\366\151\203\202\140\362\111\102\064
- \355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Networking"
- # Issuer: CN=AffirmTrust Networking,O=AffirmTrust,C=US
- # Serial Number:7c:4f:04:39:1c:d4:99:2d
- # Subject: CN=AffirmTrust Networking,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:08:24 2010
- # Not Valid After : Tue Dec 31 14:08:24 2030
- # Fingerprint (MD5): 42:65:CA:BE:01:9A:9A:4C:A9:8C:41:49:CD:C0:D5:7F
-@@ -16088,16 +16180,17 @@ CKA_VALUE MULTILINE_OCTAL
- \030\246\265\250\136\264\203\154\153\151\100\323\237\334\361\303
- \151\153\271\341\155\011\364\361\252\120\166\012\172\175\172\027
- \241\125\226\102\231\061\011\335\140\021\215\005\060\176\346\216
- \106\321\235\024\332\307\027\344\005\226\214\304\044\265\033\317
- \024\007\262\100\370\243\236\101\206\274\004\320\153\226\310\052
- \200\064\375\277\357\006\243\335\130\305\205\075\076\217\376\236
- \051\340\266\270\011\150\031\034\030\103
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Premium"
- # Issuer: CN=AffirmTrust Premium,O=AffirmTrust,C=US
- # Serial Number:6d:8c:14:46:b1:a6:0a:ee
- # Subject: CN=AffirmTrust Premium,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:10:36 2010
- # Not Valid After : Mon Dec 31 14:10:36 2040
- # Fingerprint (MD5): C4:5D:0E:48:B6:AC:28:30:4E:0A:BC:F9:38:16:87:57
-@@ -16193,16 +16286,17 @@ CKA_VALUE MULTILINE_OCTAL
- \027\011\363\207\210\120\132\257\310\300\102\277\107\137\365\154
- \152\206\340\304\047\164\344\070\123\327\005\177\033\064\343\306
- \057\263\312\011\074\067\235\327\347\270\106\361\375\241\342\161
- \002\060\102\131\207\103\324\121\337\272\323\011\062\132\316\210
- \176\127\075\234\137\102\153\365\007\055\265\360\202\223\371\131
- \157\256\144\372\130\345\213\036\343\143\276\265\201\315\157\002
- \214\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Premium ECC"
- # Issuer: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
- # Serial Number:74:97:25:8a:c7:3f:7a:54
- # Subject: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:20:24 2010
- # Not Valid After : Mon Dec 31 14:20:24 2040
- # Fingerprint (MD5): 64:B0:09:55:CF:B1:D5:99:E2:BE:13:AB:A6:5D:EA:4D
-@@ -16331,16 +16425,17 @@ CKA_VALUE MULTILINE_OCTAL
- \227\306\166\350\047\226\243\146\335\341\256\362\101\133\312\230
- \126\203\163\160\344\206\032\322\061\101\272\057\276\055\023\132
- \166\157\116\350\116\201\016\077\133\003\042\240\022\276\146\130
- \021\112\313\003\304\264\052\052\055\226\027\340\071\124\274\110
- \323\166\047\235\232\055\006\246\311\354\071\322\253\333\237\232
- \013\047\002\065\051\261\100\225\347\371\350\234\125\210\031\106
- \326\267\064\365\176\316\071\232\331\070\361\121\367\117\054
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certum Trusted Network CA"
- # Issuer: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Serial Number: 279744 (0x444c0)
- # Subject: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Not Valid Before: Wed Oct 22 12:07:37 2008
- # Not Valid After : Mon Dec 31 12:07:37 2029
- # Fingerprint (MD5): D5:E9:81:40:C5:18:69:FC:46:2C:89:75:62:0F:AA:78
-@@ -16500,16 +16595,17 @@ CKA_VALUE MULTILINE_OCTAL
- \032\050\364\041\003\356\056\331\301\200\352\271\331\202\326\133
- \166\302\313\073\265\322\000\360\243\016\341\255\156\100\367\333
- \240\264\320\106\256\025\327\104\302\115\065\371\322\013\362\027
- \366\254\146\325\044\262\117\321\034\231\300\156\365\175\353\164
- \004\270\371\115\167\011\327\264\317\007\060\011\361\270\000\126
- \331\027\026\026\012\053\206\337\217\001\031\032\345\273\202\143
- \377\276\013\166\026\136\067\067\346\330\164\227\242\231\105\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certinomis - Autorit Racine"
- # Issuer: CN=Certinomis - Autorit.. Racine,OU=0002 433998903,O=Certinomis,C=FR
- # Serial Number: 1 (0x1)
- # Subject: CN=Certinomis - Autorit.. Racine,OU=0002 433998903,O=Certinomis,C=FR
- # Not Valid Before: Wed Sep 17 08:28:59 2008
- # Not Valid After : Sun Sep 17 08:28:59 2028
- # Fingerprint (MD5): 7F:30:78:8C:03:E3:CA:C9:0A:E2:C9:EA:1E:AA:55:1A
-@@ -16634,16 +16730,17 @@ CKA_VALUE MULTILINE_OCTAL
- \172\162\132\203\263\171\157\357\264\374\320\012\245\130\117\106
- \337\373\155\171\131\362\204\042\122\256\017\314\373\174\073\347
- \152\312\107\141\303\172\370\323\222\004\037\270\040\204\341\066
- \124\026\307\100\336\073\212\163\334\337\306\011\114\337\354\332
- \377\324\123\102\241\311\362\142\035\042\203\074\227\305\371\031
- \142\047\254\145\042\327\323\074\306\345\216\262\123\314\111\316
- \274\060\376\173\016\063\220\373\355\322\024\221\037\007\257
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TWCA Root Certification Authority"
- # Issuer: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
- # Serial Number: 1 (0x1)
- # Subject: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
- # Not Valid Before: Thu Aug 28 07:24:33 2008
- # Not Valid After : Tue Dec 31 15:59:59 2030
- # Fingerprint (MD5): AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79
-@@ -18024,16 +18121,17 @@ CKA_VALUE MULTILINE_OCTAL
- \273\233\051\126\074\376\000\067\317\043\154\361\116\252\266\164
- \106\022\154\221\356\064\325\354\232\221\347\104\276\220\061\162
- \325\111\002\366\002\345\364\037\353\174\331\226\125\251\377\354
- \212\371\231\107\377\065\132\002\252\004\313\212\133\207\161\051
- \221\275\244\264\172\015\275\232\365\127\043\000\007\041\027\077
- \112\071\321\005\111\013\247\266\067\201\245\135\214\252\063\136
- \201\050\174\247\175\047\353\000\256\215\067
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication RootCA2"
- # Issuer: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Not Valid Before: Fri May 29 05:00:39 2009
- # Not Valid After : Tue May 29 05:00:39 2029
- # Fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43
-@@ -18206,16 +18304,17 @@ CKA_VALUE MULTILINE_OCTAL
- \234\211\333\151\070\276\354\134\016\126\307\145\121\345\120\210
- \210\277\102\325\053\075\345\371\272\236\056\263\312\364\163\222
- \002\013\276\114\146\353\040\376\271\313\265\231\177\346\266\023
- \372\312\113\115\331\356\123\106\006\073\306\116\255\223\132\201
- \176\154\052\113\152\005\105\214\362\041\244\061\220\207\154\145
- \234\235\245\140\225\072\122\177\365\321\253\010\156\363\356\133
- \371\210\075\176\270\157\156\003\344\102
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "EC-ACC"
- # Issuer: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES
- # Serial Number:ee:2b:3d:eb:d4:21:de:14:a8:62:ac:04:f3:dd:c4:01
- # Subject: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES
- # Not Valid Before: Tue Jan 07 23:00:00 2003
- # Not Valid After : Tue Jan 07 22:59:59 2031
- # Fingerprint (MD5): EB:F5:9D:29:0D:61:F9:42:1F:7C:C2:BA:6D:E3:15:09
-@@ -18368,16 +18467,17 @@ CKA_VALUE MULTILINE_OCTAL
- \372\363\003\022\226\170\006\215\261\147\355\216\077\276\237\117
- \002\365\263\011\057\363\114\207\337\052\313\225\174\001\314\254
- \066\172\277\242\163\172\367\217\301\265\232\241\024\262\217\063
- \237\015\357\042\334\146\173\204\275\105\027\006\075\074\312\271
- \167\064\217\312\352\317\077\061\076\343\210\343\200\111\045\310
- \227\265\235\232\231\115\260\074\370\112\000\233\144\335\237\071
- \113\321\047\327\270
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Hellenic Academic and Research Institutions RootCA 2011"
- # Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR
- # Not Valid Before: Tue Dec 06 13:49:52 2011
- # Not Valid After : Mon Dec 01 13:49:52 2031
- # Fingerprint (MD5): 73:9F:4C:4B:73:5B:79:E9:FA:BA:1C:EF:6E:CB:D5:C9
-@@ -18603,16 +18703,17 @@ CKA_VALUE MULTILINE_OCTAL
- \177\244\101\041\220\101\167\246\071\037\352\236\343\237\320\146
- \157\005\354\252\166\176\277\153\026\240\353\265\307\374\222\124
- \057\053\021\047\045\067\170\114\121\152\260\363\314\130\135\024
- \361\152\110\025\377\302\007\266\261\215\017\216\134\120\106\263
- \075\277\001\230\117\262\131\124\107\076\064\173\170\155\126\223
- \056\163\352\146\050\170\315\035\024\277\240\217\057\056\270\056
- \216\362\024\212\314\351\265\174\373\154\235\014\245\341\226
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Actalis Authentication Root CA"
- # Issuer: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
- # Serial Number:57:0a:11:97:42:c4:e3:cc
- # Subject: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
- # Not Valid Before: Thu Sep 22 11:22:02 2011
- # Not Valid After : Sun Sep 22 11:22:02 2030
- # Fingerprint (MD5): 69:C1:0D:4F:07:A3:1B:C3:FE:56:3D:04:BC:11:F6:A6
-@@ -18733,16 +18834,17 @@ CKA_VALUE MULTILINE_OCTAL
- \177\124\365\243\340\217\360\174\125\042\217\051\266\201\243\341
- \155\116\054\033\200\147\354\255\040\237\014\142\141\325\227\377
- \103\355\055\301\332\135\051\052\205\077\254\145\356\206\017\005
- \215\220\137\337\356\237\364\277\356\035\373\230\344\177\220\053
- \204\170\020\016\154\111\123\357\025\133\145\106\112\135\257\272
- \373\072\162\035\315\366\045\210\036\227\314\041\234\051\001\015
- \145\353\127\331\363\127\226\273\110\315\201
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Trustis FPS Root CA"
- # Issuer: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB
- # Serial Number:1b:1f:ad:b6:20:f9:24:d3:36:6b:f7:c7:f1:8c:a0:59
- # Subject: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB
- # Not Valid Before: Tue Dec 23 12:14:06 2003
- # Not Valid After : Sun Jan 21 11:36:54 2024
- # Fingerprint (MD5): 30:C9:E7:1E:6B:E6:14:EB:65:B2:16:69:20:31:67:4D
-@@ -18933,16 +19035,17 @@ CKA_VALUE MULTILINE_OCTAL
- \046\161\304\205\136\161\044\312\245\033\154\330\141\323\032\340
- \124\333\316\272\251\062\265\042\366\163\101\011\135\270\027\135
- \016\017\231\220\326\107\332\157\012\072\142\050\024\147\202\331
- \361\320\200\131\233\313\061\330\233\017\214\167\116\265\150\212
- \362\154\366\044\016\055\154\160\305\163\321\336\024\320\161\217
- \266\323\173\002\366\343\270\324\011\156\153\236\165\204\071\346
- \177\045\245\362\110\000\300\244\001\332\077
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "StartCom Certification Authority"
- # Issuer: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Serial Number: 45 (0x2d)
- # Subject: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Not Valid Before: Sun Sep 17 19:46:37 2006
- # Not Valid After : Wed Sep 17 19:46:36 2036
- # Fingerprint (MD5): C9:3B:0D:84:41:FC:A4:76:79:23:08:57:DE:10:19:16
-@@ -19097,16 +19200,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\056\055\304\011\072\003\147\151\204\232\341\131\220\212\050
- \205\325\135\164\261\321\016\040\130\233\023\245\260\143\246\355
- \173\107\375\105\125\060\244\356\232\324\346\342\207\357\230\311
- \062\202\021\051\042\274\000\012\061\136\055\017\300\216\351\153
- \262\217\056\006\330\321\221\307\306\022\364\114\375\060\027\303
- \301\332\070\133\343\251\352\346\241\272\171\357\163\330\266\123
- \127\055\366\320\341\327\110
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "StartCom Certification Authority G2"
- # Issuer: CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
- # Serial Number: 59 (0x3b)
- # Subject: CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
- # Not Valid Before: Fri Jan 01 01:00:01 2010
- # Not Valid After : Sat Dec 31 23:59:01 2039
- # Fingerprint (MD5): 78:4B:FB:9E:64:82:0A:D3:B8:4C:62:F3:64:F2:90:64
-@@ -19256,16 +19360,17 @@ CKA_VALUE MULTILINE_OCTAL
- \112\220\136\303\372\047\004\261\171\025\164\231\314\276\255\040
- \336\046\140\034\353\126\121\246\243\352\344\243\077\247\377\141
- \334\361\132\115\154\062\043\103\356\254\250\356\356\112\022\011
- \074\135\161\302\276\171\372\302\207\150\035\013\375\134\151\314
- \006\320\232\175\124\231\052\311\071\032\031\257\113\052\103\363
- \143\135\132\130\342\057\343\035\344\251\326\320\012\320\236\277
- \327\201\011\361\311\307\046\015\254\230\026\126\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Buypass Class 2 Root CA"
- # Issuer: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO
- # Serial Number: 2 (0x2)
- # Subject: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO
- # Not Valid Before: Tue Oct 26 08:38:03 2010
- # Not Valid After : Fri Oct 26 08:38:03 2040
- # Fingerprint (MD5): 46:A7:D2:FE:45:FB:64:5A:A8:59:90:9B:78:44:9B:29
-@@ -19414,16 +19519,17 @@ CKA_VALUE MULTILINE_OCTAL
- \105\310\114\161\331\274\311\231\122\127\106\057\120\317\275\065
- \151\364\075\025\316\006\245\054\017\076\366\201\272\224\273\303
- \273\277\145\170\322\206\171\377\111\073\032\203\014\360\336\170
- \354\310\362\115\114\032\336\202\051\370\301\132\332\355\356\346
- \047\136\350\105\320\235\034\121\250\150\253\104\343\320\213\152
- \343\370\073\273\334\115\327\144\362\121\276\346\252\253\132\351
- \061\356\006\274\163\277\023\142\012\237\307\271\227
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Buypass Class 3 Root CA"
- # Issuer: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
- # Serial Number: 2 (0x2)
- # Subject: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
- # Not Valid Before: Tue Oct 26 08:28:58 2010
- # Not Valid After : Fri Oct 26 08:28:58 2040
- # Fingerprint (MD5): 3D:3B:18:9E:2C:64:5A:E8:D5:88:CE:0E:F9:37:C2:EC
-@@ -19555,16 +19661,17 @@ CKA_VALUE MULTILINE_OCTAL
- \367\124\076\201\075\332\111\152\232\263\357\020\075\346\353\157
- \321\310\042\107\313\314\317\001\061\222\331\030\343\042\276\011
- \036\032\076\132\262\344\153\014\124\172\175\103\116\270\211\245
- \173\327\242\075\226\206\314\362\046\064\055\152\222\235\232\032
- \320\060\342\135\116\004\260\137\213\040\176\167\301\075\225\202
- \321\106\232\073\074\170\270\157\241\320\015\144\242\170\036\051
- \116\223\303\244\124\024\133
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "T-TeleSec GlobalRoot Class 3"
- # Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Serial Number: 1 (0x1)
- # Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Not Valid Before: Wed Oct 01 10:29:56 2008
- # Not Valid After : Sat Oct 01 23:59:59 2033
- # Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF
-@@ -19703,16 +19810,17 @@ CKA_VALUE MULTILINE_OCTAL
- \346\164\163\224\135\026\230\023\225\376\373\333\261\104\345\072
- \160\254\067\153\346\263\063\162\050\311\263\127\240\366\002\026
- \210\006\013\266\246\113\040\050\324\336\075\213\255\067\005\123
- \164\376\156\314\274\103\027\161\136\371\305\314\032\251\141\356
- \367\166\014\363\162\364\162\255\317\162\002\066\007\107\317\357
- \031\120\211\140\314\351\044\225\017\302\313\035\362\157\166\220
- \307\314\165\301\226\305\235
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "EE Certification Centre Root CA"
- # Issuer: E=pki(a)sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
- # Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a
- # Subject: E=pki(a)sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
- # Not Valid Before: Sat Oct 30 10:10:30 2010
- # Not Valid After : Tue Dec 17 23:59:59 2030
- # Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F
-@@ -19932,16 +20040,17 @@ CKA_VALUE MULTILINE_OCTAL
- \005\332\143\127\213\345\263\252\333\300\056\034\220\104\333\032
- \135\030\244\356\276\004\133\231\325\161\137\125\145\144\142\325
- \242\233\004\131\206\310\142\167\347\174\202\105\152\075\027\277
- \354\235\165\014\256\243\157\132\323\057\230\066\364\360\365\031
- \253\021\135\310\246\343\052\130\152\102\011\303\275\222\046\146
- \062\015\135\010\125\164\377\214\230\320\012\246\204\152\321\071
- \175
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TURKTRUST Certificate Services Provider Root 2007"
- # Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
- # Serial Number: 1 (0x1)
- # Subject: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
- # Not Valid Before: Tue Dec 25 18:37:19 2007
- # Not Valid After : Fri Dec 22 18:37:19 2017
- # Fingerprint (MD5): 2B:70:20:56:86:82:A0:18:C8:07:53:12:28:70:21:72
-@@ -20080,16 +20189,17 @@ CKA_VALUE MULTILINE_OCTAL
- \310\154\353\202\123\004\246\344\114\042\115\215\214\272\316\133
- \163\354\144\124\120\155\321\234\125\373\151\303\066\303\214\274
- \074\205\246\153\012\046\015\340\223\230\140\256\176\306\044\227
- \212\141\137\221\216\146\222\011\207\066\315\213\233\055\076\366
- \121\324\120\324\131\050\275\203\362\314\050\173\123\206\155\330
- \046\210\160\327\352\221\315\076\271\312\300\220\156\132\306\136
- \164\145\327\134\376\243\342
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "D-TRUST Root Class 3 CA 2 2009"
- # Issuer: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE
- # Serial Number: 623603 (0x983f3)
- # Subject: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE
- # Not Valid Before: Thu Nov 05 08:35:58 2009
- # Not Valid After : Mon Nov 05 08:35:58 2029
- # Fingerprint (MD5): CD:E0:25:69:8D:47:AC:9C:89:35:90:F7:FD:51:3D:2F
-@@ -20223,16 +20333,17 @@ CKA_VALUE MULTILINE_OCTAL
- \173\360\171\121\327\103\075\247\323\201\323\360\311\117\271\332
- \306\227\206\320\202\303\344\102\155\376\260\342\144\116\016\046
- \347\100\064\046\265\010\211\327\010\143\143\070\047\165\036\063
- \352\156\250\335\237\231\117\164\115\201\211\200\113\335\232\227
- \051\134\057\276\201\101\271\214\377\352\175\140\006\236\315\327
- \075\323\056\243\025\274\250\346\046\345\157\303\334\270\003\041
- \352\237\026\361\054\124\265
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "D-TRUST Root Class 3 CA 2 EV 2009"
- # Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
- # Serial Number: 623604 (0x983f4)
- # Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
- # Not Valid Before: Thu Nov 05 08:50:46 2009
- # Not Valid After : Mon Nov 05 08:50:46 2029
- # Fingerprint (MD5): AA:C6:43:2C:5E:2D:CD:C4:34:C0:50:4F:11:02:4F:B6
-@@ -20472,16 +20583,17 @@ CKA_VALUE MULTILINE_OCTAL
- \071\246\202\326\161\312\336\267\325\272\150\010\355\231\314\375
- \242\222\313\151\270\235\371\012\244\246\076\117\223\050\052\141
- \154\007\046\000\377\226\137\150\206\270\270\316\312\125\340\253
- \261\075\177\230\327\063\016\132\075\330\170\302\304\140\057\307
- \142\360\141\221\322\070\260\366\236\125\333\100\200\005\022\063
- \316\035\222\233\321\151\263\377\277\361\222\012\141\065\077\335
- \376\206\364\274\340\032\161\263\142\246
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "PSCProcert"
- # Issuer: E=acraiz(a)suscerte.gob.ve,OU=Superintendencia de Servicios de Certificacion Electronica,O=Sistema Nacional de Certificacion Electronica,ST=Distrito Capital,L=Caracas,C=VE,CN=Autoridad de Certificacion Raiz del Estado Venezolano
- # Serial Number: 11 (0xb)
- # Subject: CN=PSCProcert,C=VE,O=Sistema Nacional de Certificacion Electronica,OU=Proveedor de Certificados PROCERT,ST=Miranda,L=Chacao,E=contacto(a)procert.net.ve
- # Not Valid Before: Tue Dec 28 16:51:00 2010
- # Not Valid After : Fri Dec 25 23:59:59 2020
- # Fingerprint (MD5): E6:24:E9:12:01:AE:0C:DE:8E:85:C4:CE:A3:12:DD:EC
-@@ -20630,16 +20742,17 @@ CKA_VALUE MULTILINE_OCTAL
- \146\102\107\302\130\044\231\341\345\076\345\165\054\216\103\326
- \135\074\170\036\250\225\202\051\120\321\321\026\272\357\301\276
- \172\331\264\330\314\036\114\106\341\167\261\061\253\275\052\310
- \316\217\156\241\135\177\003\165\064\344\255\211\105\124\136\276
- \256\050\245\273\077\170\171\353\163\263\012\015\375\276\311\367
- \126\254\366\267\355\057\233\041\051\307\070\266\225\304\004\362
- \303\055\375\024\052\220\231\271\007\314\237
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "China Internet Network Information Center EV Certificates Root"
- # Issuer: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
- # Serial Number: 1218379777 (0x489f0001)
- # Subject: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
- # Not Valid Before: Tue Aug 31 07:11:25 2010
- # Not Valid After : Sat Aug 31 07:11:25 2030
- # Fingerprint (MD5): 55:5D:63:00:97:BD:6A:97:F5:67:AB:4B:FB:6E:63:15
-@@ -20805,16 +20918,17 @@ CKA_VALUE MULTILINE_OCTAL
- \361\377\246\100\005\205\005\134\312\007\031\134\013\023\050\114
- \130\177\302\245\357\105\332\140\323\256\145\141\235\123\203\164
- \302\256\362\134\302\026\355\222\076\204\076\163\140\210\274\166
- \364\054\317\320\175\175\323\270\136\321\221\022\020\351\315\335
- \312\045\343\325\355\231\057\276\165\201\113\044\371\105\106\224
- \311\051\041\123\234\046\105\252\023\027\344\347\315\170\342\071
- \301\053\022\236\246\236\033\305\346\016\331\061\331
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Swisscom Root CA 2"
- # Issuer: CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:1e:9e:28:e8:48:f2:e5:ef:c3:7c:4a:1e:5a:18:67:b6
- # Subject: CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Fri Jun 24 08:38:14 2011
- # Not Valid After : Wed Jun 25 07:38:14 2031
- # Fingerprint (MD5): 5B:04:69:EC:A5:83:94:63:18:A7:86:D0:E4:F2:6E:19
-@@ -20980,16 +21094,17 @@ CKA_VALUE MULTILINE_OCTAL
- \234\337\164\326\360\100\025\035\310\271\217\265\066\305\257\370
- \042\270\312\035\363\326\266\031\017\237\141\145\152\352\164\310
- \174\217\303\117\135\145\202\037\331\015\211\332\165\162\373\357
- \361\107\147\023\263\310\321\031\210\047\046\232\231\171\177\036
- \344\054\077\173\356\361\336\115\213\226\227\303\325\077\174\033
- \043\355\244\263\035\026\162\103\113\040\341\131\176\302\350\255
- \046\277\242\367
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Swisscom Root EV CA 2"
- # Issuer: CN=Swisscom Root EV CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:00:f2:fa:64:e2:74:63:d3:8d:fd:10:1d:04:1f:76:ca:58
- # Subject: CN=Swisscom Root EV CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Fri Jun 24 09:45:08 2011
- # Not Valid After : Wed Jun 25 08:45:08 2031
- # Fingerprint (MD5): 7B:30:34:9F:DD:0A:4B:6B:35:CA:31:51:28:5D:AE:EC
-@@ -21144,16 +21259,17 @@ CKA_VALUE MULTILINE_OCTAL
- \001\347\177\227\017\327\362\173\031\375\032\327\217\311\372\205
- \153\172\235\236\211\266\246\050\231\223\210\100\367\076\315\121
- \243\312\352\357\171\107\041\265\376\062\342\307\303\121\157\276
- \200\164\360\244\303\072\362\117\351\137\337\031\012\362\073\023
- \103\254\061\244\263\347\353\374\030\326\001\251\363\052\217\066
- \016\353\264\261\274\267\114\311\153\277\241\363\331\364\355\342
- \360\343\355\144\236\075\057\226\122\117\200\123\213
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA Disig Root R1"
- # Issuer: CN=CA Disig Root R1,O=Disig a.s.,L=Bratislava,C=SK
- # Serial Number:00:c3:03:9a:ee:50:90:6e:28
- # Subject: CN=CA Disig Root R1,O=Disig a.s.,L=Bratislava,C=SK
- # Not Valid Before: Thu Jul 19 09:06:56 2012
- # Not Valid After : Sat Jul 19 09:06:56 2042
- # Fingerprint (MD5): BE:EC:11:93:9A:F5:69:21:BC:D7:C1:C0:67:89:CC:2A
-@@ -21306,16 +21422,17 @@ CKA_VALUE MULTILINE_OCTAL
- \233\116\166\300\216\175\375\244\045\307\107\355\377\037\163\254
- \314\303\245\351\157\012\216\233\145\302\120\205\265\243\240\123
- \022\314\125\207\141\363\201\256\020\106\141\275\104\041\270\302
- \075\164\317\176\044\065\372\034\007\016\233\075\042\312\357\061
- \057\214\254\022\275\357\100\050\374\051\147\237\262\023\117\146
- \044\304\123\031\351\036\051\025\357\346\155\260\177\055\147\375
- \363\154\033\165\106\243\345\112\027\351\244\327\013
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA Disig Root R2"
- # Issuer: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK
- # Serial Number:00:92:b8:88:db:b0:8a:c1:63
- # Subject: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK
- # Not Valid Before: Thu Jul 19 09:15:30 2012
- # Not Valid After : Sat Jul 19 09:15:30 2042
- # Fingerprint (MD5): 26:01:FB:D8:27:A7:17:9A:45:54:38:1A:43:01:3B:03
-@@ -21505,16 +21622,17 @@ CKA_VALUE MULTILINE_OCTAL
- \346\301\232\351\036\002\107\237\052\250\155\251\133\317\354\105
- \167\177\230\047\232\062\135\052\343\204\356\305\230\146\057\226
- \040\035\335\330\303\047\327\260\371\376\331\175\315\320\237\217
- \013\024\130\121\237\057\213\303\070\055\336\350\217\326\215\207
- \244\365\126\103\026\231\054\364\244\126\264\064\270\141\067\311
- \302\130\200\033\240\227\241\374\131\215\351\021\366\321\017\113
- \125\064\106\052\213\206\073
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "ACCVRAIZ1"
- # Issuer: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1
- # Serial Number:5e:c3:b7:a6:43:7f:a4:e0
- # Subject: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1
- # Not Valid Before: Thu May 05 09:37:37 2011
- # Not Valid After : Tue Dec 31 09:37:37 2030
- # Fingerprint (MD5): D0:A0:5A:EE:05:B6:09:94:21:A1:7D:F1:B2:29:82:02
-@@ -21664,16 +21782,17 @@ CKA_VALUE MULTILINE_OCTAL
- \301\255\175\204\003\074\020\170\206\033\171\343\304\363\362\004
- \225\040\256\043\202\304\263\072\000\142\277\346\066\044\341\127
- \272\307\036\220\165\325\137\077\225\141\053\301\073\315\345\263
- \150\141\320\106\046\251\041\122\151\055\353\056\307\353\167\316
- \246\072\265\003\063\117\166\321\347\134\124\001\135\313\170\364
- \311\014\277\317\022\216\027\055\043\150\224\347\253\376\251\262
- \053\006\320\004\315
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TWCA Global Root CA"
- # Issuer: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
- # Serial Number: 3262 (0xcbe)
- # Subject: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
- # Not Valid Before: Wed Jun 27 06:28:33 2012
- # Not Valid After : Tue Dec 31 15:59:59 2030
- # Fingerprint (MD5): F9:03:7E:CF:E6:9E:3C:73:7A:2A:90:07:69:FF:2B:96
-@@ -21820,16 +21939,17 @@ CKA_VALUE MULTILINE_OCTAL
- \255\316\364\370\151\024\144\071\373\243\270\272\160\100\307\047
- \034\277\304\126\123\372\143\145\320\363\034\016\026\365\153\206
- \130\115\030\324\344\015\216\245\235\133\221\334\166\044\120\077
- \306\052\373\331\267\234\265\326\346\320\331\350\031\213\025\161
- \110\255\267\352\330\131\210\324\220\277\026\263\331\351\254\131
- \141\124\310\034\272\312\301\312\341\271\040\114\217\072\223\211
- \245\240\314\277\323\366\165\244\165\226\155\126
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TeliaSonera Root CA v1"
- # Issuer: CN=TeliaSonera Root CA v1,O=TeliaSonera
- # Serial Number:00:95:be:16:a0:f7:2e:46:f1:7b:39:82:72:fa:8b:cd:96
- # Subject: CN=TeliaSonera Root CA v1,O=TeliaSonera
- # Not Valid Before: Thu Oct 18 12:00:50 2007
- # Not Valid After : Mon Oct 18 12:00:50 2032
- # Fingerprint (MD5): 37:41:49:1B:18:56:9A:26:F5:AD:C2:66:FB:40:A5:4C
-@@ -22007,16 +22127,17 @@ CKA_VALUE MULTILINE_OCTAL
- \237\211\213\375\067\137\137\072\316\070\131\206\113\257\161\013
- \264\330\362\160\117\237\062\023\343\260\247\127\345\332\332\103
- \313\204\064\362\050\304\352\155\364\052\357\301\153\166\332\373
- \176\273\205\074\322\123\302\115\276\161\341\105\321\375\043\147
- \015\023\165\373\317\145\147\042\235\256\260\011\321\011\377\035
- \064\277\376\043\227\067\322\071\372\075\015\006\013\264\333\073
- \243\253\157\134\035\266\176\350\263\202\064\355\006\134\044
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "E-Tugra Certification Authority"
- # Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:6a:68:3e:9c:51:9b:cb:53
- # Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Tue Mar 05 12:09:48 2013
- # Not Valid After : Fri Mar 03 12:09:48 2023
- # Fingerprint (MD5): B8:A1:03:63:B0:BD:21:71:70:8A:6F:13:3A:BB:79:49
-@@ -22155,16 +22276,17 @@ CKA_VALUE MULTILINE_OCTAL
- \203\125\352\174\302\051\211\033\351\157\263\316\342\005\204\311
- \057\076\170\205\142\156\311\137\301\170\143\164\130\300\110\030
- \014\231\071\353\244\314\032\265\171\132\215\025\234\330\024\015
- \366\172\007\127\307\042\203\005\055\074\233\045\046\075\030\263
- \251\103\174\310\310\253\144\217\016\243\277\234\033\235\060\333
- \332\320\031\056\252\074\361\373\063\200\166\344\315\255\031\117
- \005\047\216\023\241\156\302
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "T-TeleSec GlobalRoot Class 2"
- # Issuer: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Serial Number: 1 (0x1)
- # Subject: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Not Valid Before: Wed Oct 01 10:40:14 2008
- # Not Valid After : Sat Oct 01 23:59:59 2033
- # Fingerprint (MD5): 2B:9B:9E:E4:7B:6C:1F:00:72:1A:CC:C1:77:79:DF:6A
-@@ -22285,16 +22407,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\024\357\264\021\377\016\025\265\365\365\333\306\275\353\132
- \247\360\126\042\251\074\145\124\306\025\250\275\206\236\315\203
- \226\150\172\161\201\211\341\013\341\352\021\033\150\010\314\151
- \236\354\236\101\236\104\062\046\172\342\207\012\161\075\353\344
- \132\244\322\333\305\315\306\336\140\177\271\363\117\104\222\357
- \052\267\030\076\247\031\331\013\175\261\067\101\102\260\272\140
- \035\362\376\011\021\260\360\207\173\247\235
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Atos TrustedRoot 2011"
- # Issuer: C=DE,O=Atos,CN=Atos TrustedRoot 2011
- # Serial Number:5c:33:cb:62:2c:5f:b3:32
- # Subject: C=DE,O=Atos,CN=Atos TrustedRoot 2011
- # Not Valid Before: Thu Jul 07 14:58:30 2011
- # Not Valid After : Tue Dec 31 23:59:59 2030
- # Fingerprint (MD5): AE:B9:C4:32:4B:AC:7F:5D:66:CC:77:94:BB:2A:77:56
-@@ -22444,16 +22567,17 @@ CKA_VALUE MULTILINE_OCTAL
- \353\134\237\336\263\257\147\003\263\037\335\155\135\151\150\151
- \253\136\072\354\174\151\274\307\073\205\116\236\025\271\264\025
- \117\303\225\172\130\327\311\154\351\154\271\363\051\143\136\264
- \054\360\055\075\355\132\145\340\251\133\100\302\110\231\201\155
- \236\037\006\052\074\022\264\213\017\233\242\044\360\246\215\326
- \172\340\113\266\144\226\143\225\204\302\112\315\034\056\044\207
- \063\140\345\303
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 1 G3"
- # Issuer: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM
- # Serial Number:78:58:5f:2e:ad:2c:19:4b:e3:37:07:35:34:13:28:b5:96:d4:65:93
- # Subject: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 17:27:44 2012
- # Not Valid After : Sun Jan 12 17:27:44 2042
- # Fingerprint (SHA-256): 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74
-@@ -22605,16 +22729,17 @@ CKA_VALUE MULTILINE_OCTAL
- \374\267\003\111\002\133\310\045\346\342\124\070\365\171\207\214
- \035\123\262\116\205\173\006\070\307\054\370\370\260\162\215\045
- \345\167\122\364\003\034\110\246\120\137\210\040\060\156\362\202
- \103\253\075\227\204\347\123\373\041\301\117\017\042\232\206\270
- \131\052\366\107\075\031\210\055\350\205\341\236\354\205\010\152
- \261\154\064\311\035\354\110\053\073\170\355\146\304\216\171\151
- \203\336\177\214
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 2 G3"
- # Issuer: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
- # Serial Number:44:57:34:24:5b:81:89:9b:35:f2:ce:b8:2b:3b:5b:a7:26:f0:75:28
- # Subject: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 18:59:32 2012
- # Not Valid After : Sun Jan 12 18:59:32 2042
- # Fingerprint (SHA-256): 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40
-@@ -22766,16 +22891,17 @@ CKA_VALUE MULTILINE_OCTAL
- \046\350\354\266\013\055\247\205\065\315\375\131\310\237\321\315
- \076\132\051\064\271\075\204\316\261\145\324\131\221\221\126\165
- \041\301\167\236\371\172\341\140\235\323\255\004\030\364\174\353
- \136\223\217\123\112\042\051\370\110\053\076\115\206\254\133\177
- \313\006\231\131\140\330\130\145\225\215\104\321\367\177\176\047
- \177\175\256\200\365\007\114\266\076\234\161\124\231\004\113\375
- \130\371\230\364
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 3 G3"
- # Issuer: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM
- # Serial Number:2e:f5:9b:02:28:a7:db:7a:ff:d5:a3:a9:ee:bd:03:a0:cf:12:6a:1d
- # Subject: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 20:26:32 2012
- # Not Valid After : Sun Jan 12 20:26:32 2042
- # Fingerprint (SHA-256): 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46
-@@ -22902,16 +23028,17 @@ CKA_VALUE MULTILINE_OCTAL
- \007\234\242\272\331\001\162\134\363\115\301\335\016\261\034\015
- \304\143\276\255\364\024\373\211\354\242\101\016\114\314\310\127
- \100\320\156\003\252\315\014\216\211\231\231\154\360\074\060\257
- \070\337\157\274\243\276\051\040\047\253\164\377\023\042\170\336
- \227\122\125\036\203\265\124\040\003\356\256\300\117\126\336\067
- \314\303\177\252\004\047\273\323\167\270\142\333\027\174\234\050
- \042\023\163\154\317\046\365\212\051\347
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Assured ID Root G2"
- # Issuer: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0b:93:1c:3a:d6:39:67:ea:67:23:bf:c3:af:9a:f4:4b
- # Subject: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85
-@@ -23019,16 +23146,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\147\000\060\144\002\060\045\244\201\105\002\153\022\113
- \165\164\117\310\043\343\160\362\165\162\336\174\211\360\317\221
- \162\141\236\136\020\222\131\126\271\203\307\020\347\070\351\130
- \046\066\175\325\344\064\206\071\002\060\174\066\123\360\060\345
- \142\143\072\231\342\266\243\073\233\064\372\036\332\020\222\161
- \136\221\023\247\335\244\156\222\314\062\326\365\041\146\307\057
- \352\226\143\152\145\105\222\225\001\264
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Assured ID Root G3"
- # Issuer: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0b:a1:5a:fa:1d:df:a0:b5:49:44:af:cd:24:a0:6c:ec
- # Subject: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2
-@@ -23157,16 +23285,17 @@ CKA_VALUE MULTILINE_OCTAL
- \362\261\216\231\241\157\023\261\101\161\376\210\052\310\117\020
- \040\125\327\363\024\105\345\340\104\364\352\207\225\062\223\016
- \376\123\106\372\054\235\377\213\042\271\113\331\011\105\244\336
- \244\270\232\130\335\033\175\122\237\216\131\103\210\201\244\236
- \046\325\157\255\335\015\306\067\175\355\003\222\033\345\167\137
- \166\356\074\215\304\135\126\133\242\331\146\156\263\065\067\345
- \062\266
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Global Root G2"
- # Issuer: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:03:3a:f1:e6:a7:11:a9:a0:bb:28:64:b1:1d:09:fa:e5
- # Subject: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F
-@@ -23274,16 +23403,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\255\274\362\154\077\022\112\321\055\071\303\012\011\227\163
- \364\210\066\214\210\047\273\346\210\215\120\205\247\143\371\236
- \062\336\146\223\017\361\314\261\011\217\335\154\253\372\153\177
- \240\002\060\071\146\133\302\144\215\270\236\120\334\250\325\111
- \242\355\307\334\321\111\177\027\001\270\310\206\217\116\214\210
- \053\250\232\251\212\305\321\000\275\370\124\342\232\345\133\174
- \263\047\027
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Global Root G3"
- # Issuer: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:05:55:56:bc:f2:5e:a4:35:35:c3:a4:0f:d5:ab:45:72
- # Subject: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0
-@@ -23444,16 +23574,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\154\311\012\274\356\103\372\072\161\245\310\115\046\245\065
- \375\211\135\274\205\142\035\062\322\240\053\124\355\232\127\301
- \333\372\020\317\031\267\213\112\033\217\001\266\047\225\123\350
- \266\211\155\133\274\150\324\043\350\213\121\242\126\371\360\246
- \200\240\326\036\263\274\017\017\123\165\051\252\352\023\167\344
- \336\214\201\041\255\007\020\107\021\255\207\075\007\321\165\274
- \317\363\146\176
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Trusted Root G4"
- # Issuer: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:05:9b:1b:57:9e:8e:21:32:e2:39:07:bd:a7:77:75:5c
- # Subject: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88
-@@ -23610,16 +23741,17 @@ CKA_VALUE MULTILINE_OCTAL
- \047\274\172\277\340\333\364\332\122\275\336\014\124\160\061\221
- \103\225\310\274\360\076\335\011\176\060\144\120\355\177\001\244
- \063\147\115\150\117\276\025\357\260\366\002\021\242\033\023\045
- \072\334\302\131\361\343\134\106\273\147\054\002\106\352\036\110
- \246\346\133\331\265\274\121\242\222\226\333\252\306\067\042\246
- \376\314\040\164\243\055\251\056\153\313\300\202\021\041\265\223
- \171\356\104\206\276\327\036\344\036\373
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "WoSign"
- # Issuer: CN=Certification Authority of WoSign,O=WoSign CA Limited,C=CN
- # Serial Number:5e:68:d6:11:71:94:63:50:56:00:68:f3:3e:c9:c5:91
- # Subject: CN=Certification Authority of WoSign,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Aug 08 01:00:01 2009
- # Not Valid After : Mon Aug 08 01:00:01 2039
- # Fingerprint (SHA-256): 4B:22:D5:A6:AE:C9:9F:3C:DB:79:AA:5E:C0:68:38:47:9C:D5:EC:BA:71:64:F7:F2:2D:C1:D6:5F:63:D8:57:08
-@@ -23771,16 +23903,17 @@ CKA_VALUE MULTILINE_OCTAL
- \324\175\253\227\063\304\323\076\340\151\266\050\171\240\011\215
- \034\321\377\101\162\110\006\374\232\056\347\040\371\233\242\336
- \211\355\256\074\011\257\312\127\263\222\211\160\100\344\057\117
- \302\160\203\100\327\044\054\153\347\011\037\323\325\307\301\010
- \364\333\016\073\034\007\013\103\021\204\041\206\351\200\324\165
- \330\253\361\002\142\301\261\176\125\141\317\023\327\046\260\327
- \234\313\051\213\070\112\013\016\220\215\272\241
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "WoSign China"
- # Issuer: CN=CA ...............,O=WoSign CA Limited,C=CN
- # Serial Number:50:70:6b:cd:d8:13:fc:1b:4e:3b:33:72:d2:11:48:8d
- # Subject: CN=CA ...............,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Aug 08 01:00:01 2009
- # Not Valid After : Mon Aug 08 01:00:01 2039
- # Fingerprint (SHA-256): D6:F0:34:BD:94:AA:23:3F:02:97:EC:A4:24:5B:28:39:73:E4:47:AA:59:0F:31:0C:77:F4:8F:DF:83:11:22:54
-@@ -23947,16 +24080,17 @@ CKA_VALUE MULTILINE_OCTAL
- \100\350\123\262\047\235\112\271\300\167\041\215\377\207\362\336
- \274\214\357\027\337\267\111\013\321\362\156\060\013\032\016\116
- \166\355\021\374\365\351\126\262\175\277\307\155\012\223\214\245
- \320\300\266\035\276\072\116\224\242\327\156\154\013\302\212\174
- \372\040\363\304\344\345\315\015\250\313\221\222\261\174\205\354
- \265\024\151\146\016\202\347\315\316\310\055\246\121\177\041\301
- \065\123\205\006\112\135\237\255\273\033\137\164
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "COMODO RSA Certification Authority"
- # Issuer: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d
- # Subject: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Tue Jan 19 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34
-@@ -24128,16 +24262,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\233\267\220\307\014\007\337\365\211\066\164\062\326\050\301
- \260\260\013\340\234\114\303\034\326\374\343\151\265\107\106\201
- \057\242\202\253\323\143\104\160\304\215\377\055\063\272\255\217
- \173\265\160\210\256\076\031\317\100\050\330\374\310\220\273\135
- \231\042\365\122\346\130\305\037\210\061\103\356\210\035\327\306
- \216\074\103\152\035\247\030\336\175\075\026\361\142\371\312\220
- \250\375
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "USERTrust RSA Certification Authority"
- # Issuer: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Serial Number:01:fd:6d:30:fc:a3:ca:51:a8:1b:bc:64:0e:35:03:2d
- # Subject: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Not Valid Before: Mon Feb 01 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2
-@@ -24256,16 +24391,17 @@ CKA_VALUE MULTILINE_OCTAL
- \066\147\241\026\010\334\344\227\000\101\035\116\276\341\143\001
- \317\073\252\102\021\144\240\235\224\071\002\021\171\134\173\035
- \372\144\271\356\026\102\263\277\212\302\011\304\354\344\261\115
- \002\061\000\351\052\141\107\214\122\112\113\116\030\160\366\326
- \104\326\156\365\203\272\155\130\275\044\331\126\110\352\357\304
- \242\106\201\210\152\072\106\321\251\233\115\311\141\332\321\135
- \127\152\030
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "USERTrust ECC Certification Authority"
- # Issuer: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Serial Number:5c:8b:99:c5:5a:94:c5:d2:71:56:de:cd:89:80:cc:26
- # Subject: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Not Valid Before: Mon Feb 01 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A
-@@ -24367,16 +24503,17 @@ CKA_VALUE MULTILINE_OCTAL
- \270\342\100\177\373\012\156\373\276\063\311\074\243\204\325\060
- \012\006\010\052\206\110\316\075\004\003\002\003\110\000\060\105
- \002\041\000\334\222\241\240\023\246\317\003\260\346\304\041\227
- \220\372\024\127\055\003\354\356\074\323\156\312\250\154\166\274
- \242\336\273\002\040\047\250\205\047\065\233\126\306\243\362\107
- \322\267\156\033\002\000\027\252\147\246\025\221\336\372\224\354
- \173\013\370\237\204
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "GlobalSign ECC Root CA - R4"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
- # Serial Number:2a:38:a4:1c:96:0a:04:de:42:b2:28:a5:0b:e8:34:98:02
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
- # Not Valid Before: Tue Nov 13 00:00:00 2012
- # Not Valid After : Tue Jan 19 03:14:07 2038
- # Fingerprint (SHA-256): BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C
-@@ -24479,16 +24616,17 @@ CKA_VALUE MULTILINE_OCTAL
- \345\151\022\311\156\333\306\061\272\011\101\341\227\370\373\375
- \232\342\175\022\311\355\174\144\323\313\005\045\213\126\331\240
- \347\136\135\116\013\203\234\133\166\051\240\011\046\041\152\142
- \002\060\161\322\265\217\134\352\073\341\170\011\205\250\165\222
- \073\310\134\375\110\357\015\164\042\250\010\342\156\305\111\316
- \307\014\274\247\141\151\361\367\073\341\052\313\371\053\363\146
- \220\067
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "GlobalSign ECC Root CA - R5"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
- # Serial Number:60:59:49:e0:26:2e:bb:55:f9:0a:77:8a:71:f9:4a:d8:6c
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
- # Not Valid Before: Tue Nov 13 00:00:00 2012
- # Not Valid After : Tue Jan 19 03:14:07 2038
- # Fingerprint (SHA-256): 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24
-@@ -24653,16 +24791,17 @@ CKA_VALUE MULTILINE_OCTAL
- \107\234\167\307\045\341\254\064\005\115\363\202\176\101\043\272
- \264\127\363\347\306\001\145\327\115\211\231\034\151\115\136\170
- \366\353\162\161\075\262\304\225\001\237\135\014\267\057\045\246
- \134\171\101\357\236\304\147\074\241\235\177\161\072\320\225\227
- \354\170\102\164\230\156\276\076\150\114\127\074\250\223\101\207
- \013\344\271\257\221\373\120\114\014\272\300\044\047\321\025\333
- \145\110\041\012\057\327\334\176\240\314\145\176\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "VeriSign-C3SSA-G2-temporary-intermediate-after-1024bit-removal"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:2f:00:6e:cd:17:70:66:e7:5f:a3:82:0a:79:1f:05:ae
- # Subject: CN=VeriSign Class 3 Secure Server CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Thu Mar 26 00:00:00 2009
- # Not Valid After : Sun Mar 24 23:59:59 2019
- # Fingerprint (SHA-256): 0A:41:51:D5:E5:8B:84:B8:AC:E5:3A:5C:12:12:2A:C9:59:CD:69:91:FB:B3:8E:99:B5:76:C0:AB:DA:C3:58:14
-@@ -24824,16 +24963,17 @@ CKA_VALUE MULTILINE_OCTAL
- \325\131\242\211\164\323\237\276\036\113\327\306\155\267\210\044
- \157\140\221\244\202\205\133\126\101\274\320\104\253\152\023\276
- \321\054\130\267\022\063\130\262\067\143\334\023\365\224\035\077
- \100\121\365\117\365\072\355\310\305\353\302\036\035\026\225\172
- \307\176\102\161\223\156\113\025\267\060\337\252\355\127\205\110
- \254\035\152\335\071\151\344\341\171\170\276\316\005\277\241\014
- \367\200\173\041\147\047\060\131
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Staat der Nederlanden Root CA - G3"
- # Issuer: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL
- # Serial Number: 10003001 (0x98a239)
- # Subject: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Thu Nov 14 11:28:42 2013
- # Not Valid After : Mon Nov 13 23:00:00 2028
- # Fingerprint (SHA-256): 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28
-@@ -24987,16 +25127,17 @@ CKA_VALUE MULTILINE_OCTAL
- \170\157\120\202\104\120\077\146\006\212\253\103\204\126\112\017
- \040\055\206\016\365\322\333\322\172\212\113\315\245\350\116\361
- \136\046\045\001\131\043\240\176\322\366\176\041\127\327\047\274
- \025\127\114\244\106\301\340\203\036\014\114\115\037\117\006\031
- \342\371\250\364\072\202\241\262\171\103\171\326\255\157\172\047
- \220\003\244\352\044\207\077\331\275\331\351\362\137\120\111\034
- \356\354\327\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Staat der Nederlanden EV Root CA"
- # Issuer: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL
- # Serial Number: 10000013 (0x98968d)
- # Subject: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Wed Dec 08 11:19:29 2010
- # Not Valid After : Thu Dec 08 11:10:28 2022
- # Fingerprint (SHA-256): 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A
-@@ -25148,16 +25289,17 @@ CKA_VALUE MULTILINE_OCTAL
- \312\112\201\153\136\013\363\121\341\164\053\351\176\047\247\331
- \231\111\116\370\245\200\333\045\017\034\143\142\212\311\063\147
- \153\074\020\203\306\255\336\250\315\026\216\215\360\007\067\161
- \237\362\253\374\101\365\301\213\354\000\067\135\011\345\116\200
- \357\372\261\134\070\006\245\033\112\341\334\070\055\074\334\253
- \037\220\032\325\112\234\356\321\160\154\314\356\364\127\370\030
- \272\204\156\207
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "IdenTrust Commercial Root CA 1"
- # Issuer: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
- # Serial Number:0a:01:42:80:00:00:01:45:23:c8:44:b5:00:00:00:02
- # Subject: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
- # Not Valid Before: Thu Jan 16 18:12:23 2014
- # Not Valid After : Mon Jan 16 18:12:23 2034
- # Fingerprint (SHA-256): 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE
-@@ -25309,16 +25451,17 @@ CKA_VALUE MULTILINE_OCTAL
- \150\011\061\161\360\155\370\116\107\373\326\205\356\305\130\100
- \031\244\035\247\371\113\103\067\334\150\132\117\317\353\302\144
- \164\336\264\025\331\364\124\124\032\057\034\327\227\161\124\220
- \216\331\040\235\123\053\177\253\217\342\352\060\274\120\067\357
- \361\107\265\175\174\054\004\354\150\235\264\111\104\020\364\162
- \113\034\144\347\374\346\153\220\335\151\175\151\375\000\126\245
- \267\254\266\255\267\312\076\001\357\234
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "IdenTrust Public Sector Root CA 1"
- # Issuer: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US
- # Serial Number:0a:01:42:80:00:00:01:45:23:cf:46:7c:00:00:00:02
- # Subject: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US
- # Not Valid Before: Thu Jan 16 17:53:32 2014
- # Not Valid After : Mon Jan 16 17:53:32 2034
- # Fingerprint (SHA-256): 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F
-@@ -25453,16 +25596,17 @@ CKA_VALUE MULTILINE_OCTAL
- \217\252\302\107\057\024\161\325\051\343\020\265\107\223\045\314
- \043\051\332\267\162\330\221\324\354\033\110\212\042\344\301\052
- \367\072\150\223\237\105\031\156\103\267\314\376\270\221\232\141
- \032\066\151\143\144\222\050\363\157\141\222\205\023\237\311\007
- \054\213\127\334\353\236\171\325\302\336\010\325\124\262\127\116
- \052\062\215\241\342\072\321\020\040\042\071\175\064\105\157\161
- \073\303\035\374\377\262\117\250\342\366\060\036
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "S-TRUST Universal Root CA"
- # Issuer: CN=S-TRUST Universal Root CA,OU=S-TRUST Certification Services,O=Deutscher Sparkassen Verlag GmbH,C=DE
- # Serial Number:60:56:c5:4b:23:40:5b:64:d4:ed:25:da:d9:d6:1e:1e
- # Subject: CN=S-TRUST Universal Root CA,OU=S-TRUST Certification Services,O=Deutscher Sparkassen Verlag GmbH,C=DE
- # Not Valid Before: Tue Oct 22 00:00:00 2013
- # Not Valid After : Thu Oct 21 23:59:59 2038
- # Fingerprint (SHA-256): D8:0F:EF:91:0A:E3:F1:04:72:3B:04:5C:EC:2D:01:9F:44:1C:E6:21:3A:DF:15:67:91:E7:0C:17:90:11:0A:31
-@@ -25615,16 +25759,17 @@ CKA_VALUE MULTILINE_OCTAL
- \274\075\320\204\350\352\006\162\260\115\071\062\170\277\076\021
- \234\013\244\235\232\041\363\360\233\013\060\170\333\301\334\207
- \103\376\274\143\232\312\305\302\034\311\307\215\377\073\022\130
- \010\346\266\075\354\172\054\116\373\203\226\316\014\074\151\207
- \124\163\244\163\302\223\377\121\020\254\025\124\001\330\374\005
- \261\211\241\177\164\203\232\111\327\334\116\173\212\110\157\213
- \105\366
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust Root Certification Authority - G2"
- # Issuer: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Serial Number: 1246989352 (0x4a538c28)
- # Subject: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Not Valid Before: Tue Jul 07 17:25:54 2009
- # Not Valid After : Sat Dec 07 17:55:54 2030
- # Fingerprint (SHA-256): 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
-@@ -25759,16 +25904,17 @@ CKA_VALUE MULTILINE_OCTAL
- \075\004\003\003\003\147\000\060\144\002\060\141\171\330\345\102
- \107\337\034\256\123\231\027\266\157\034\175\341\277\021\224\321
- \003\210\165\344\215\211\244\212\167\106\336\155\141\357\002\365
- \373\265\337\314\376\116\377\376\251\346\247\002\060\133\231\327
- \205\067\006\265\173\010\375\353\047\213\112\224\371\341\372\247
- \216\046\010\350\174\222\150\155\163\330\157\046\254\041\002\270
- \231\267\046\101\133\045\140\256\320\110\032\356\006
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust Root Certification Authority - EC1"
- # Issuer: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Serial Number:00:a6:8b:79:29:00:00:00:00:50:d0:91:f9
- # Subject: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Not Valid Before: Tue Dec 18 15:25:36 2012
- # Not Valid After : Fri Dec 18 15:55:36 2037
- # Fingerprint (SHA-256): 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5
-@@ -25931,16 +26077,17 @@ CKA_VALUE MULTILINE_OCTAL
- \110\171\140\212\303\327\023\134\370\162\100\337\112\313\317\231
- \000\012\000\013\021\225\332\126\105\003\210\012\237\147\320\325
- \171\261\250\215\100\155\015\302\172\100\372\363\137\144\107\222
- \313\123\271\273\131\316\117\375\320\025\123\001\330\337\353\331
- \346\166\357\320\043\273\073\251\171\263\325\002\051\315\211\243
- \226\017\112\065\347\116\102\300\165\315\007\317\346\054\353\173
- \056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CFCA EV ROOT"
- # Issuer: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
- # Serial Number: 407555286 (0x184accd6)
- # Subject: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
- # Not Valid Before: Wed Aug 08 03:07:01 2012
- # Not Valid After : Mon Dec 31 03:07:01 2029
- # Fingerprint (SHA-256): 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD
-@@ -26228,16 +26375,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\346\025\204\067\360\302\362\145\226\222\220\167\360\255\364
- \220\351\021\170\327\223\211\300\075\013\272\051\364\350\231\235
- \162\216\355\235\057\356\222\175\241\361\377\135\272\063\140\205
- \142\376\007\002\241\204\126\106\276\226\012\232\023\327\041\114
- \267\174\007\237\116\116\077\221\164\373\047\235\021\314\335\346
- \261\312\161\115\023\027\071\046\305\051\041\053\223\051\152\226
- \372\253\101\341\113\266\065\013\300\233\025
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TRKTRUST Elektronik Sertifika Hizmet Salaycs H5"
- # Issuer: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H5,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:00:8e:17:fe:24:20:81
- # Subject: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H5,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Tue Apr 30 08:07:01 2013
- # Not Valid After : Fri Apr 28 08:07:01 2023
- # Fingerprint (SHA-256): 49:35:1B:90:34:44:C1:85:CC:DC:5C:69:3D:24:D8:55:5C:B2:08:D6:A8:14:13:07:69:9F:4A:F0:63:19:9D:78
-@@ -26388,16 +26536,17 @@ CKA_VALUE MULTILINE_OCTAL
- \200\216\255\176\121\000\116\307\226\206\373\103\230\167\175\050
- \307\217\330\052\156\347\204\157\227\101\051\000\026\136\115\342
- \023\352\131\300\143\147\072\104\373\230\374\004\323\060\162\246
- \366\207\011\127\255\166\246\035\143\232\375\327\145\310\170\203
- \053\165\073\245\133\270\015\135\177\276\043\256\126\125\224\130
- \357\037\201\214\052\262\315\346\233\143\236\030\274\345\153\006
- \264\013\230\113\050\136\257\210\130\313
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TRKTRUST Elektronik Sertifika Hizmet Salaycs H6"
- # Issuer: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H6,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:7d:a1:f2:65:ec:8a
- # Subject: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H6,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Wed Dec 18 09:04:10 2013
- # Not Valid After : Sat Dec 16 09:04:10 2023
- # Fingerprint (SHA-256): 8D:E7:86:55:E1:BE:7F:78:47:80:0B:93:F6:94:D2:1D:36:8C:C0:6E:03:3E:7F:AB:04:BB:5E:B9:9D:A6:B7:00
-@@ -26559,16 +26708,17 @@ CKA_VALUE MULTILINE_OCTAL
- \307\132\141\315\217\201\140\025\115\200\335\220\342\175\304\120
- \362\214\073\156\112\307\306\346\200\053\074\201\274\021\200\026
- \020\047\327\360\315\077\171\314\163\052\303\176\123\221\326\156
- \370\365\363\307\320\121\115\216\113\245\133\346\031\027\073\326
- \201\011\334\042\334\356\216\271\304\217\123\341\147\273\063\270
- \210\025\106\317\355\151\065\377\165\015\106\363\316\161\341\305
- \153\206\102\006\271\101
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certinomis - Root CA"
- # Issuer: CN=Certinomis - Root CA,OU=0002 433998903,O=Certinomis,C=FR
- # Serial Number: 1 (0x1)
- # Subject: CN=Certinomis - Root CA,OU=0002 433998903,O=Certinomis,C=FR
- # Not Valid Before: Mon Oct 21 09:17:18 2013
- # Not Valid After : Fri Oct 21 09:17:18 2033
- # Fingerprint (SHA-256): 2A:99:F5:BC:11:74:B7:3C:BB:1D:62:08:84:E0:1C:34:E5:1C:CB:39:78:DA:12:5F:0E:33:26:88:83:BF:41:58
-@@ -26697,16 +26847,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\253\226\300\264\113\242\035\227\236\172\362\156\100\161\337
- \150\361\145\115\316\174\005\337\123\145\251\245\360\261\227\004
- \160\025\106\003\230\324\322\277\124\264\240\130\175\122\157\332
- \126\046\142\324\330\333\211\061\157\034\360\042\302\323\142\034
- \065\315\114\151\025\124\032\220\230\336\353\036\137\312\167\307
- \313\216\075\103\151\234\232\130\320\044\073\337\033\100\226\176
- \065\255\201\307\116\161\272\210\023
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OISTE WISeKey Global Root GB CA"
- # Issuer: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
- # Serial Number:76:b1:20:52:74:f0:85:87:46:b3:f8:23:1a:f6:c2:c0
- # Subject: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
- # Not Valid Before: Mon Dec 01 15:00:32 2014
- # Not Valid After : Thu Dec 01 15:10:31 2039
- # Fingerprint (SHA-256): 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6
-@@ -26831,16 +26982,17 @@ CKA_VALUE MULTILINE_OCTAL
- \171\266\063\131\272\017\304\013\342\160\240\113\170\056\372\310
- \237\375\257\221\145\012\170\070\025\345\227\027\024\335\371\340
- \054\064\370\070\320\204\042\000\300\024\121\030\053\002\334\060
- \132\360\350\001\174\065\072\043\257\010\344\257\252\216\050\102
- \111\056\360\365\231\064\276\355\017\113\030\341\322\044\074\273
- \135\107\267\041\362\215\321\012\231\216\343\156\076\255\160\340
- \217\271\312\314\156\201\061\366\173\234\172\171\344\147\161\030
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certification Authority of WoSign G2"
- # Issuer: CN=Certification Authority of WoSign G2,O=WoSign CA Limited,C=CN
- # Serial Number:6b:25:da:8a:88:9d:7c:bc:0f:05:b3:b1:7a:61:45:44
- # Subject: CN=Certification Authority of WoSign G2,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Nov 08 00:58:58 2014
- # Not Valid After : Tue Nov 08 00:58:58 2044
- # Fingerprint (SHA-256): D4:87:A5:6F:83:B0:74:82:E8:5E:96:33:94:C1:EC:C2:C9:E5:1D:09:03:EE:94:6B:02:C3:01:58:1E:D9:9E:16
-@@ -26939,16 +27091,17 @@ CKA_VALUE MULTILINE_OCTAL
- \004\003\003\003\150\000\060\145\002\061\000\344\244\204\260\201
- \325\075\260\164\254\224\244\350\016\075\000\164\114\241\227\153
- \371\015\121\074\241\331\073\364\015\253\251\237\276\116\162\312
- \205\324\331\354\265\062\105\030\157\253\255\002\060\175\307\367
- \151\143\057\241\341\230\357\023\020\321\171\077\321\376\352\073
- \177\336\126\364\220\261\025\021\330\262\042\025\320\057\303\046
- \056\153\361\221\262\220\145\364\232\346\220\356\112
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA WoSign ECC Root"
- # Issuer: CN=CA WoSign ECC Root,O=WoSign CA Limited,C=CN
- # Serial Number:68:4a:58:70:80:6b:f0:8f:02:fa:f6:de:e8:b0:90:90
- # Subject: CN=CA WoSign ECC Root,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Nov 08 00:58:58 2014
- # Not Valid After : Tue Nov 08 00:58:58 2044
- # Fingerprint (SHA-256): 8B:45:DA:1C:06:F7:91:EB:0C:AB:F2:6B:E5:88:F5:FB:23:16:5C:2E:61:4B:F8:85:56:2D:0D:CE:50:B2:9B:02
-@@ -27071,16 +27224,17 @@ CKA_VALUE MULTILINE_OCTAL
- \322\324\141\372\325\025\333\327\237\207\121\124\353\245\343\353
- \311\205\240\045\040\067\373\216\316\014\064\204\341\074\201\262
- \167\116\103\245\210\137\206\147\241\075\346\264\134\141\266\076
- \333\376\267\050\305\242\007\256\265\312\312\215\052\022\357\227
- \355\302\060\244\311\052\172\373\363\115\043\033\231\063\064\240
- \056\365\251\013\077\324\135\341\317\204\237\342\031\302\137\212
- \326\040\036\343\163\267
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "SZAFIR ROOT CA2"
- # Issuer: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL
- # Serial Number:3e:8a:5d:07:ec:55:d2:32:d5:b7:e3:b6:5f:01:eb:2d:dc:e4:d6:e4
- # Subject: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL
- # Not Valid Before: Mon Oct 19 07:43:30 2015
- # Not Valid After : Fri Oct 19 07:43:30 2035
- # Fingerprint (SHA-256): A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE
-@@ -27248,16 +27402,17 @@ CKA_VALUE MULTILINE_OCTAL
- \134\002\312\054\330\157\112\007\331\311\065\332\100\165\362\304
- \247\031\157\236\102\020\230\165\346\225\213\140\274\355\305\022
- \327\212\316\325\230\134\126\226\003\305\356\167\006\065\377\317
- \344\356\077\023\141\356\333\332\055\205\360\315\256\235\262\030
- \011\105\303\222\241\162\027\374\107\266\240\013\054\361\304\336
- \103\150\010\152\137\073\360\166\143\373\314\006\054\246\306\342
- \016\265\271\276\044\217
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certum Trusted Network CA 2"
- # Issuer: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Serial Number:21:d6:d0:4a:4f:25:0f:c9:32:37:fc:aa:5e:12:8d:e9
- # Subject: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Not Valid Before: Thu Oct 06 08:39:56 2011
- # Not Valid After : Sat Oct 06 08:39:56 2046
- # Fingerprint (SHA-256): B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04
-@@ -27434,16 +27589,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\314\073\330\167\067\060\242\117\331\157\321\362\100\255\101
- \172\027\305\326\112\065\211\267\101\325\174\206\177\125\115\203
- \112\245\163\040\300\072\257\220\361\232\044\216\331\216\161\312
- \173\270\206\332\262\217\231\076\035\023\015\022\021\356\324\253
- \360\351\025\166\002\344\340\337\252\040\036\133\141\205\144\100
- \251\220\227\015\255\123\322\132\035\207\152\000\227\145\142\264
- \276\157\152\247\365\054\102\355\062\255\266\041\236\276\274
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Hellenic Academic and Research Institutions RootCA 2015"
- # Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Not Valid Before: Tue Jul 07 10:11:21 2015
- # Not Valid After : Sat Jun 30 10:11:21 2040
- # Fingerprint (SHA-256): A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36
-@@ -27569,16 +27725,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\060\144\002\060\147\316\026\142\070\242\254\142\105\247\251
- \225\044\300\032\047\234\062\073\300\300\325\272\251\347\370\004
- \103\123\205\356\122\041\336\235\365\045\203\076\236\130\113\057
- \327\147\023\016\041\002\060\005\341\165\001\336\150\355\052\037
- \115\114\011\010\015\354\113\255\144\027\050\347\165\316\105\145
- \162\041\027\313\042\101\016\214\023\230\070\232\124\155\233\312
- \342\174\352\002\130\042\221
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Hellenic Academic and Research Institutions ECC RootCA 2015"
- # Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Not Valid Before: Tue Jul 07 10:37:12 2015
- # Not Valid After : Sat Jun 30 10:37:12 2040
- # Fingerprint (SHA-256): 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33
-@@ -27733,16 +27890,17 @@ CKA_VALUE MULTILINE_OCTAL
- \040\222\334\102\204\277\001\253\207\300\325\040\202\333\306\271
- \203\205\102\134\017\103\073\152\111\065\325\230\364\025\277\372
- \141\201\014\011\040\030\322\320\027\014\313\110\000\120\351\166
- \202\214\144\327\072\240\007\125\314\036\061\300\357\072\264\145
- \373\343\277\102\153\236\017\250\275\153\230\334\330\333\313\213
- \244\335\327\131\364\156\335\376\252\303\221\320\056\102\007\300
- \014\115\123\315\044\261\114\133\036\121\364\337\351\222\372
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certplus Root CA G1"
- # Issuer: CN=Certplus Root CA G1,O=Certplus,C=FR
- # Serial Number:11:20:55:83:e4:2d:3e:54:56:85:2d:83:37:b7:2c:dc:46:11
- # Subject: CN=Certplus Root CA G1,O=Certplus,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 15:2A:40:2B:FC:DF:2C:D5:48:05:4D:22:75:B3:9C:7F:CA:3E:C0:97:80:78:B0:F0:EA:76:E5:61:A6:C7:43:3E
-@@ -27838,16 +27996,17 @@ CKA_VALUE MULTILINE_OCTAL
- \110\316\075\004\003\003\003\150\000\060\145\002\060\160\376\260
- \013\331\367\203\227\354\363\125\035\324\334\263\006\016\376\063
- \230\235\213\071\220\153\224\041\355\266\327\135\326\114\327\041
- \247\347\277\041\017\053\315\367\052\334\205\007\235\002\061\000
- \206\024\026\345\334\260\145\302\300\216\024\237\277\044\026\150
- \345\274\371\171\151\334\255\105\053\367\266\061\163\314\006\245
- \123\223\221\032\223\256\160\152\147\272\327\236\345\141\032\137
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certplus Root CA G2"
- # Issuer: CN=Certplus Root CA G2,O=Certplus,C=FR
- # Serial Number:11:20:d9:91:ce:ae:a3:e8:c5:e7:ff:e9:02:af:cf:73:bc:55
- # Subject: CN=Certplus Root CA G2,O=Certplus,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 6C:C0:50:41:E6:44:5E:74:69:6C:4C:FB:C9:F8:0F:54:3B:7E:AB:BB:44:B4:CE:6F:78:7C:6A:99:71:C4:2F:17
-@@ -27999,16 +28158,17 @@ CKA_VALUE MULTILINE_OCTAL
- \076\355\154\275\375\016\235\146\163\260\075\264\367\277\250\340
- \021\244\304\256\165\011\112\143\000\110\040\246\306\235\013\011
- \212\264\340\346\316\076\307\076\046\070\351\053\336\246\010\111
- \003\004\220\212\351\217\277\350\266\264\052\243\043\215\034\034
- \262\071\222\250\217\002\134\100\071\165\324\163\101\002\167\336
- \315\340\103\207\326\344\272\112\303\154\022\177\376\052\346\043
- \326\214\161
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G1"
- # Issuer: CN=OpenTrust Root CA G1,O=OpenTrust,C=FR
- # Serial Number:11:20:b3:90:55:39:7d:7f:36:6d:64:c2:a7:9f:6b:63:8e:67
- # Subject: CN=OpenTrust Root CA G1,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 08:45:50 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 56:C7:71:28:D9:8C:18:D9:1B:4C:FD:FF:BC:25:EE:91:03:D4:75:8E:A2:AB:AD:82:6A:90:F3:45:7D:46:0E:B4
-@@ -28161,16 +28321,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\335\147\023\157\035\150\044\213\117\267\164\201\345\364\140
- \237\172\125\327\076\067\332\026\153\076\167\254\256\030\160\225
- \010\171\051\003\212\376\301\073\263\077\032\017\244\073\136\037
- \130\241\225\311\253\057\163\112\320\055\156\232\131\017\125\030
- \170\055\074\121\246\227\213\346\273\262\160\252\114\021\336\377
- \174\053\067\324\172\321\167\064\217\347\371\102\367\074\201\014
- \113\122\012
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G2"
- # Issuer: CN=OpenTrust Root CA G2,O=OpenTrust,C=FR
- # Serial Number:11:20:a1:69:1b:bf:bd:b9:bd:52:96:8f:23:e8:48:bf:26:11
- # Subject: CN=OpenTrust Root CA G2,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 27:99:58:29:FE:6A:75:15:C1:BF:E8:48:F9:C4:76:1D:B1:6C:22:59:29:25:7B:F4:0D:08:94:F2:9E:A8:BA:F2
-@@ -28270,16 +28431,17 @@ CKA_VALUE MULTILINE_OCTAL
- \061\000\217\250\334\235\272\014\004\027\372\025\351\075\057\051
- \001\227\277\201\026\063\100\223\154\374\371\355\200\160\157\252
- \217\333\204\302\213\365\065\312\006\334\144\157\150\026\341\217
- \221\271\002\061\000\330\113\245\313\302\320\010\154\351\030\373
- \132\335\115\137\044\013\260\000\041\045\357\217\247\004\046\161
- \342\174\151\345\135\232\370\101\037\073\071\223\223\235\125\352
- \315\215\361\373\301
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G3"
- # Issuer: CN=OpenTrust Root CA G3,O=OpenTrust,C=FR
- # Serial Number:11:20:e6:f8:4c:fc:24:b0:be:05:40:ac:da:83:1b:34:60:3f
- # Subject: CN=OpenTrust Root CA G3,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): B7:C3:62:31:70:6E:81:07:8C:36:7C:B8:96:19:8F:1E:32:08:DD:92:69:49:DD:8F:57:09:A4:10:F7:5B:62:92
-@@ -28433,16 +28595,17 @@ CKA_VALUE MULTILINE_OCTAL
- \242\320\141\070\341\226\270\254\135\213\067\327\165\325\063\300
- \231\021\256\235\101\301\162\165\204\276\002\101\102\137\147\044
- \110\224\321\233\047\276\007\077\271\270\117\201\164\121\341\172
- \267\355\235\043\342\276\340\325\050\004\023\074\061\003\236\335
- \172\154\217\306\007\030\306\177\336\107\216\077\050\236\004\006
- \317\245\124\064\167\275\354\211\233\351\027\103\337\133\333\137
- \376\216\036\127\242\315\100\235\176\142\042\332\336\030\047
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "ISRG Root X1"
- # Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US
- # Serial Number:00:82:10:cf:b0:d2:40:e3:59:44:63:e0:bb:63:82:8b:00
- # Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US
- # Not Valid Before: Thu Jun 04 11:04:38 2015
- # Not Valid After : Mon Jun 04 11:04:38 2035
- # Fingerprint (SHA-256): 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6
-@@ -28595,16 +28758,17 @@ CKA_VALUE MULTILINE_OCTAL
- \152\260\272\061\222\102\100\152\276\072\323\162\341\152\067\125
- \274\254\035\225\267\151\141\362\103\221\164\346\240\323\012\044
- \106\241\010\257\326\332\105\031\226\324\123\035\133\204\171\360
- \300\367\107\357\213\217\305\006\256\235\114\142\235\377\106\004
- \370\323\311\266\020\045\100\165\376\026\252\311\112\140\206\057
- \272\357\060\167\344\124\342\270\204\231\130\200\252\023\213\121
- \072\117\110\366\213\266\263
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "AC RAIZ FNMT-RCM"
- # Issuer: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES
- # Serial Number:5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07
- # Subject: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES
- # Not Valid Before: Wed Oct 29 15:59:56 2008
- # Not Valid After : Tue Jan 01 00:00:00 2030
- # Fingerprint (SHA-256): EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA
-@@ -28719,16 +28883,17 @@ CKA_VALUE MULTILINE_OCTAL
- \331\017\110\160\232\331\165\170\161\321\162\103\064\165\156\127
- \131\302\002\134\046\140\051\317\043\031\026\216\210\103\245\324
- \344\313\010\373\043\021\103\350\103\051\162\142\241\251\135\136
- \010\324\220\256\270\330\316\024\302\320\125\362\206\366\304\223
- \103\167\146\141\300\271\350\101\327\227\170\140\003\156\112\162
- \256\245\321\175\272\020\236\206\154\033\212\271\131\063\370\353
- \304\220\276\361\271
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 1"
- # Issuer: CN=Amazon Root CA 1,O=Amazon,C=US
- # Serial Number:06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca
- # Subject: CN=Amazon Root CA 1,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sun Jan 17 00:00:00 2038
- # Fingerprint (SHA-256): 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
-@@ -28875,16 +29040,17 @@ CKA_VALUE MULTILINE_OCTAL
- \357\242\245\134\214\167\051\247\150\300\153\256\100\322\250\264
- \352\315\360\215\113\070\234\031\232\033\050\124\270\211\220\357
- \312\165\201\076\036\362\144\044\307\030\257\116\377\107\236\007
- \366\065\145\244\323\012\126\377\365\027\144\154\357\250\042\045
- \111\223\266\337\000\027\332\130\176\135\356\305\033\260\321\321
- \137\041\020\307\371\363\272\002\012\047\007\305\361\326\307\323
- \340\373\011\140\154
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 2"
- # Issuer: CN=Amazon Root CA 2,O=Amazon,C=US
- # Serial Number:06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37
- # Subject: CN=Amazon Root CA 2,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
-@@ -28974,16 +29140,17 @@ CKA_VALUE MULTILINE_OCTAL
- \266\333\327\006\236\067\254\060\206\007\221\160\307\234\304\031
- \261\170\300\060\012\006\010\052\206\110\316\075\004\003\002\003
- \111\000\060\106\002\041\000\340\205\222\243\027\267\215\371\053
- \006\245\223\254\032\230\150\141\162\372\341\241\320\373\034\170
- \140\246\103\231\305\270\304\002\041\000\234\002\357\361\224\234
- \263\226\371\353\306\052\370\266\054\376\072\220\024\026\327\214
- \143\044\110\034\337\060\175\325\150\073
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 3"
- # Issuer: CN=Amazon Root CA 3,O=Amazon,C=US
- # Serial Number:06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a
- # Subject: CN=Amazon Root CA 3,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
-@@ -29077,16 +29244,17 @@ CKA_VALUE MULTILINE_OCTAL
- \145\002\060\072\213\041\361\275\176\021\255\320\357\130\226\057
- \326\353\235\176\220\215\053\317\146\125\303\054\343\050\251\160
- \012\107\016\360\067\131\022\377\055\231\224\050\116\052\117\065
- \115\063\132\002\061\000\352\165\000\116\073\304\072\224\022\221
- \311\130\106\235\041\023\162\247\210\234\212\344\114\112\333\226
- \324\254\213\153\153\111\022\123\063\255\327\344\276\044\374\265
- \012\166\324\245\274\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 4"
- # Issuer: CN=Amazon Root CA 4,O=Amazon,C=US
- # Serial Number:06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e
- # Subject: CN=Amazon Root CA 4,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
-@@ -29243,16 +29411,17 @@ CKA_VALUE MULTILINE_OCTAL
- \105\111\231\164\221\260\004\157\343\004\132\261\253\052\253\376
- \307\320\226\266\332\341\112\144\006\156\140\115\275\102\116\377
- \170\332\044\312\033\264\327\226\071\154\256\361\016\252\247\175
- \110\213\040\114\317\144\326\270\227\106\260\116\321\052\126\072
- \240\223\275\257\200\044\340\012\176\347\312\325\312\350\205\125
- \334\066\052\341\224\150\223\307\146\162\104\017\200\041\062\154
- \045\307\043\200\203\012\353
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "LuxTrust Global Root 2"
- # Issuer: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU
- # Serial Number:0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1
- # Subject: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU
- # Not Valid Before: Thu Mar 05 13:21:57 2015
- # Not Valid After : Mon Mar 05 13:21:57 2035
- # Fingerprint (SHA-256): 54:45:5F:71:29:C2:0B:14:47:C4:18:F9:97:16:8F:24:C5:8F:C5:02:3B:F5:DA:5B:E2:EB:6E:1D:D8:90:2E:D5
-@@ -29391,16 +29560,17 @@ CKA_VALUE MULTILINE_OCTAL
- \347\066\321\041\150\113\055\070\346\123\256\034\045\126\010\126
- \003\147\204\235\306\303\316\044\142\307\114\066\317\260\006\104
- \267\365\137\002\335\331\124\351\057\220\116\172\310\116\203\100
- \014\232\227\074\067\277\277\354\366\360\264\205\167\050\301\013
- \310\147\202\020\027\070\242\267\006\352\233\277\072\370\351\043
- \007\277\164\340\230\070\025\125\170\356\162\000\134\031\243\364
- \322\063\340\377\275\321\124\071\051\017
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 1 Public Primary Certification Authority - G6"
- # Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:24:32:75:f2:1d:2f:d2:09:33:f7:b4:6a:ca:d0:f3:98
- # Subject: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Tue Oct 18 00:00:00 2011
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (SHA-256): 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9
-@@ -29544,16 +29714,17 @@ CKA_VALUE MULTILINE_OCTAL
- \111\315\245\243\214\151\171\045\256\270\114\154\213\100\146\113
- \026\077\317\002\032\335\341\154\153\007\141\152\166\025\051\231
- \177\033\335\210\200\301\277\265\217\163\305\246\226\043\204\246
- \050\206\044\063\152\001\056\127\163\045\266\136\277\217\346\035
- \141\250\100\051\147\035\207\233\035\177\233\237\231\315\061\326
- \124\276\142\273\071\254\150\022\110\221\040\245\313\261\335\376
- \157\374\132\344\202\125\131\257\061\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 2 Public Primary Certification Authority - G6"
- # Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:64:82:9e:fc:37:1e:74:5d:fc:97:ff:97:c8:b1:ff:41
- # Subject: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Tue Oct 18 00:00:00 2011
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (SHA-256): CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0
-@@ -29676,16 +29847,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\245\256\343\106\123\370\230
- \066\343\042\372\056\050\111\015\356\060\176\063\363\354\077\161
- \136\314\125\211\170\231\254\262\375\334\034\134\063\216\051\271
- \153\027\310\021\150\265\334\203\007\002\061\000\234\310\104\332
- \151\302\066\303\124\031\020\205\002\332\235\107\357\101\347\154
- \046\235\011\075\367\155\220\321\005\104\057\260\274\203\223\150
- \362\014\105\111\071\277\231\004\034\323\020\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 1 Public Primary Certification Authority - G4"
- # Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8
- # Subject: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Wed Oct 05 00:00:00 2011
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 36:3F:3C:84:9E:AB:03:B0:A2:A0:F6:36:D7:B8:6D:04:D3:AC:7F:CF:E2:6A:0A:91:21:AB:97:95:F6:E1:76:DF
-@@ -29808,16 +29980,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\310\246\251\257\101\177\265
- \311\021\102\026\150\151\114\134\270\047\030\266\230\361\300\177
- \220\155\207\323\214\106\027\360\076\117\374\352\260\010\304\172
- \113\274\010\057\307\342\247\157\145\002\061\000\326\131\336\206
- \316\137\016\312\124\325\306\320\025\016\374\213\224\162\324\216
- \000\130\123\317\176\261\113\015\345\120\206\353\236\153\337\377
- \051\246\330\107\331\240\226\030\333\362\105\263
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 2 Public Primary Certification Authority - G4"
- # Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e
- # Subject: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Wed Oct 05 00:00:00 2011
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): FE:86:3D:08:22:FE:7A:23:53:FA:48:4D:59:24:E8:75:65:6D:3D:C9:FB:58:77:1F:6F:61:6F:9D:57:1B:C5:92
-diff --git a/lib/nss/nss.def b/lib/nss/nss.def
---- a/lib/nss/nss.def
-+++ b/lib/nss/nss.def
-@@ -1092,8 +1092,15 @@ SECMOD_CreateModuleEx;
- ;+};
- ;+NSS_3.22 { # NSS 3.22 release
- ;+ global:
- PK11_SignWithMechanism;
- PK11_VerifyWithMechanism;
- ;+ local:
- ;+ *;
- ;+};
-+;+NSS_3.30 { # NSS 3.30 release
-+;+ global:
-+CERT_CompareAVA;
-+PK11_HasAttributeSet;
-+;+ local:
-+;+ *;
-+;+};
-diff --git a/lib/util/pkcs11n.h b/lib/util/pkcs11n.h
---- a/lib/util/pkcs11n.h
-+++ b/lib/util/pkcs11n.h
-@@ -88,16 +88,18 @@
- #define CKA_NSS_JPAKE_PEERID (CKA_NSS + 27)
- #define CKA_NSS_JPAKE_GX1 (CKA_NSS + 28)
- #define CKA_NSS_JPAKE_GX2 (CKA_NSS + 29)
- #define CKA_NSS_JPAKE_GX3 (CKA_NSS + 30)
- #define CKA_NSS_JPAKE_GX4 (CKA_NSS + 31)
- #define CKA_NSS_JPAKE_X2 (CKA_NSS + 32)
- #define CKA_NSS_JPAKE_X2S (CKA_NSS + 33)
-
-+#define CKA_NSS_MOZILLA_CA_POLICY (CKA_NSS + 34)
-+
- /*
- * Trust attributes:
- *
- * If trust goes standard, these probably will too. So I'll
- * put them all in one place.
- */
-
- #define CKA_TRUST (CKA_NSS + 0x2000)
diff --git a/seamonkey-2.46-exthandler.patch b/seamonkey-2.46-exthandler.patch
deleted file mode 100644
index 60fe822..0000000
--- a/seamonkey-2.46-exthandler.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nrbu seamonkey-2.35/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp seamonkey-2.35-OK/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
---- seamonkey-2.35/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 2015-09-28 15:41:04.000000000 +0300
-+++ seamonkey-2.35-OK/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 2016-01-23 22:22:15.951365797 +0300
-@@ -118,11 +118,21 @@
- uri->GetSpec(uriSpec);
-
- nsCOMPtr<nsIGIOMimeApp> app;
-- if (NS_FAILED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) || !app) {
-- return NS_ERROR_FILE_NOT_FOUND;
-- }
-+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
-+ return app->Launch(uriSpec);
-
-+ // If we haven't got an app we try to get a valid one by searching for the
-+ // extension mapped type
-+ RefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromExtension(nativePath);
-+ if (mimeInfo) {
-+ nsAutoCString type;
-+ mimeInfo->GetType(type);
-+ nsCOMPtr<nsIGIOMimeApp> app;
-+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
- return app->Launch(uriSpec);
-+ }
-+
-+ return NS_ERROR_FILE_NOT_FOUND;
- }
-
- #if defined(MOZ_ENABLE_CONTENTACTION)
diff --git a/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch b/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
deleted file mode 100644
index 863cb2c..0000000
--- a/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
+++ /dev/null
@@ -1,277 +0,0 @@
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css 1970-01-01 03:00:00.000000000 +0300
-@@ -1,220 +0,0 @@
--/* This Source Code Form is subject to the terms of 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/. */
--
--/* ===== xulscrollbars.css ==============================================
-- == Styles used by XUL scrollbar-related elements.
-- ======================================================================= */
--
--@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
--@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
--
--/* ::::: scrollbar ::::: */
--
--scrollbar {
-- -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
-- cursor: default;
-- background: #888888;
-- border-left: 1px solid #555555;
-- border-right: 1px solid #555555;
--}
--
--scrollbar[orient="vertical"]
--{
-- -moz-appearance: scrollbar-vertical;
-- border-left: none;
-- border-right: none;
-- border-top: 1px solid #555555;
-- border-bottom: 1px solid #555555;
--}
--
--/* ::::: borders for thumb and buttons ::::: */
--
--thumb,
--scrollbarbutton {
-- border: 1px solid #555555;
-- background-color: -moz-Dialog;
--}
--
--/* ::::: thumb (horizontal) ::::: */
--
--thumb {
-- min-height: 8px;
--}
--
--thumb[orient="horizontal"] {
-- min-width: 8px;
--}
--
--/* ::::: scrollbar button ::::: */
--
--scrollbarbutton {
-- background: -moz-Dialog no-repeat 50% 50%;
-- min-width: 16px;
-- min-height: 16px;
--}
--
--scrollbarbutton:hover:active, scrollbarbutton[active="true"] {
-- border-color: #999999;
-- background-position: 60% 60%;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-bottom"],
--scrollbarbutton[sbattr="scrollbar-down-top"] {
-- display: none;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-top"],
--scrollbarbutton[sbattr="scrollbar-down-bottom"] {
-- display: -moz-box !important;
--}
--
--/* ::::: square at the corner of two scrollbars ::::: */
--
--scrollcorner {
-- /* XXX -moz-appearance: scrollcorner; */
-- -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
-- width: 16px;
-- cursor: default;
-- background-color: -moz-Dialog;
--}
--
--/* ..... increment .... */
--
--scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-right;
-- background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
--}
--
--scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-down;
-- background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
--}
--
--/* ..... decrement .... */
--
--scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-left;
-- background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
--}
--
--scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-up;
-- background-image: url("chrome://global/skin/arrow/arrow-up.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
--}
--
--/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
--/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
--/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
--@media print {
-- /* ::::: scrollbar ::::: */
--
-- html|div scrollbar {
-- -moz-appearance: scrollbar-horizontal;
-- -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
-- cursor: default;
-- background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
-- }
--
-- html|div scrollbar[orient="vertical"]
-- {
-- -moz-appearance: scrollbar-vertical;
-- }
--
-- /* ::::: borders for thumb and buttons ::::: */
--
-- html|div thumb,
-- html|div scrollbarbutton {
-- border: 2px solid;
-- -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
-- -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
-- -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
-- -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
-- background-color: -moz-Dialog;
-- }
--
-- /* ::::: thumb (horizontal) ::::: */
--
-- html|div thumb {
-- -moz-appearance: scrollbarthumb-vertical;
-- min-height: 8px;
-- }
--
-- html|div thumb[orient="horizontal"] {
-- -moz-appearance: scrollbarthumb-horizontal;
-- min-width: 8px;
-- }
--
-- /* ::::: scrollbar button ::::: */
--
-- html|div scrollbarbutton {
-- background: -moz-Dialog no-repeat 50% 50%;
-- min-width: 16px;
-- min-height: 16px;
-- }
--
-- html|div scrollbarbutton:hover:active, html|div scrollbarbutton[active="true"] {
-- -moz-border-top-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-right-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-left-colors: ThreeDShadow -moz-Dialog;
-- background-position: 60% 60%;
-- }
--
-- /* ..... increment .... */
--
-- html|div scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-right;
-- background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
-- }
--
-- html|div scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-down;
-- background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
-- }
--
-- /* ..... decrement .... */
--
-- html|div scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-left;
-- background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
-- }
--
-- html|div scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-up;
-- background-image: url("chrome://global/skin/arrow/arrow-up.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
-- }
--
--}
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/jar.mn seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/jar.mn
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/jar.mn 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/jar.mn 2018-02-18 02:13:26.326949709 +0300
-@@ -64,7 +64,6 @@
- * skin/classic/communicator/communicator.css (communicator/communicator.css)
- skin/classic/communicator/config.css (communicator/config.css)
- skin/classic/communicator/toolbar.css (communicator/toolbar.css)
-- skin/classic/communicator/scrollbars.css (communicator/scrollbars.css)
- skin/classic/communicator/viewSourceOverlay.css (communicator/viewSourceOverlay.css)
- skin/classic/communicator/bookmarks/bookmark-folder-closed.png (communicator/bookmarks/bookmark-folder-closed.png)
- skin/classic/communicator/bookmarks/bookmark-folder-dis.png (communicator/bookmarks/bookmark-folder-dis.png)
-@@ -503,7 +502,3 @@
- #ifdef XP_WIN
- % override chrome://communicator/skin/console/console-toolbar.png chrome://communicator/skin/console/console-toolbar-XP.png osversion<6
- #endif
--
--#ifdef MOZ_WIDGET_GTK
--% override chrome://global/skin/scrollbars.css chrome://communicator/skin/scrollbars.css
--#endif
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css 2018-02-18 02:13:26.326949709 +0300
-@@ -48,18 +48,6 @@
- -moz-border-left-colors: #111111 #D5FCF3 #D4DBE3;
- }
-
--%ifdef MOZ_WIDGET_GTK
--scrollbarbutton[sbattr="scrollbar-up-bottom"],
--scrollbarbutton[sbattr="scrollbar-down-top"] {
-- display: none;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-top"],
--scrollbarbutton[sbattr="scrollbar-down-bottom"] {
-- display: -moz-box !important;
--}
--%endif
--
- /* ::::: thumb (horizontal) ::::: */
-
- thumb {
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/jar.mn seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/jar.mn
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/jar.mn 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/jar.mn 2018-02-18 02:13:26.362948332 +0300
-@@ -238,7 +238,7 @@
- skin/modern/global/toolbarbutton.css (global/toolbarbutton.css)
- skin/modern/global/tree.css (global/tree.css)
- skin/modern/global/wizard.css (global/wizard.css)
--* skin/modern/global/scrollbars.css (global/scrollbars.css)
-+ skin/modern/global/scrollbars.css (global/scrollbars.css)
- skin/modern/global/scrollbars-mini.css (global/scrollbars-mini.css)
- skin/modern/global/alerts/alert.css (global/alerts/alert.css)
- skin/modern/global/alerts/notification-48.png (global/alerts/notification-48.png)
diff --git a/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch b/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
deleted file mode 100644
index df77fad..0000000
--- a/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css 2018-02-18 02:04:28.764239372 +0300
-@@ -50,14 +50,6 @@
- margin-bottom: 0px;
- padding-top: 2px; /* compensates the top margin of background tabs */
- padding-bottom: 3px; /* compensates the bottom margin of background tabs */
-- background-color: -moz-dialog;
-- -moz-border-top-colors: unset;
-- -moz-border-right-colors: unset;
-- color: -moz-dialogtext;
-- border: 1px solid Gray;
-- border-top: 2px solid RoyalBlue;
-- border-bottom: 0px none;
-- -moz-appearance: none;
- }
-
- .tabbrowser-tab:-moz-lwtheme {
diff --git a/seamonkey-2.49.4-gettid.patch b/seamonkey-2.49.4-gettid.patch
deleted file mode 100644
index 81d5eab..0000000
--- a/seamonkey-2.49.4-gettid.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Nrbu seamonkey-2.49.4/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h seamonkey-2.49.4-OK/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h
---- seamonkey-2.49.4/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h 2018-07-12 05:19:15.000000000 +0300
-+++ seamonkey-2.49.4-OK/seamonkey-2.49.4/mozilla/tools/profiler/core/platform.h 2019-07-27 20:31:47.675086876 +0300
-@@ -65,10 +65,7 @@
- #include <unistd.h>
- #if !defined(__BIONIC__)
- #include <sys/syscall.h>
--static inline pid_t gettid()
--{
-- return (pid_t) syscall(SYS_gettid);
--}
-+
- #endif
- #endif
-
diff --git a/seamonkey-2.49.5-crmf.patch b/seamonkey-2.49.5-crmf.patch
deleted file mode 100644
index 3736249..0000000
--- a/seamonkey-2.49.5-crmf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build 2019-05-06 20:30:52.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build 2019-08-12 01:40:45.891454909 +0300
-@@ -184,10 +184,6 @@
-
- DEFINES['CERT_AddTempCertToPerm'] = '__CERT_AddTempCertToPerm'
-
--USE_LIBS += [
-- 'crmf',
--]
--
- include('/ipc/chromium/chromium-config.mozbuild')
-
- if CONFIG['GNU_CXX']:
diff --git a/seamonkey-2.49.5-mozilla-1559419 b/seamonkey-2.49.5-mozilla-1559419
deleted file mode 100644
index 9b272c0..0000000
--- a/seamonkey-2.49.5-mozilla-1559419
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/suite/app/Makefile.in seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/app/Makefile.in
---- seamonkey-2.49.5/seamonkey-2.49.5/suite/app/Makefile.in 2019-07-14 00:01:29.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/app/Makefile.in 2019-08-19 22:45:02.346141684 +0300
-@@ -97,6 +97,7 @@
- $(foreach dir,$(filter-out $(DONOTPACK),$(subst $(STAGEDIST)/,,$(wildcard $(STAGEDIST)/*))),$(_PACKAGE_EXTENSIONS))
-
- tools::
-+ $(NSINSTALL) -D $(DIST)/bin/distribution/extensions
- @$(MAKE) pack-ext STAGEDIST="$(DIST)/bin/extensions"
- @$(MAKE) pack-ext STAGEDIST="$(DIST)/bin/distribution/extensions"
-
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/suite/locales/Makefile.in seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/locales/Makefile.in
---- seamonkey-2.49.5/seamonkey-2.49.5/suite/locales/Makefile.in 2019-07-14 00:01:29.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/locales/Makefile.in 2019-08-19 22:45:21.358643583 +0300
-@@ -123,7 +123,7 @@
- @$(MAKE) -C $(DEPTH)/toolkit/locales libs-$*
- @$(MAKE) -C $(DEPTH)/services/sync/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C ../../editor/ui/locales AB_CD=$* XPI_NAME=locale-$*
-- @$(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$*
-+ @$(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$* || :
- @$(MAKE) -C $(DEPTH)/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C $(DEPTH)/devtools/client/locales AB_CD=$* XPI_NAME=locale-$*
diff --git a/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch b/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
deleted file mode 100644
index 849ee74..0000000
--- a/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp 2019-08-12 02:24:31.969115146 +0300
-@@ -154,113 +154,6 @@
- const static bool kUseSimpleContextDefault = MOZ_WIDGET_GTK == 2;
-
- /******************************************************************************
-- * SelectionStyleProvider
-- *
-- * IME (e.g., fcitx, ~4.2.8.3) may look up selection colors of widget, which
-- * is related to the window associated with the IM context, to support any
-- * colored widgets. Our editor (like <input type="text">) is rendered as
-- * native GtkTextView as far as possible by default and if editor color is
-- * changed by web apps, nsTextFrame may swap background color of foreground
-- * color of composition string for making composition string is always
-- * visually distinct in normal text.
-- *
-- * So, we would like IME to set style of composition string to good colors
-- * in GtkTextView. Therefore, this class overwrites selection colors of
-- * our widget with selection colors of GtkTextView so that it's possible IME
-- * to refer selection colors of GtkTextView via our widget.
-- ******************************************************************************/
--
--class SelectionStyleProvider final
--{
--public:
-- static SelectionStyleProvider* GetInstance()
-- {
-- if (sHasShutDown) {
-- return nullptr;
-- }
-- if (!sInstance) {
-- sInstance = new SelectionStyleProvider();
-- }
-- return sInstance;
-- }
--
-- static void Shutdown()
-- {
-- if (sInstance) {
-- g_object_unref(sInstance->mProvider);
-- }
-- delete sInstance;
-- sInstance = nullptr;
-- sHasShutDown = true;
-- }
--
-- // aGDKWindow is a GTK window which will be associated with an IM context.
-- void AttachTo(GdkWindow* aGDKWindow)
-- {
-- GtkWidget* widget = nullptr;
-- // gdk_window_get_user_data() typically returns pointer to widget that
-- // window belongs to. If it's widget, fcitx retrieves selection colors
-- // of them. So, we need to overwrite its style.
-- gdk_window_get_user_data(aGDKWindow, (gpointer*)&widget);
-- if (GTK_IS_WIDGET(widget)) {
-- gtk_style_context_add_provider(
-- gtk_widget_get_style_context(widget),
-- GTK_STYLE_PROVIDER(mProvider),
-- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-- }
-- }
--
-- void OnThemeChanged()
-- {
-- // fcitx refers GtkStyle::text[GTK_STATE_SELECTED] and
-- // GtkStyle::bg[GTK_STATE_SELECTED] (although pair of text and *base*
-- // or *fg* and bg is correct). gtk_style_update_from_context() will
-- // set these colors using the widget's GtkStyleContext and so the
-- // colors can be controlled by a ":selected" CSS rule.
-- nsAutoCString style(":selected{");
-- // FYI: LookAndFeel always returns selection colors of GtkTextView.
-- nscolor selectionForegroundColor;
-- if (NS_SUCCEEDED(LookAndFeel::GetColor(
-- LookAndFeel::eColorID_TextSelectForeground,
-- &selectionForegroundColor))) {
-- double alpha =
-- static_cast<double>(NS_GET_A(selectionForegroundColor)) / 0xFF;
-- style.AppendPrintf("color:rgba(%u,%u,%u,%f);",
-- NS_GET_R(selectionForegroundColor),
-- NS_GET_G(selectionForegroundColor),
-- NS_GET_B(selectionForegroundColor), alpha);
-- }
-- nscolor selectionBackgroundColor;
-- if (NS_SUCCEEDED(LookAndFeel::GetColor(
-- LookAndFeel::eColorID_TextSelectBackground,
-- &selectionBackgroundColor))) {
-- double alpha =
-- static_cast<double>(NS_GET_A(selectionBackgroundColor)) / 0xFF;
-- style.AppendPrintf("background-color:rgba(%u,%u,%u,%f);",
-- NS_GET_R(selectionBackgroundColor),
-- NS_GET_G(selectionBackgroundColor),
-- NS_GET_B(selectionBackgroundColor), alpha);
-- }
-- style.AppendLiteral("}");
-- gtk_css_provider_load_from_data(mProvider, style.get(), -1, nullptr);
-- }
--
--private:
-- static SelectionStyleProvider* sInstance;
-- static bool sHasShutDown;
-- GtkCssProvider* const mProvider;
--
-- SelectionStyleProvider()
-- : mProvider(gtk_css_provider_new())
-- {
-- OnThemeChanged();
-- }
--};
--
--SelectionStyleProvider* SelectionStyleProvider::sInstance = nullptr;
--bool SelectionStyleProvider::sHasShutDown = false;
--
--/******************************************************************************
- * IMContextWrapper
- ******************************************************************************/
-
-@@ -310,11 +203,6 @@
- NS_PRECONDITION(container, "container is null");
- GdkWindow* gdkWindow = gtk_widget_get_window(GTK_WIDGET(container));
-
-- // Overwrite selection colors of the window before associating the window
-- // with IM context since IME may look up selection colors via IM context
-- // to support any colored widgets.
-- SelectionStyleProvider::GetInstance()->AttachTo(gdkWindow);
--
- // NOTE: gtk_im_*_new() abort (kill) the whole process when it fails.
- // So, we don't need to check the result.
-
-@@ -363,13 +251,6 @@
- gtk_im_context_set_client_window(mDummyContext, gdkWindow);
- }
-
--/* static */
--void
--IMContextWrapper::Shutdown()
--{
-- SelectionStyleProvider::Shutdown();
--}
--
- IMContextWrapper::~IMContextWrapper()
- {
- if (this == sLastFocusedContext) {
-@@ -1154,16 +1035,6 @@
-
- /* static */
- void
--IMContextWrapper::OnThemeChanged()
--{
-- if (!SelectionStyleProvider::GetInstance()) {
-- return;
-- }
-- SelectionStyleProvider::GetInstance()->OnThemeChanged();
--}
--
--/* static */
--void
- IMContextWrapper::OnStartCompositionCallback(GtkIMContext* aContext,
- IMContextWrapper* aModule)
- {
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h 2019-05-06 20:31:09.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h 2019-08-12 02:24:31.994127437 +0300
-@@ -47,9 +47,6 @@
- // used with the instance after that).
- explicit IMContextWrapper(nsWindow* aOwnerWindow);
-
-- // Called when the process is being shut down.
-- static void Shutdown();
--
- // "Enabled" means the users can use all IMEs.
- // I.e., the focus is in the normal editors.
- bool IsEnabled() const;
-@@ -68,8 +65,6 @@
- // in the focused editor.
- void OnSelectionChange(nsWindow* aCaller,
- const IMENotification& aIMENotification);
-- // OnThemeChanged is called when desktop theme is changed.
-- static void OnThemeChanged();
-
- // OnKeyEvent is called when aWindow gets a native key press event or a
- // native key release event. If this returns TRUE, the key event was
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c 2019-05-06 20:31:09.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c 2019-08-12 02:24:31.994127437 +0300
-@@ -510,8 +510,6 @@
- #endif
-
- #ifdef GTK3_SYMBOLS
--STUB(gtk_css_provider_load_from_data)
--STUB(gtk_css_provider_new)
- STUB(gdk_device_get_source)
- STUB(gdk_device_manager_get_client_pointer)
- STUB(gdk_disable_multidevice)
-@@ -550,7 +548,6 @@
- STUB(gtk_scale_new)
- STUB(gtk_scrollbar_new)
- STUB(gtk_style_context_add_class)
--STUB(gtk_style_context_add_provider)
- STUB(gtk_style_context_add_region)
- STUB(gtk_style_context_get)
- STUB(gtk_style_context_get_background_color)
-@@ -577,7 +574,6 @@
- STUB(gtk_style_context_set_parent)
- STUB(gtk_style_context_set_state)
- STUB(gtk_style_properties_lookup_property)
--STUB(gtk_style_provider_get_type)
- STUB(gtk_tree_view_column_get_button)
- STUB(gtk_widget_get_preferred_size)
- STUB(gtk_widget_get_state_flags)
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp 2019-08-12 02:24:31.994127437 +0300
-@@ -17,7 +17,6 @@
- #include "nsWindow.h"
- #include "nsTransferable.h"
- #include "nsHTMLFormatConverter.h"
--#include "IMContextWrapper.h"
- #ifdef MOZ_X11
- #include "nsClipboardHelper.h"
- #include "nsClipboard.h"
-@@ -310,7 +309,6 @@
- nsFilePicker::Shutdown();
- nsSound::Shutdown();
- nsWindow::ReleaseGlobals();
-- IMContextWrapper::Shutdown();
- KeymapWrapper::Shutdown();
- nsGTKToolkit::Shutdown();
- nsAppShellShutdown();
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp 2019-08-12 02:24:31.996128451 +0300
-@@ -3401,8 +3401,6 @@
-
- children = children->next;
- }
--
-- IMContextWrapper::OnThemeChanged();
- }
-
- void
diff --git a/seamonkey-2.53.1-mozilla-1533969.patch b/seamonkey-2.53.1-mozilla-1533969.patch
new file mode 100644
index 0000000..8a46a1f
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-1533969.patch
@@ -0,0 +1,39 @@
+diff -Nrup -U 8 a/tools/profiler/core/platform.h b/tools/profiler/core/platform.h
+--- a/tools/profiler/core/platform.h 2020-02-18 02:39:44.000000000 +0300
++++ b/tools/profiler/core/platform.h 2020-03-01 06:04:13.875681471 +0300
+@@ -38,32 +38,26 @@
+ #include "mozilla/StaticMutex.h"
+ #include "mozilla/TimeStamp.h"
+ #include "mozilla/UniquePtr.h"
+ #include "mozilla/Unused.h"
+ #include "PlatformMacros.h"
+ #include <vector>
+ #include "StackTop.h"
+
+-// We need a definition of gettid(), but glibc doesn't provide a
++// We need a definition of gettid(), but old glibc versions don't provide a
+ // wrapper for it.
+ #if defined(__GLIBC__)
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-static inline pid_t gettid()
+-{
+- return (pid_t) syscall(SYS_gettid);
+-}
++#define gettid() static_cast<pid_t>(syscall(SYS_gettid))
+ #elif defined(GP_OS_darwin)
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-static inline pid_t gettid()
+-{
+- return (pid_t) syscall(SYS_thread_selfid);
+-}
++#define gettid() static_cast<pid_t>(syscall(SYS_thread_selfid))
+ #elif defined(GP_OS_android)
+ #include <unistd.h>
+ #elif defined(GP_OS_windows)
+ #include <windows.h>
+ #include <process.h>
+ #ifndef getpid
+ #define getpid _getpid
+ #endif
diff --git a/seamonkey-2.53.1-mozilla-526293.patch b/seamonkey-2.53.1-mozilla-526293.patch
new file mode 100644
index 0000000..0e73abd
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-526293.patch
@@ -0,0 +1,13 @@
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/widget/gtk/nsFilePicker.cpp.orig 2020-01-03 01:35:33.934711196 +0300
++++ seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/widget/gtk/nsFilePicker.cpp 2020-01-03 01:39:14.120136390 +0300
+@@ -396,9 +396,7 @@
+
+ void *file_chooser = GtkFileChooserNew(title.get(), parent_widget, action, accept_button);
+
+- if (mAllowURLs) {
+- gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
+- }
++ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
+
+ if (action == GTK_FILE_CHOOSER_ACTION_OPEN || action == GTK_FILE_CHOOSER_ACTION_SAVE) {
+ GtkWidget *img_preview = gtk_image_new();
diff --git a/seamonkey-2.53.1-mozilla-revert-1332139.patch b/seamonkey-2.53.1-mozilla-revert-1332139.patch
new file mode 100644
index 0000000..f4ec86b
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-revert-1332139.patch
@@ -0,0 +1,307 @@
+diff -Nrup -U 8 a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc
+--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2020-02-18 02:37:58.000000000 +0300
++++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2020-03-02 00:34:19.000000000 +0300
+@@ -79,17 +79,19 @@ VP9EncoderImpl::VP9EncoderImpl()
+ num_temporal_layers_(0),
+ num_spatial_layers_(0),
+ num_cores_(0),
+ is_flexible_mode_(false),
+ frames_encoded_(0),
+ // Use two spatial when screensharing with flexible mode.
+ spatial_layer_(new ScreenshareLayersVP9(2)) {
+ memset(&codec_, 0, sizeof(codec_));
++#ifdef LIBVPX_SVC
+ memset(&svc_params_, 0, sizeof(vpx_svc_extra_cfg_t));
++#endif
+ uint32_t seed = rtc::Time32();
+ srand(seed);
+ }
+
+ VP9EncoderImpl::~VP9EncoderImpl() {
+ Release();
+ }
+
+@@ -115,55 +117,66 @@ int VP9EncoderImpl::Release() {
+ }
+ inited_ = false;
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
+ bool VP9EncoderImpl::ExplicitlyConfiguredSpatialLayers() const {
+ // We check target_bitrate_bps of the 0th layer to see if the spatial layers
+ // (i.e. bitrates) were explicitly configured.
++#ifdef LIBVPX_SVC
+ return num_spatial_layers_ > 1 &&
+ codec_.spatialLayers[0].target_bitrate_bps > 0;
++#else
++ return false;
++#endif
+ }
+
+ bool VP9EncoderImpl::SetSvcRates() {
+ uint8_t i = 0;
+
+ if (ExplicitlyConfiguredSpatialLayers()) {
++#ifdef LIBVPX_SVC
+ if (num_temporal_layers_ > 1) {
+ LOG(LS_ERROR) << "Multiple temporal layers when manually specifying "
+ "spatial layers not implemented yet!";
+ return false;
+ }
+ int total_bitrate_bps = 0;
+ for (i = 0; i < num_spatial_layers_; ++i)
+ total_bitrate_bps += codec_.spatialLayers[i].target_bitrate_bps;
+ // If total bitrate differs now from what has been specified at the
+ // beginning, update the bitrates in the same ratio as before.
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ config_->ss_target_bitrate[i] = config_->layer_target_bitrate[i] =
+ static_cast<int>(static_cast<int64_t>(config_->rc_target_bitrate) *
+ codec_.spatialLayers[i].target_bitrate_bps /
+ total_bitrate_bps);
+ }
++#endif
+ } else {
+ float rate_ratio[VPX_MAX_LAYERS] = {0};
+ float total = 0;
+
++#ifdef LIBVPX_SVC
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ if (svc_params_.scaling_factor_num[i] <= 0 ||
+ svc_params_.scaling_factor_den[i] <= 0) {
+ LOG(LS_ERROR) << "Scaling factors not specified!";
+ return false;
+ }
+ rate_ratio[i] =
+ static_cast<float>(svc_params_.scaling_factor_num[i]) /
+ svc_params_.scaling_factor_den[i];
+ total += rate_ratio[i];
+ }
++#else
++ rate_ratio[0] = 1;
++ total = 1;
++#endif
+
+ for (i = 0; i < num_spatial_layers_; ++i) {
+ config_->ss_target_bitrate[i] = static_cast<unsigned int>(
+ config_->rc_target_bitrate * rate_ratio[i] / total);
+ if (num_temporal_layers_ == 1) {
+ config_->layer_target_bitrate[i] = config_->ss_target_bitrate[i];
+ } else if (num_temporal_layers_ == 2) {
+ config_->layer_target_bitrate[i * num_temporal_layers_] =
+@@ -390,16 +403,17 @@ int VP9EncoderImpl::NumberOfThreads(int
+ return 2;
+ } else {
+ // 1 thread less than VGA.
+ return 1;
+ }
+ }
+
+ int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) {
++#ifdef LIBVPX_SVC
+ // Set QP-min/max per spatial and temporal layer.
+ int tot_num_layers = num_spatial_layers_ * num_temporal_layers_;
+ for (int i = 0; i < tot_num_layers; ++i) {
+ svc_params_.max_quantizers[i] = config_->rc_max_quantizer;
+ svc_params_.min_quantizers[i] = config_->rc_min_quantizer;
+ }
+ config_->ss_number_layers = num_spatial_layers_;
+ if (ExplicitlyConfiguredSpatialLayers()) {
+@@ -413,37 +427,41 @@ int VP9EncoderImpl::InitAndSetControlSet
+ for (int i = num_spatial_layers_ - 1; i >= 0; --i) {
+ // 1:2 scaling in each dimension.
+ svc_params_.scaling_factor_num[i] = scaling_factor_num;
+ svc_params_.scaling_factor_den[i] = 256;
+ if (codec_.mode != kScreensharing)
+ scaling_factor_num /= 2;
+ }
+ }
++#endif
+
+ if (!SetSvcRates()) {
+ return WEBRTC_VIDEO_CODEC_ERR_PARAMETER;
+ }
+
+ if (vpx_codec_enc_init(encoder_, vpx_codec_vp9_cx(), config_, 0)) {
+ return WEBRTC_VIDEO_CODEC_UNINITIALIZED;
+ }
+ vpx_codec_control(encoder_, VP8E_SET_CPUUSED, cpu_speed_);
+ vpx_codec_control(encoder_, VP8E_SET_MAX_INTRA_BITRATE_PCT,
+ rc_max_intra_target_);
+ vpx_codec_control(encoder_, VP9E_SET_AQ_MODE,
+ inst->VP9().adaptiveQpMode ? 3 : 0);
+
++#ifdef LIBVPX_SVC
+ vpx_codec_control(
+ encoder_, VP9E_SET_SVC,
+ (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) ? 1 : 0);
+ if (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) {
+ vpx_codec_control(encoder_, VP9E_SET_SVC_PARAMETERS,
+ &svc_params_);
+ }
++#endif
++
+ // Register callback for getting each spatial layer.
+ vpx_codec_priv_output_cx_pkt_cb_pair_t cbp = {
+ VP9EncoderImpl::EncoderOutputCodedPacketCallback,
+ reinterpret_cast<void*>(this)};
+ vpx_codec_control(encoder_, VP9E_REGISTER_CX_CALLBACK,
+ reinterpret_cast<void*>(&cbp));
+
+ // Control function to set the number of column tiles in encoding a frame, in
+@@ -527,16 +545,17 @@ int VP9EncoderImpl::Encode(const VideoFr
+
+ vpx_enc_frame_flags_t flags = 0;
+ bool send_keyframe = (frame_type == kVideoFrameKey);
+ if (send_keyframe) {
+ // Key frame request from caller.
+ flags = VPX_EFLAG_FORCE_KF;
+ }
+
++#ifdef LIBVPX_SVC
+ if (is_flexible_mode_) {
+ SuperFrameRefSettings settings;
+
+ // These structs are copied when calling vpx_codec_control,
+ // therefore it is ok for them to go out of scope.
+ vpx_svc_ref_frame_config enc_layer_conf;
+ vpx_svc_layer_id layer_id;
+
+@@ -548,16 +567,17 @@ int VP9EncoderImpl::Encode(const VideoFr
+ send_keyframe);
+ }
+ enc_layer_conf = GenerateRefsAndFlags(settings);
+ layer_id.temporal_layer_id = 0;
+ layer_id.spatial_layer_id = settings.start_layer;
+ vpx_codec_control(encoder_, VP9E_SET_SVC_LAYER_ID, &layer_id);
+ vpx_codec_control(encoder_, VP9E_SET_SVC_REF_FRAME_CONFIG, &enc_layer_conf);
+ }
++#endif
+
+ assert(codec_.maxFramerate > 0);
+ uint32_t duration = 90000 / codec_.maxFramerate;
+ if (vpx_codec_encode(encoder_, raw_, timestamp_, duration, flags,
+ VPX_DL_REALTIME)) {
+ return WEBRTC_VIDEO_CODEC_ERROR;
+ }
+ timestamp_ += duration;
+@@ -686,29 +706,31 @@ void VP9EncoderImpl::PopulateCodecSpecif
+ vp9_info->p_diff[i] = p_diff_[layer_id.spatial_layer_id][i];
+ }
+ } else {
+ vp9_info->gof_idx =
+ static_cast<uint8_t>(frames_since_kf_ % gof_.num_frames_in_gof);
+ vp9_info->temporal_up_switch = gof_.temporal_up_switch[vp9_info->gof_idx];
+ }
+
++#ifdef LIBVPX_SVC
+ if (vp9_info->ss_data_available) {
+ vp9_info->spatial_layer_resolution_present = true;
+ for (size_t i = 0; i < vp9_info->num_spatial_layers; ++i) {
+ vp9_info->width[i] = codec_.width *
+ svc_params_.scaling_factor_num[i] /
+ svc_params_.scaling_factor_den[i];
+ vp9_info->height[i] = codec_.height *
+ svc_params_.scaling_factor_num[i] /
+ svc_params_.scaling_factor_den[i];
+ }
+- if (!vp9_info->flexible_mode) {
+- vp9_info->gof.CopyGofInfoVP9(gof_);
+- }
++ }
++#endif
++ if (!vp9_info->flexible_mode) {
++ vp9_info->gof.CopyGofInfoVP9(gof_);
+ }
+ }
+
+ int VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt) {
+ RTC_DCHECK_EQ(pkt->kind, VPX_CODEC_CX_FRAME_PKT);
+
+ if (pkt->data.frame.sz > encoded_image_._size) {
+ delete[] encoded_image_._buffer;
+@@ -756,16 +778,17 @@ int VP9EncoderImpl::GetEncodedLayerFrame
+ vpx_codec_control(encoder_, VP8E_GET_LAST_QUANTIZER, &qp);
+ encoded_image_.qp_ = qp;
+ encoded_complete_callback_->OnEncodedImage(encoded_image_, &codec_specific,
+ &frag_info);
+ }
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
++#ifdef LIBVPX_SVC
+ vpx_svc_ref_frame_config VP9EncoderImpl::GenerateRefsAndFlags(
+ const SuperFrameRefSettings& settings) {
+ static const vpx_enc_frame_flags_t kAllFlags =
+ VP8_EFLAG_NO_REF_ARF | VP8_EFLAG_NO_REF_GF | VP8_EFLAG_NO_REF_LAST |
+ VP8_EFLAG_NO_UPD_LAST | VP8_EFLAG_NO_UPD_ARF | VP8_EFLAG_NO_UPD_GF;
+ vpx_svc_ref_frame_config sf_conf = {};
+ if (settings.is_keyframe) {
+ // Used later on to make sure we don't make any invalid references.
+@@ -857,16 +880,17 @@ vpx_svc_ref_frame_config VP9EncoderImpl:
+ buffer_updated_at_frame_[updated_buffer] = frames_encoded_;
+ sf_conf.frame_flags[layer_idx] = layer_flags;
+ }
+ }
+ }
+ ++frames_encoded_;
+ return sf_conf;
+ }
++#endif
+
+ int VP9EncoderImpl::SetChannelParameters(uint32_t packet_loss, int64_t rtt) {
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
+
+ int VP9EncoderImpl::RegisterEncodeCompleteCallback(
+ EncodedImageCallback* callback) {
+ encoded_complete_callback_ = callback;
+diff -Nrup -U 8 a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h
+--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 2020-02-18 02:37:58.000000000 +0300
++++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 2020-03-02 00:32:05.000000000 +0300
+@@ -77,24 +77,26 @@ class VP9EncoderImpl : public VP9Encoder
+
+ void PopulateCodecSpecific(CodecSpecificInfo* codec_specific,
+ const vpx_codec_cx_pkt& pkt,
+ uint32_t timestamp);
+
+ bool ExplicitlyConfiguredSpatialLayers() const;
+ bool SetSvcRates();
+
++#ifdef LIBVPX_SVC
+ // Used for flexible mode to set the flags and buffer references used
+ // by the encoder. Also calculates the references used by the RTP
+ // packetizer.
+ //
+ // Has to be called for every frame (keyframes included) to update the
+ // state used to calculate references.
+ vpx_svc_ref_frame_config GenerateRefsAndFlags(
+ const SuperFrameRefSettings& settings);
++#endif
+
+ virtual int GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt);
+
+ // Callback function for outputting packets per spatial layer.
+ static void EncoderOutputCodedPacketCallback(vpx_codec_cx_pkt* pkt,
+ void* user_data);
+
+ // Determine maximum target for Intra frames
+@@ -111,17 +113,19 @@ class VP9EncoderImpl : public VP9Encoder
+ bool inited_;
+ int64_t timestamp_;
+ uint16_t picture_id_;
+ int cpu_speed_;
+ uint32_t rc_max_intra_target_;
+ vpx_codec_ctx_t* encoder_;
+ vpx_codec_enc_cfg_t* config_;
+ vpx_image_t* raw_;
++#ifdef LIBVPX_SVC
+ vpx_svc_extra_cfg_t svc_params_;
++#endif
+ const VideoFrame* input_image_;
+ GofInfoVP9 gof_; // Contains each frame's temporal information for
+ // non-flexible mode.
+ uint8_t tl0_pic_idx_; // Only used in non-flexible mode.
+ size_t frames_since_kf_;
+ uint8_t num_temporal_layers_;
+ uint8_t num_spatial_layers_;
+ uint8_t num_cores_;
diff --git a/seamonkey-2.53.1-rhbz-1503632.patch b/seamonkey-2.53.1-rhbz-1503632.patch
new file mode 100644
index 0000000..c8fd6bc
--- /dev/null
+++ b/seamonkey-2.53.1-rhbz-1503632.patch
@@ -0,0 +1,18 @@
+diff -Nrbu seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp seamonkey-2.53.1-OK/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53.1-OK/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp 2020-01-03 01:20:05.309371162 +0300
+@@ -1146,12 +1146,10 @@
+ if (!loadPKCS11Modules) {
+ flags |= NSS_INIT_NOMODDB;
+ }
+- nsAutoCString dbTypeAndDirectory("sql:");
+- dbTypeAndDirectory.Append(dir);
+ MOZ_LOG(gCertVerifierLog, LogLevel::Debug,
+- ("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), readOnly,
++ ("InitializeNSS(%s, %d, %d)", PromiseFlatCString(dir).get(), readOnly,
+ loadPKCS11Modules));
+- SECStatus srv = NSS_Initialize(dbTypeAndDirectory.get(), "", "",
++ SECStatus srv = NSS_Initialize(PromiseFlatCString(dir).get(), "", "",
+ SECMOD_DB, flags);
+ if (srv != SECSuccess) {
+ return srv;
diff --git a/seamonkey-2.53.1-rust140-nsstring.patch b/seamonkey-2.53.1-rust140-nsstring.patch
new file mode 100644
index 0000000..1e65a14
--- /dev/null
+++ b/seamonkey-2.53.1-rust140-nsstring.patch
@@ -0,0 +1,25 @@
+
+# rust-1.39 deprecated the "try!" call in favor of "?" which then breaks
+# nsstring because it treats warnings as errors.
+
+diff -Nrup -U 8 mozilla/xpcom/rust/nsstring/src/lib.rs mozilla-OK/xpcom/rust/nsstring/src/lib.rs
+--- mozilla/xpcom/rust/nsstring/src/lib.rs 2020-02-25 03:10:53.802918476 +0300
++++ mozilla-OK/xpcom/rust/nsstring/src/lib.rs 2020-02-25 00:30:21.593463335 +0300
+@@ -108,17 +108,16 @@
+ //! similar to an `ns[C]String<'static>`, however, it does not have a `Drop`
+ //! implementation.
+ //!
+ //! If this type is dropped in rust, it will not free its backing storage. This
+ //! can be useful when implementing FFI types which contain `ns[C]String` members
+ //! which invoke their member's destructors through C++ code.
+
+ #![allow(non_camel_case_types)]
+-#![deny(warnings)]
+
+ #[macro_use]
+ extern crate bitflags;
+
+ use std::ops::{Deref, DerefMut};
+ use std::marker::PhantomData;
+ use std::borrow;
+ use std::slice;
diff --git a/seamonkey-2.53.1-rust140-url_1_7_2.patch b/seamonkey-2.53.1-rust140-url_1_7_2.patch
new file mode 100644
index 0000000..e22a894
--- /dev/null
+++ b/seamonkey-2.53.1-rust140-url_1_7_2.patch
@@ -0,0 +1,4279 @@
+diff -Nrup a/netwerk/base/rust-url-capi/Cargo.toml b/netwerk/base/rust-url-capi/Cargo.toml
+--- a/netwerk/base/rust-url-capi/Cargo.toml 2020-02-18 02:37:59.000000000 +0300
++++ b/netwerk/base/rust-url-capi/Cargo.toml 2020-02-28 20:28:57.265406022 +0300
+@@ -8,6 +8,6 @@ name = "rust_url_capi"
+
+ [dependencies]
+ libc = "0.2.0"
+-url = "1.5.1"
++url = "1.7.2"
+ nsstring = { path = "../../../xpcom/rust/nsstring" }
+ nserror = { path = "../../../xpcom/rust/nserror" }
+diff -Nrup a/third_party/rust/url/.cargo-checksum.json b/third_party/rust/url/.cargo-checksum.json
+--- a/third_party/rust/url/.cargo-checksum.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/.cargo-checksum.json 2020-02-28 20:28:57.261406050 +0300
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"890af214187ffcba4732acb2d1af30d7adb9aade0679e9fdb06baae363240b8e","Cargo.toml":"ec586106c4d0625919a3591fe3ae915043e82c8bfdd1c9e747171ba5e21047e1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e","Makefile":"bffd75d34654b2955d4f005f1a5e85c821c90becf1a8a52cbe10121972f43148","README.md":"eb3f4694003f408cbe3c7f3e9fbbc71241defb940cc55a816981f0f0f144c8eb","UPGRADING.md":"fbcc2d39bdf17db0745793db6626fcd5c909dddd4ce13b27566cfabece22c368","appveyor.yml":"c78486dbfbe6ebbf3d808afb9a19f7ec18c4704ce451c6305f0716999b70a1a6","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","docs/index.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","github.png":"b432fd855efe7c430fe6a57ccf83935c1996f03a7cdc8d6e1b34154b8c43f6ec","rust-url-todo":"1192cee7b6cedf2133d97dc6074b593a1d19b0ee13fff6f28d6329855044e575","src/encoding.rs":"f3e109ca8ec5a9130da50cdfb3003530aedb6dd5a440f0790d76b71f6981119c","src/form_urlencoded.rs":"7ccaef7148e4bc2577154c50f8705db3a055b641269e24c22770f06222321e1e","src/host.rs":"281165d732ea87b6f01a98f7c68ffcb284c41f84b3ab6ed674fb8e57022d1019","src/lib.rs":"bd156e8bcfbd44f0cd52c8b394e03ec63fea012c0bf5ca554521352714838605","src/origin.rs":"7071dcc1070ccfae84cdcd43586b84a9706e35a9a099ff4dde128da0909bd0bc","src/parser.rs":"9d30868f0900586fec6f122a0322598a08116ab0b4c4d8caf5c35a720381a73a","src/path_segments.rs":"7bd3142eaa568863ef44e2255c181239141f9eeee337f889b9ffaaeab4ca669d","src/quirks.rs":"1231f965e22bb3632c22993e2a8d4c7470bcb4a8de25d049f31784303f0def03","src/slicing.rs":"4e539886b23945a92094625f3e531a4bff40daa44240b5d19ee8577478c4f7fe","tests/data.rs":"c333766897f6492fb6583ab5c8a511973b7a55f58ca550799432343da64d5ca7","tests/setters_tests.json":"ebcbdb52e9a4b5a565f8806d52ebc610d46a34df883e10b0be080d026468ff73","tests/unit.rs":"c2f206f433be619414d761d358a2a4a5a46cfe8a4fea5339adec5e9937d78de2","tests/urltestdata.json":"430c74aa3a31afaa57a92805544e00825f4dffe2def98c1e3c212c3db80268af"},"package":"eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"80d575ae6adad93cb0910b385b871e2d92d558078f58a3c8eafe95940d459f6b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e","README.md":"eb3f4694003f408cbe3c7f3e9fbbc71241defb940cc55a816981f0f0f144c8eb","UPGRADING.md":"fbcc2d39bdf17db0745793db6626fcd5c909dddd4ce13b27566cfabece22c368","appveyor.yml":"c78486dbfbe6ebbf3d808afb9a19f7ec18c4704ce451c6305f0716999b70a1a6","benches/parse_url.rs":"821ecb051c3c6c40eb3b268ba7337b2988333627d0af0c8e1afc84734ffbbf2b","docs/404.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","docs/index.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","src/encoding.rs":"f3e109ca8ec5a9130da50cdfb3003530aedb6dd5a440f0790d76b71f6981119c","src/form_urlencoded.rs":"d8c35e92375cafcd7e12c4f0d5374bab62aa1f333629d55b007a9c3d5c3cb615","src/host.rs":"66a2c0c77a8add2da16bc690fbc82b130cf1367ac655fc36990a214e193a4d6c","src/lib.rs":"e09dcba401018169ee26764e1c2bccf0855a5d935707c2100fd8d8e77a1bbc91","src/origin.rs":"6e4821eb9600a32ef54d05c8e1a7937f6d9b4dd1e3bda7f36c7988f6a2bef78b","src/parser.rs":"76368cbe93308123c014a3502024cf97d97ca61dcfc7b6ecd710073867d6deca","src/path_segments.rs":"7bd3142eaa568863ef44e2255c181239141f9eeee337f889b9ffaaeab4ca669d","src/quirks.rs":"6cf1697bad363532cbcc60917a9b126560ac3ab3e1a77da0abcf4f2a40c8233a","src/slicing.rs":"4e539886b23945a92094625f3e531a4bff40daa44240b5d19ee8577478c4f7fe","tests/data.rs":"f2c1c6d1823e8d21aeeae31c786d7f4ef0d97352a896f8c5aeb03a41fedb9a48","tests/setters_tests.json":"08ddaa632ad19c81e83b904bfaa94bc971f26e2bdfcef27d2f93fd033ad57340","tests/unit.rs":"ead7185710ce06c8d68ea18700618477867ee355656eabcad26cfcfaaad361a0","tests/urltestdata.json":"1b0c7c727d8d7e79dfb0d0aa347ff05675ddb68bc4ead38f83fd8e89bc59cc32"},"package":"dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"}
+\ No newline at end of file
+diff -Nrup a/third_party/rust/url/.travis.yml b/third_party/rust/url/.travis.yml
+--- a/third_party/rust/url/.travis.yml 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/.travis.yml 1970-01-01 03:00:00.000000000 +0300
+@@ -1,9 +0,0 @@
+-language: rust
+-rust:
+- - nightly
+- - beta
+- - stable
+- - 1.17.0
+-script: make test
+-notifications:
+- webhooks: http://build.servo.org:54856/travis
+diff -Nrup a/third_party/rust/url/Cargo.toml b/third_party/rust/url/Cargo.toml
+--- a/third_party/rust/url/Cargo.toml 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/Cargo.toml 2020-02-28 20:28:57.261406050 +0300
+@@ -1,24 +1,31 @@
+-[package]
++# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
++#
++# When uploading crates to the registry Cargo will automatically
++# "normalize" Cargo.toml files for maximal compatibility
++# with all versions of Cargo and also rewrite `path` dependencies
++# to registry (e.g. crates.io) dependencies
++#
++# If you believe there's an error in this file please file an
++# issue against the rust-lang/cargo repository. If you're
++# editing this file be aware that the upstream Cargo.toml
++# will likely look very different (and much more reasonable)
+
++[package]
+ name = "url"
+-# When updating version, also modify html_root_url in the lib.rs
+-version = "1.5.1"
++version = "1.7.2"
+ authors = ["The rust-url developers"]
+-
+ description = "URL library for Rust, based on the WHATWG URL Standard"
+ documentation = "https://docs.rs/url"
+-repository = "https://github.com/servo/rust-url"
+ readme = "README.md"
+ keywords = ["url", "parser"]
+ categories = ["parser-implementations", "web-programming", "encoding"]
+ license = "MIT/Apache-2.0"
++repository = "https://github.com/servo/rust-url"
++[package.metadata.docs.rs]
++features = ["query_encoding"]
+
+-[badges]
+-travis-ci = { repository = "servo/rust-url" }
+-appveyor = { repository = "servo/rust-url" }
+-
+-[workspace]
+-members = [".", "idna", "percent_encoding", "url_serde"]
++[lib]
++test = false
+
+ [[test]]
+ name = "unit"
+@@ -27,23 +34,50 @@ name = "unit"
+ name = "data"
+ harness = false
+
+-[lib]
+-test = false
++[[bench]]
++name = "parse_url"
++harness = false
++[dependencies.encoding]
++version = "0.2"
++optional = true
+
+-[dev-dependencies]
+-rustc-test = "0.1"
+-rustc-serialize = "0.3"
+-serde_json = ">=0.6.1, <0.9"
++[dependencies.heapsize]
++version = ">=0.4.1, <0.5"
++optional = true
++
++[dependencies.idna]
++version = "0.1.0"
++
++[dependencies.matches]
++version = "0.1"
++
++[dependencies.percent-encoding]
++version = "1.0.0"
++
++[dependencies.rustc-serialize]
++version = "0.3"
++optional = true
++
++[dependencies.serde]
++version = ">=0.6.1, <0.9"
++optional = true
++[dev-dependencies.bencher]
++version = "0.1"
++
++[dev-dependencies.rustc-serialize]
++version = "0.3"
++
++[dev-dependencies.rustc-test]
++version = "0.3"
++
++[dev-dependencies.serde_json]
++version = ">=0.6.1, <0.9"
+
+ [features]
+-query_encoding = ["encoding"]
+ heap_size = ["heapsize"]
++query_encoding = ["encoding"]
++[badges.appveyor]
++repository = "Manishearth/rust-url"
+
+-[dependencies]
+-encoding = {version = "0.2", optional = true}
+-heapsize = {version = ">=0.1.1, <0.5", optional = true}
+-idna = { version = "0.1.0", path = "./idna" }
+-matches = "0.1"
+-percent-encoding = { version = "1.0.0", path = "./percent_encoding" }
+-rustc-serialize = {version = "0.3", optional = true}
+-serde = {version = ">=0.6.1, <0.9", optional = true}
++[badges.travis-ci]
++repository = "servo/rust-url"
+diff -Nrup a/third_party/rust/url/Makefile b/third_party/rust/url/Makefile
+--- a/third_party/rust/url/Makefile 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/Makefile 1970-01-01 03:00:00.000000000 +0300
+@@ -1,6 +0,0 @@
+-test:
+- cargo test --features "query_encoding serde rustc-serialize heapsize"
+- (cd idna && cargo test)
+- (cd url_serde && cargo test)
+-
+-.PHONY: test
+diff -Nrup a/third_party/rust/url/benches/parse_url.rs b/third_party/rust/url/benches/parse_url.rs
+--- a/third_party/rust/url/benches/parse_url.rs 1970-01-01 03:00:00.000000000 +0300
++++ b/third_party/rust/url/benches/parse_url.rs 2020-02-28 20:28:57.261406050 +0300
+@@ -0,0 +1,18 @@
++#[macro_use]
++extern crate bencher;
++
++extern crate url;
++
++use bencher::{black_box, Bencher};
++
++use url::Url;
++
++fn short(bench: &mut Bencher) {
++ let url = "https://example.com/bench";
++
++ bench.bytes = url.len() as u64;
++ bench.iter(|| black_box(url).parse::<Url>().unwrap());
++}
++
++benchmark_group!(benches, short);
++benchmark_main!(benches);
+diff -Nrup a/third_party/rust/url/rust-url-todo b/third_party/rust/url/rust-url-todo
+--- a/third_party/rust/url/rust-url-todo 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/rust-url-todo 1970-01-01 03:00:00.000000000 +0300
+@@ -1,14 +0,0 @@
+-* standalone path parsing?
+-* Test setters
+- * Test trim C0/space
+- * Test remove tab & newline
+-
+-
+-
+-#[test]
+-fn test_path_segments() {
+- let mut url = Url::parse("http://example.net").unwrap();
+- url.push_path_segment("foo").unwrap();
+- url.extend_path_segments(&["bar", "b/az"]).unwrap();
+- assert_eq!(url.as_str(), "http://example.net/foo");
+-}
+diff -Nrup a/third_party/rust/url/src/form_urlencoded.rs b/third_party/rust/url/src/form_urlencoded.rs
+--- a/third_party/rust/url/src/form_urlencoded.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/form_urlencoded.rs 2020-02-28 20:28:57.262406043 +0300
+@@ -16,6 +16,7 @@
+ use encoding::EncodingOverride;
+ use percent_encoding::{percent_encode_byte, percent_decode};
+ use std::borrow::{Borrow, Cow};
++use std::fmt;
+ use std::str;
+
+
+@@ -216,6 +217,15 @@ pub struct Serializer<T: Target> {
+ target: Option<T>,
+ start_position: usize,
+ encoding: EncodingOverride,
++ custom_encoding: Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>,
++}
++
++struct SilentDebug<T>(T);
++
++impl<T> fmt::Debug for SilentDebug<T> {
++ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
++ f.write_str("")
++ }
+ }
+
+ pub trait Target {
+@@ -247,8 +257,16 @@ impl<'a> Target for &'a mut String {
+ // * `Serializer` keeps its target in a private field
+ // * Unlike in other `Target` impls, `UrlQuery::finished` does not return `Self`.
+ impl<'a> Target for ::UrlQuery<'a> {
+- fn as_mut_string(&mut self) -> &mut String { &mut self.url.serialization }
+- fn finish(self) -> &'a mut ::Url { self.url }
++ fn as_mut_string(&mut self) -> &mut String {
++ &mut self.url.as_mut().unwrap().serialization
++ }
++
++ fn finish(mut self) -> &'a mut ::Url {
++ let url = self.url.take().unwrap();
++ url.restore_already_parsed_fragment(self.fragment.take());
++ url
++ }
++
+ type Finished = &'a mut ::Url;
+ }
+
+@@ -272,6 +290,7 @@ impl<T: Target> Serializer<T> {
+ target: Some(target),
+ start_position: start_position,
+ encoding: EncodingOverride::utf8(),
++ custom_encoding: None,
+ }
+ }
+
+@@ -290,11 +309,20 @@ impl<T: Target> Serializer<T> {
+ self
+ }
+
++ /// Set the character encoding to be used for names and values before percent-encoding.
++ pub fn custom_encoding_override<F>(&mut self, encode: F) -> &mut Self
++ where F: FnMut(&str) -> Cow<[u8]> + 'static
++ {
++ self.custom_encoding = Some(SilentDebug(Box::new(encode)));
++ self
++ }
++
+ /// Serialize and append a name/value pair.
+ ///
+ /// Panics if called after `.finish()`.
+ pub fn append_pair(&mut self, name: &str, value: &str) -> &mut Self {
+- append_pair(string(&mut self.target), self.start_position, self.encoding, name, value);
++ append_pair(string(&mut self.target), self.start_position, self.encoding,
++ &mut self.custom_encoding, name, value);
+ self
+ }
+
+@@ -311,7 +339,8 @@ impl<T: Target> Serializer<T> {
+ let string = string(&mut self.target);
+ for pair in iter {
+ let &(ref k, ref v) = pair.borrow();
+- append_pair(string, self.start_position, self.encoding, k.as_ref(), v.as_ref());
++ append_pair(string, self.start_position, self.encoding,
++ &mut self.custom_encoding, k.as_ref(), v.as_ref());
+ }
+ }
+ self
+@@ -324,6 +353,8 @@ impl<T: Target> Serializer<T> {
+ /// Panics if called after `.finish()`.
+ #[cfg(feature = "query_encoding")]
+ pub fn append_charset(&mut self) -> &mut Self {
++ assert!(self.custom_encoding.is_none(),
++ "Cannot use both custom_encoding_override() and append_charset()");
+ {
+ let string = string(&mut self.target);
+ append_separator_if_needed(string, self.start_position);
+@@ -361,9 +392,20 @@ fn string<T: Target>(target: &mut Option
+ }
+
+ fn append_pair(string: &mut String, start_position: usize, encoding: EncodingOverride,
++ custom_encoding: &mut Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>,
+ name: &str, value: &str) {
+ append_separator_if_needed(string, start_position);
+- string.extend(byte_serialize(&encoding.encode(name.into())));
++ append_encoded(name, string, encoding, custom_encoding);
+ string.push('=');
+- string.extend(byte_serialize(&encoding.encode(value.into())));
++ append_encoded(value, string, encoding, custom_encoding);
++}
++
++fn append_encoded(s: &str, string: &mut String, encoding: EncodingOverride,
++ custom_encoding: &mut Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>) {
++ let bytes = if let Some(SilentDebug(ref mut custom)) = *custom_encoding {
++ custom(s)
++ } else {
++ encoding.encode(s.into())
++ };
++ string.extend(byte_serialize(&bytes));
+ }
+diff -Nrup a/third_party/rust/url/src/host.rs b/third_party/rust/url/src/host.rs
+--- a/third_party/rust/url/src/host.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/host.rs 2020-02-28 20:28:57.247406151 +0300
+@@ -13,7 +13,7 @@ use std::io;
+ use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
+ use std::vec;
+ use parser::{ParseResult, ParseError};
+-use percent_encoding::percent_decode;
++use percent_encoding::{percent_decode, utf8_percent_encode, SIMPLE_ENCODE_SET};
+ use idna;
+
+ #[derive(Copy, Clone, Debug, Eq, PartialEq)]
+@@ -73,7 +73,9 @@ impl<S> From<Host<S>> for HostInternal {
+ #[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
+ pub enum Host<S=String> {
+ /// A DNS domain name, as '.' dot-separated labels.
+- /// Non-ASCII labels are encoded in punycode per IDNA.
++ /// Non-ASCII labels are encoded in punycode per IDNA if this is the host of
++ /// a special URL, or percent encoded for non-special URLs. Hosts for
++ /// non-special URLs are also called opaque hosts.
+ Domain(S),
+
+ /// An IPv4 address.
+@@ -137,7 +139,7 @@ impl<'a> Host<&'a str> {
+ impl Host<String> {
+ /// Parse a host: either an IPv6 address in [] square brackets, or a domain.
+ ///
+- /// https://url.spec.whatwg.org/#host-parsing
++ /// <https://url.spec.whatwg.org/#host-parsing>
+ pub fn parse(input: &str) -> Result<Self, ParseError> {
+ if input.starts_with('[') {
+ if !input.ends_with(']') {
+@@ -158,6 +160,23 @@ impl Host<String> {
+ Ok(Host::Domain(domain.into()))
+ }
+ }
++
++ // <https://url.spec.whatwg.org/#concept-opaque-host-parser>
++ pub fn parse_opaque(input: &str) -> Result<Self, ParseError> {
++ if input.starts_with('[') {
++ if !input.ends_with(']') {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++ return parse_ipv6addr(&input[1..input.len() - 1]).map(Host::Ipv6)
++ }
++ if input.find(|c| matches!(c,
++ '\0' | '\t' | '\n' | '\r' | ' ' | '#' | '/' | ':' | '?' | '@' | '[' | '\\' | ']'
++ )).is_some() {
++ return Err(ParseError::InvalidDomainCharacter)
++ }
++ let s = utf8_percent_encode(input, SIMPLE_ENCODE_SET).to_string();
++ Ok(Host::Domain(s))
++ }
+ }
+
+ impl<S: AsRef<str>> fmt::Display for Host<S> {
+@@ -309,8 +328,8 @@ fn longest_zero_sequence(pieces: &[u16;
+ }
+ }
+
+-/// https://url.spec.whatwg.org/#ipv4-number-parser
+-fn parse_ipv4number(mut input: &str) -> Result<u32, ()> {
++/// <https://url.spec.whatwg.org/#ipv4-number-parser>
++fn parse_ipv4number(mut input: &str) -> Result<Option<u32>, ()> {
+ let mut r = 10;
+ if input.starts_with("0x") || input.starts_with("0X") {
+ input = &input[2..];
+@@ -319,19 +338,35 @@ fn parse_ipv4number(mut input: &str) ->
+ input = &input[1..];
+ r = 8;
+ }
++
++ // At the moment we can't know the reason why from_str_radix fails
++ // https://github.com/rust-lang/rust/issues/22639
++ // So instead we check if the input looks like a real number and only return
++ // an error when it's an overflow.
++ let valid_number = match r {
++ 8 => input.chars().all(|c| c >= '0' && c <='7'),
++ 10 => input.chars().all(|c| c >= '0' && c <='9'),
++ 16 => input.chars().all(|c| (c >= '0' && c <='9') || (c >='a' && c <= 'f') || (c >= 'A' && c <= 'F')),
++ _ => false
++ };
++
++ if !valid_number {
++ return Ok(None);
++ }
++
+ if input.is_empty() {
+- return Ok(0);
++ return Ok(Some(0));
+ }
+ if input.starts_with('+') {
+- return Err(())
++ return Ok(None);
+ }
+ match u32::from_str_radix(input, r) {
+- Ok(number) => Ok(number),
++ Ok(number) => Ok(Some(number)),
+ Err(_) => Err(()),
+ }
+ }
+
+-/// https://url.spec.whatwg.org/#concept-ipv4-parser
++/// <https://url.spec.whatwg.org/#concept-ipv4-parser>
+ fn parse_ipv4addr(input: &str) -> ParseResult<Option<Ipv4Addr>> {
+ if input.is_empty() {
+ return Ok(None)
+@@ -344,15 +379,19 @@ fn parse_ipv4addr(input: &str) -> ParseR
+ return Ok(None);
+ }
+ let mut numbers: Vec<u32> = Vec::new();
++ let mut overflow = false;
+ for part in parts {
+ if part == "" {
+ return Ok(None);
+ }
+- if let Ok(n) = parse_ipv4number(part) {
+- numbers.push(n);
+- } else {
+- return Ok(None);
+- }
++ match parse_ipv4number(part) {
++ Ok(Some(n)) => numbers.push(n),
++ Ok(None) => return Ok(None),
++ Err(()) => overflow = true
++ };
++ }
++ if overflow {
++ return Err(ParseError::InvalidIpv4Address);
+ }
+ let mut ipv4 = numbers.pop().expect("a non-empty list of numbers");
+ // Equivalent to: ipv4 >= 256 ** (4 numbers.len())
+@@ -368,7 +407,7 @@ fn parse_ipv4addr(input: &str) -> ParseR
+ Ok(Some(Ipv4Addr::from(ipv4)))
+ }
+
+-/// https://url.spec.whatwg.org/#concept-ipv6-parser
++/// <https://url.spec.whatwg.org/#concept-ipv6-parser>
+ fn parse_ipv6addr(input: &str) -> ParseResult<Ipv6Addr> {
+ let input = input.as_bytes();
+ let len = input.len();
+@@ -423,6 +462,9 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ return Err(ParseError::InvalidIpv6Address)
+ }
+ i = start;
++ if piece_pointer > 6 {
++ return Err(ParseError::InvalidIpv6Address)
++ }
+ is_ip_v4 = true;
+ },
+ b':' => {
+@@ -445,16 +487,24 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ if piece_pointer > 6 {
+ return Err(ParseError::InvalidIpv6Address)
+ }
+- let mut dots_seen = 0;
++ let mut numbers_seen = 0;
+ while i < len {
+- let mut value = None;
++ if numbers_seen > 0 {
++ if numbers_seen < 4 && (i < len && input[i] == b'.') {
++ i += 1
++ } else {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++ }
++
++ let mut ipv4_piece = None;
+ while i < len {
+ let digit = match input[i] {
+ c @ b'0' ... b'9' => c - b'0',
+ _ => break
+ };
+- match value {
+- None => value = Some(digit as u16),
++ match ipv4_piece {
++ None => ipv4_piece = Some(digit as u16),
+ Some(0) => return Err(ParseError::InvalidIpv6Address), // No leading zero
+ Some(ref mut v) => {
+ *v = *v * 10 + digit as u16;
+@@ -465,24 +515,28 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ }
+ i += 1;
+ }
+- if dots_seen < 3 && !(i < len && input[i] == b'.') {
+- return Err(ParseError::InvalidIpv6Address)
+- }
+- pieces[piece_pointer] = if let Some(v) = value {
++
++ pieces[piece_pointer] = if let Some(v) = ipv4_piece {
+ pieces[piece_pointer] * 0x100 + v
+ } else {
+ return Err(ParseError::InvalidIpv6Address)
+ };
+- if dots_seen == 1 || dots_seen == 3 {
++ numbers_seen += 1;
++
++ if numbers_seen == 2 || numbers_seen == 4 {
+ piece_pointer += 1;
+ }
+- i += 1;
+- if dots_seen == 3 && i < len {
+- return Err(ParseError::InvalidIpv6Address)
+- }
+- dots_seen += 1;
++ }
++
++ if numbers_seen != 4 {
++ return Err(ParseError::InvalidIpv6Address)
+ }
+ }
++
++ if i < len {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++
+ match compress_pointer {
+ Some(compress_pointer) => {
+ let mut swaps = piece_pointer - compress_pointer;
+diff -Nrup a/third_party/rust/url/src/lib.rs b/third_party/rust/url/src/lib.rs
+--- a/third_party/rust/url/src/lib.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/lib.rs 2020-02-28 20:28:57.262406043 +0300
+@@ -104,7 +104,7 @@ assert_eq!(css_url.as_str(), "http://ser
+ # run().unwrap();
+ */
+
+-#![doc(html_root_url = "https://docs.rs/url/1.5.1")]
++#![doc(html_root_url = "https://docs.rs/url/1.7.0")]
+
+ #[cfg(feature="rustc-serialize")] extern crate rustc_serialize;
+ #[macro_use] extern crate matches;
+@@ -112,12 +112,13 @@ assert_eq!(css_url.as_str(), "http://ser
+ #[cfg(feature="heapsize")] #[macro_use] extern crate heapsize;
+
+ pub extern crate idna;
++#[macro_use]
+ pub extern crate percent_encoding;
+
+ use encoding::EncodingOverride;
+ #[cfg(feature = "heapsize")] use heapsize::HeapSizeOf;
+ use host::HostInternal;
+-use parser::{Parser, Context, SchemeType, to_u32};
++use parser::{Parser, Context, SchemeType, to_u32, ViolationFn};
+ use percent_encoding::{PATH_SEGMENT_ENCODE_SET, USERINFO_ENCODE_SET,
+ percent_encode, percent_decode, utf8_percent_encode};
+ use std::borrow::Borrow;
+@@ -135,7 +136,7 @@ use std::str;
+ pub use origin::{Origin, OpaqueOrigin};
+ pub use host::{Host, HostAndPort, SocketAddrs};
+ pub use path_segments::PathSegmentsMut;
+-pub use parser::ParseError;
++pub use parser::{ParseError, SyntaxViolation};
+ pub use slicing::Position;
+
+ mod encoding;
+@@ -186,7 +187,7 @@ impl HeapSizeOf for Url {
+ pub struct ParseOptions<'a> {
+ base_url: Option<&'a Url>,
+ encoding_override: encoding::EncodingOverride,
+- log_syntax_violation: Option<&'a Fn(&'static str)>,
++ violation_fn: ViolationFn<'a>,
+ }
+
+ impl<'a> ParseOptions<'a> {
+@@ -209,9 +210,47 @@ impl<'a> ParseOptions<'a> {
+ self
+ }
+
+- /// Call the provided function or closure on non-fatal parse errors.
++ /// Call the provided function or closure on non-fatal parse errors, passing
++ /// a static string description. This method is deprecated in favor of
++ /// `syntax_violation_callback` and is implemented as an adaptor for the
++ /// latter, passing the `SyntaxViolation` description. Only the last value
++ /// passed to either method will be used by a parser.
++ #[deprecated]
+ pub fn log_syntax_violation(mut self, new: Option<&'a Fn(&'static str)>) -> Self {
+- self.log_syntax_violation = new;
++ self.violation_fn = match new {
++ Some(f) => ViolationFn::OldFn(f),
++ None => ViolationFn::NoOp
++ };
++ self
++ }
++
++ /// Call the provided function or closure for a non-fatal `SyntaxViolation`
++ /// when it occurs during parsing. Note that since the provided function is
++ /// `Fn`, the caller might need to utilize _interior mutability_, such as with
++ /// a `RefCell`, to collect the violations.
++ ///
++ /// ## Example
++ /// ```
++ /// use std::cell::RefCell;
++ /// use url::{Url, SyntaxViolation};
++ /// # use url::ParseError;
++ /// # fn run() -> Result<(), url::ParseError> {
++ /// let violations = RefCell::new(Vec::new());
++ /// let url = Url::options()
++ /// .syntax_violation_callback(Some(&|v| violations.borrow_mut().push(v)))
++ /// .parse("https:////example.com")?;
++ /// assert_eq!(url.as_str(), "https://example.com/");
++ /// assert_eq!(violations.into_inner(),
++ /// vec!(SyntaxViolation::ExpectedDoubleSlash));
++ /// # Ok(())
++ /// # }
++ /// # run().unwrap();
++ /// ```
++ pub fn syntax_violation_callback(mut self, new: Option<&'a Fn(SyntaxViolation)>) -> Self {
++ self.violation_fn = match new {
++ Some(f) => ViolationFn::NewFn(f),
++ None => ViolationFn::NoOp
++ };
+ self
+ }
+
+@@ -221,7 +260,7 @@ impl<'a> ParseOptions<'a> {
+ serialization: String::with_capacity(input.len()),
+ base_url: self.base_url,
+ query_encoding_override: self.encoding_override,
+- log_syntax_violation: self.log_syntax_violation,
++ violation_fn: self.violation_fn,
+ context: Context::UrlParser,
+ }.parse_url(input)
+ }
+@@ -229,11 +268,12 @@ impl<'a> ParseOptions<'a> {
+
+ impl<'a> Debug for ParseOptions<'a> {
+ fn fmt(&self, f: &mut Formatter) -> fmt::Result {
+- write!(f, "ParseOptions {{ base_url: {:?}, encoding_override: {:?}, log_syntax_violation: ", self.base_url, self.encoding_override)?;
+- match self.log_syntax_violation {
+- Some(_) => write!(f, "Some(Fn(&'static str)) }}"),
+- None => write!(f, "None }}")
+- }
++ write!(f,
++ "ParseOptions {{ base_url: {:?}, encoding_override: {:?}, \
++ violation_fn: {:?} }}",
++ self.base_url,
++ self.encoding_override,
++ self.violation_fn)
+ }
+ }
+
+@@ -252,6 +292,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an absolute URL from the given string,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn parse(input: &str) -> Result<Url, ::ParseError> {
+ Url::options().parse(input)
+@@ -274,6 +321,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an absolute URL from the given string,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn parse_with_params<I, K, V>(input: &str, iter: I) -> Result<Url, ::ParseError>
+ where I: IntoIterator,
+@@ -301,7 +355,7 @@ impl Url {
+ /// ```rust
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let base = Url::parse("https://example.net/a/b.html")?;
+ /// let url = base.join("c.png")?;
+@@ -314,6 +368,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an URL from the given string
++ /// with this URL as the base URL, a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn join(&self, input: &str) -> Result<Url, ::ParseError> {
+ Url::options().base_url(Some(self)).parse(input)
+@@ -342,7 +403,7 @@ impl Url {
+ ParseOptions {
+ base_url: None,
+ encoding_override: EncodingOverride::utf8(),
+- log_syntax_violation: None,
++ violation_fn: ViolationFn::NoOp,
+ }
+ }
+
+@@ -500,7 +561,7 @@ impl Url {
+ Ok(())
+ }
+
+- /// Return the origin of this URL (https://url.spec.whatwg.org/#origin)
++ /// Return the origin of this URL (<https://url.spec.whatwg.org/#origin>)
+ ///
+ /// Note: this returns an opaque origin for `file:` URLs, which causes
+ /// `url.origin() != url.origin()`.
+@@ -1156,11 +1217,11 @@ impl Url {
+ /// assert_eq!(url.as_str(), "https://example.com/data.csv");
+
+ /// url.set_fragment(Some("cell=4,1-6,2"));
+- /// assert_eq!(url.as_str(), "https://example.com/data.csv#cell=4,1-6,2");
++ /// assert_eq!(url.as_str(), "https://example.com/data.csv#cell=4,1-6,2");
+ /// assert_eq!(url.fragment(), Some("cell=4,1-6,2"));
+ ///
+ /// url.set_fragment(None);
+- /// assert_eq!(url.as_str(), "https://example.com/data.csv");
++ /// assert_eq!(url.as_str(), "https://example.com/data.csv");
+ /// assert!(url.fragment().is_none());
+ /// # Ok(())
+ /// # }
+@@ -1213,7 +1274,7 @@ impl Url {
+ /// assert_eq!(url.as_str(), "https://example.com/products");
+ ///
+ /// url.set_query(Some("page=2"));
+- /// assert_eq!(url.as_str(), "https://example.com/products?page=2");
++ /// assert_eq!(url.as_str(), "https://example.com/products?page=2");
+ /// assert_eq!(url.query(), Some("page=2"));
+ /// # Ok(())
+ /// # }
+@@ -1283,7 +1344,7 @@ impl Url {
+ self.serialization.push('?');
+ }
+
+- let query = UrlQuery { url: self, fragment: fragment };
++ let query = UrlQuery { url: Some(self), fragment: fragment };
+ form_urlencoded::Serializer::for_suffix(query, query_start + "?".len())
+ }
+
+@@ -1309,12 +1370,12 @@ impl Url {
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.com")?;
+ /// url.set_path("api/comments");
+- /// assert_eq!(url.as_str(), "https://example.com/api/comments");
++ /// assert_eq!(url.as_str(), "https://example.com/api/comments");
+ /// assert_eq!(url.path(), "/api/comments");
+ ///
+ /// let mut url = Url::parse("https://example.com/api")?;
+ /// url.set_path("data/report.csv");
+- /// assert_eq!(url.as_str(), "https://example.com/data/report.csv");
++ /// assert_eq!(url.as_str(), "https://example.com/data/report.csv");
+ /// assert_eq!(url.path(), "/data/report.csv");
+ /// # Ok(())
+ /// # }
+@@ -1406,7 +1467,8 @@ impl Url {
+ /// # run().unwrap();
+ /// ```
+ pub fn set_port(&mut self, mut port: Option<u16>) -> Result<(), ()> {
+- if !self.has_host() || self.scheme() == "file" {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ if port.is_some() && port == parser::default_port(self.scheme()) {
+@@ -1448,9 +1510,6 @@ impl Url {
+
+ /// Change this URLs host.
+ ///
+- /// If this URL is cannot-be-a-base or there is an error parsing the given `host`,
+- /// do nothing and return `Err`.
+- ///
+ /// Removing the host (calling this with `None`)
+ /// will also remove any username, password, and port number.
+ ///
+@@ -1477,7 +1536,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("foo://example.net")?;
+ /// let result = url.set_host(None);
+@@ -1493,7 +1552,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_host(None);
+@@ -1509,7 +1568,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("mailto:rms@example.net")?;
+ ///
+@@ -1524,6 +1583,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If this URL is cannot-be-a-base or there is an error parsing the given `host`,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ pub fn set_host(&mut self, host: Option<&str>) -> Result<(), ParseError> {
+ if self.cannot_be_a_base() {
+ return Err(ParseError::SetHostOnCannotBeABaseUrl)
+@@ -1533,7 +1599,11 @@ impl Url {
+ if host == "" && SchemeType::from(self.scheme()).is_special() {
+ return Err(ParseError::EmptyHost);
+ }
+- self.set_host_internal(Host::parse(host)?, None)
++ if SchemeType::from(self.scheme()).is_special() {
++ self.set_host_internal(Host::parse(host)?, None)
++ } else {
++ self.set_host_internal(Host::parse_opaque(host)?, None)
++ }
+ } else if self.has_host() {
+ if SchemeType::from(self.scheme()).is_special() {
+ return Err(ParseError::EmptyHost)
+@@ -1666,7 +1736,8 @@ impl Url {
+ /// # run().unwrap();
+ /// ```
+ pub fn set_password(&mut self, password: Option<&str>) -> Result<(), ()> {
+- if !self.has_host() {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ if let Some(password) = password {
+@@ -1732,21 +1803,23 @@ impl Url {
+ /// ```
+ ///
+ /// Setup username to user1
++ ///
+ /// ```rust
+ /// use url::{Url, ParseError};
+ ///
+ /// # fn run() -> Result<(), ParseError> {
+- /// let mut url = Url::parse("ftp://:secre1@example.com")?;
++ /// let mut url = Url::parse("ftp://:secre1@example.com/")?;
+ /// let result = url.set_username("user1");
+ /// assert!(result.is_ok());
+ /// assert_eq!(url.username(), "user1");
+- /// assert_eq!(url.as_str(), "ftp://user1:secre1@example.com");
++ /// assert_eq!(url.as_str(), "ftp://user1:secre1@example.com/");
+ /// # Ok(())
+ /// # }
+ /// # run().unwrap();
+ /// ```
+ pub fn set_username(&mut self, username: &str) -> Result<(), ()> {
+- if !self.has_host() {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ let username_start = self.scheme_end + 3;
+@@ -1805,7 +1878,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_scheme("foo");
+@@ -1822,7 +1895,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_scheme("fo");
+@@ -1838,7 +1911,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("mailto:rms@example.net")?;
+ /// let result = url.set_scheme("https");
+@@ -1887,7 +1960,7 @@ impl Url {
+ /// ```
+ /// # if cfg!(unix) {
+ /// use url::Url;
+- ///
++ ///
+ /// # fn run() -> Result<(), ()> {
+ /// let url = Url::from_file_path("/tmp/foo.txt")?;
+ /// assert_eq!(url.as_str(), "file:///tmp/foo.txt");
+@@ -1902,6 +1975,7 @@ impl Url {
+ /// # run().unwrap();
+ /// # }
+ /// ```
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn from_file_path<P: AsRef<Path>>(path: P) -> Result<Url, ()> {
+ let mut serialization = "file://".to_owned();
+ let host_start = serialization.len() as u32;
+@@ -1937,6 +2011,7 @@ impl Url {
+ ///
+ /// Note that `std::path` does not consider trailing slashes significant
+ /// and usually does not include them (e.g. in `Path::parent()`).
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn from_directory_path<P: AsRef<Path>>(path: P) -> Result<Url, ()> {
+ let mut url = Url::from_file_path(path)?;
+ if !url.serialization.ends_with('/') {
+@@ -2018,6 +2093,7 @@ impl Url {
+ /// (That is, if the percent-decoded path contains a NUL byte or,
+ /// for a Windows path, is not UTF-8.)
+ #[inline]
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn to_file_path(&self) -> Result<PathBuf, ()> {
+ if let Some(segments) = self.path_segments() {
+ let host = match self.host() {
+@@ -2264,6 +2340,7 @@ fn path_to_file_url_segments_windows(pat
+ Ok((host_end, host_internal))
+ }
+
++
+ #[cfg(any(unix, target_os = "redox"))]
+ fn file_url_segments_to_pathbuf(host: Option<&str>, segments: str::Split<char>) -> Result<PathBuf, ()> {
+ use std::ffi::OsStr;
+@@ -2347,13 +2424,15 @@ fn io_error<T>(reason: &str) -> io::Resu
+ /// Implementation detail of `Url::query_pairs_mut`. Typically not used directly.
+ #[derive(Debug)]
+ pub struct UrlQuery<'a> {
+- url: &'a mut Url,
++ url: Option<&'a mut Url>,
+ fragment: Option<String>,
+ }
+
+ impl<'a> Drop for UrlQuery<'a> {
+ fn drop(&mut self) {
+- self.url.restore_already_parsed_fragment(self.fragment.take())
++ if let Some(url) = self.url.take() {
++ url.restore_already_parsed_fragment(self.fragment.take())
++ }
+ }
+ }
+
+diff -Nrup a/third_party/rust/url/src/origin.rs b/third_party/rust/url/src/origin.rs
+--- a/third_party/rust/url/src/origin.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/origin.rs 2020-02-28 20:28:57.238406216 +0300
+@@ -49,7 +49,7 @@ pub fn url_origin(url: &Url) -> Origin {
+ /// - If the scheme is anything else, the origin is opaque, meaning
+ /// the URL does not have the same origin as any other URL.
+ ///
+-/// For more information see https://url.spec.whatwg.org/#origin
++/// For more information see <https://url.spec.whatwg.org/#origin>
+ #[derive(PartialEq, Eq, Hash, Clone, Debug)]
+ pub enum Origin {
+ /// A globally unique identifier
+@@ -86,7 +86,7 @@ impl Origin {
+ matches!(*self, Origin::Tuple(..))
+ }
+
+- /// https://html.spec.whatwg.org/multipage/#ascii-serialisation-of-an-origin
++ /// <https://html.spec.whatwg.org/multipage/#ascii-serialisation-of-an-origin>
+ pub fn ascii_serialization(&self) -> String {
+ match *self {
+ Origin::Opaque(_) => "null".to_owned(),
+@@ -100,7 +100,7 @@ impl Origin {
+ }
+ }
+
+- /// https://html.spec.whatwg.org/multipage/#unicode-serialisation-of-an-origin
++ /// <https://html.spec.whatwg.org/multipage/#unicode-serialisation-of-an-origin>
+ pub fn unicode_serialization(&self) -> String {
+ match *self {
+ Origin::Opaque(_) => "null".to_owned(),
+diff -Nrup a/third_party/rust/url/src/parser.rs b/third_party/rust/url/src/parser.rs
+--- a/third_party/rust/url/src/parser.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/parser.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -6,7 +6,9 @@
+ // option. This file may not be copied, modified, or distributed
+ // except according to those terms.
+
++#[allow(unused_imports, deprecated)]
+ use std::ascii::AsciiExt;
++
+ use std::error::Error;
+ use std::fmt::{self, Formatter, Write};
+ use std::str;
+@@ -20,6 +22,12 @@ use percent_encoding::{
+ PATH_SEGMENT_ENCODE_SET
+ };
+
++define_encode_set! {
++ // The backslash (\) character is treated as a path separator in special URLs
++ // so it needs to be additionally escaped in that case.
++ pub SPECIAL_PATH_SEGMENT_ENCODE_SET = [PATH_SEGMENT_ENCODE_SET] | {'\\'}
++}
++
+ pub type ParseResult<T> = Result<T, ParseError>;
+
+ macro_rules! simple_enum_error {
+@@ -70,6 +78,54 @@ impl From<::idna::uts46::Errors> for Par
+ fn from(_: ::idna::uts46::Errors) -> ParseError { ParseError::IdnaError }
+ }
+
++macro_rules! syntax_violation_enum {
++ ($($name: ident => $description: expr,)+) => {
++ /// Non-fatal syntax violations that can occur during parsing.
++ #[derive(PartialEq, Eq, Clone, Copy, Debug)]
++ pub enum SyntaxViolation {
++ $(
++ $name,
++ )+
++ }
++
++ impl SyntaxViolation {
++ pub fn description(&self) -> &'static str {
++ match *self {
++ $(
++ SyntaxViolation::$name => $description,
++ )+
++ }
++ }
++ }
++ }
++}
++
++syntax_violation_enum! {
++ Backslash => "backslash",
++ C0SpaceIgnored =>
++ "leading or trailing control or space character are ignored in URLs",
++ EmbeddedCredentials =>
++ "embedding authentication information (username or password) \
++ in an URL is not recommended",
++ ExpectedDoubleSlash => "expected //",
++ ExpectedFileDoubleSlash => "expected // after file:",
++ FileWithHostAndWindowsDrive => "file: with host and Windows drive letter",
++ NonUrlCodePoint => "non-URL code point",
++ NullInFragment => "NULL characters are ignored in URL fragment identifiers",
++ PercentDecode => "expected 2 hex digits after %",
++ TabOrNewlineIgnored => "tabs or newlines are ignored in URLs",
++ UnencodedAtSign => "unencoded @ sign in username or password",
++}
++
++#[cfg(feature = "heapsize")]
++known_heap_size!(0, SyntaxViolation);
++
++impl fmt::Display for SyntaxViolation {
++ fn fmt(&self, fmt: &mut Formatter) -> fmt::Result {
++ self.description().fmt(fmt)
++ }
++}
++
+ #[derive(Copy, Clone)]
+ pub enum SchemeType {
+ File,
+@@ -112,18 +168,17 @@ pub struct Input<'i> {
+
+ impl<'i> Input<'i> {
+ pub fn new(input: &'i str) -> Self {
+- Input::with_log(input, None)
++ Input::with_log(input, ViolationFn::NoOp)
+ }
+
+- pub fn with_log(original_input: &'i str, log_syntax_violation: Option<&Fn(&'static str)>)
+- -> Self {
++ pub fn with_log(original_input: &'i str, vfn: ViolationFn) -> Self {
+ let input = original_input.trim_matches(c0_control_or_space);
+- if let Some(log) = log_syntax_violation {
++ if vfn.is_set() {
+ if input.len() < original_input.len() {
+- log("leading or trailing control or space character are ignored in URLs")
++ vfn.call(SyntaxViolation::C0SpaceIgnored)
+ }
+ if input.chars().any(|c| matches!(c, '\t' | '\n' | '\r')) {
+- log("tabs or newlines are ignored in URLs")
++ vfn.call(SyntaxViolation::TabOrNewlineIgnored)
+ }
+ }
+ Input { chars: input.chars() }
+@@ -216,11 +271,60 @@ impl<'i> Iterator for Input<'i> {
+ }
+ }
+
++/// Wrapper for syntax violation callback functions.
++#[derive(Copy, Clone)]
++pub enum ViolationFn<'a> {
++ NewFn(&'a (Fn(SyntaxViolation) + 'a)),
++ OldFn(&'a (Fn(&'static str) + 'a)),
++ NoOp
++}
++
++impl<'a> ViolationFn<'a> {
++ /// Call with a violation.
++ pub fn call(self, v: SyntaxViolation) {
++ match self {
++ ViolationFn::NewFn(f) => f(v),
++ ViolationFn::OldFn(f) => f(v.description()),
++ ViolationFn::NoOp => {}
++ }
++ }
++
++ /// Call with a violation, if provided test returns true. Avoids
++ /// the test entirely if `NoOp`.
++ pub fn call_if<F>(self, v: SyntaxViolation, test: F)
++ where F: Fn() -> bool
++ {
++ match self {
++ ViolationFn::NewFn(f) => if test() { f(v) },
++ ViolationFn::OldFn(f) => if test() { f(v.description()) },
++ ViolationFn::NoOp => {} // avoid test
++ }
++ }
++
++ /// True if not `NoOp`
++ pub fn is_set(self) -> bool {
++ match self {
++ ViolationFn::NoOp => false,
++ _ => true
++ }
++ }
++}
++
++impl<'a> fmt::Debug for ViolationFn<'a> {
++ fn fmt(&self, f: &mut Formatter) -> fmt::Result {
++ match *self {
++ ViolationFn::NewFn(_) => write!(f, "NewFn(Fn(SyntaxViolation))"),
++ ViolationFn::OldFn(_) => write!(f, "OldFn(Fn(&'static str))"),
++ ViolationFn::NoOp => write!(f, "NoOp")
++ }
++ }
++}
++
+ pub struct Parser<'a> {
+ pub serialization: String,
+ pub base_url: Option<&'a Url>,
+ pub query_encoding_override: EncodingOverride,
+- pub log_syntax_violation: Option<&'a Fn(&'static str)>,
++ pub violation_fn: ViolationFn<'a>,
+ pub context: Context,
+ }
+
+@@ -237,29 +341,14 @@ impl<'a> Parser<'a> {
+ serialization: serialization,
+ base_url: None,
+ query_encoding_override: EncodingOverride::utf8(),
+- log_syntax_violation: None,
++ violation_fn: ViolationFn::NoOp,
+ context: Context::Setter,
+ }
+ }
+
+- fn syntax_violation(&self, reason: &'static str) {
+- if let Some(log) = self.log_syntax_violation {
+- log(reason)
+- }
+- }
+-
+- fn syntax_violation_if<F: Fn() -> bool>(&self, reason: &'static str, test: F) {
+- // Skip test if not logging.
+- if let Some(log) = self.log_syntax_violation {
+- if test() {
+- log(reason)
+- }
+- }
+- }
+-
+ /// https://url.spec.whatwg.org/#concept-basic-url-parser
+ pub fn parse_url(mut self, input: &str) -> ParseResult<Url> {
+- let input = Input::with_log(input, self.log_syntax_violation);
++ let input = Input::with_log(input, self.violation_fn);
+ if let Ok(remaining) = self.parse_scheme(input.clone()) {
+ return self.parse_with_scheme(remaining)
+ }
+@@ -310,12 +399,13 @@ impl<'a> Parser<'a> {
+ }
+
+ fn parse_with_scheme(mut self, input: Input) -> ParseResult<Url> {
++ use SyntaxViolation::{ExpectedFileDoubleSlash, ExpectedDoubleSlash};
+ let scheme_end = to_u32(self.serialization.len())?;
+ let scheme_type = SchemeType::from(&self.serialization);
+ self.serialization.push(':');
+ match scheme_type {
+ SchemeType::File => {
+- self.syntax_violation_if("expected // after file:", || !input.starts_with("//"));
++ self.violation_fn.call_if(ExpectedFileDoubleSlash, || !input.starts_with("//"));
+ let base_file_url = self.base_url.and_then(|base| {
+ if base.scheme() == "file" { Some(base) } else { None }
+ });
+@@ -335,7 +425,7 @@ impl<'a> Parser<'a> {
+ }
+ }
+ // special authority slashes state
+- self.syntax_violation_if("expected //", || {
++ self.violation_fn.call_if(ExpectedDoubleSlash, || {
+ input.clone().take_while(|&c| matches!(c, '/' | '\\'))
+ .collect::<String>() != "//"
+ });
+@@ -371,6 +461,7 @@ impl<'a> Parser<'a> {
+ }
+
+ fn parse_file(mut self, input: Input, mut base_file_url: Option<&Url>) -> ParseResult<Url> {
++ use SyntaxViolation::Backslash;
+ // file state
+ debug_assert!(self.serialization.is_empty());
+ let (first_char, input_after_first_char) = input.split_first();
+@@ -451,6 +542,7 @@ impl<'a> Parser<'a> {
+ let scheme_end = "file".len() as u32;
+ let path_start = "file://".len() as u32;
+ let fragment_start = "file:///".len() as u32;
++ self.serialization.push('#');
+ self.parse_fragment(input_after_first_char);
+ Ok(Url {
+ serialization: self.serialization,
+@@ -467,18 +559,18 @@ impl<'a> Parser<'a> {
+ }
+ }
+ Some('/') | Some('\\') => {
+- self.syntax_violation_if("backslash", || first_char == Some('\\'));
++ self.violation_fn.call_if(Backslash, || first_char == Some('\\'));
+ // file slash state
+ let (next_char, input_after_next_char) = input_after_first_char.split_first();
+- self.syntax_violation_if("backslash", || next_char == Some('\\'));
++ self.violation_fn.call_if(Backslash, || next_char == Some('\\'));
+ if matches!(next_char, Some('/') | Some('\\')) {
+ // file host state
+ self.serialization.push_str("file://");
+ let scheme_end = "file".len() as u32;
+ let host_start = "file://".len() as u32;
+- let (path_start, host, remaining) =
++ let (path_start, mut host, remaining) =
+ self.parse_file_host(input_after_next_char)?;
+- let host_end = to_u32(self.serialization.len())?;
++ let mut host_end = to_u32(self.serialization.len())?;
+ let mut has_host = !matches!(host, HostInternal::None);
+ let remaining = if path_start {
+ self.parse_path_start(SchemeType::File, &mut has_host, remaining)
+@@ -487,7 +579,13 @@ impl<'a> Parser<'a> {
+ self.serialization.push('/');
+ self.parse_path(SchemeType::File, &mut has_host, path_start, remaining)
+ };
+- // FIXME: deal with has_host
++ // For file URLs that have a host and whose path starts
++ // with the windows drive letter we just remove the host.
++ if !has_host {
++ self.serialization.drain(host_start as usize..host_end as usize);
++ host_end = host_start;
++ host = HostInternal::None;
++ }
+ let (query_start, fragment_start) =
+ self.parse_query_and_fragment(scheme_end, remaining)?;
+ Ok(Url {
+@@ -616,7 +714,7 @@ impl<'a> Parser<'a> {
+ Some('/') | Some('\\') => {
+ let (slashes_count, remaining) = input.count_matching(|c| matches!(c, '/' | '\\'));
+ if slashes_count >= 2 {
+- self.syntax_violation_if("expected //", || {
++ self.violation_fn.call_if(SyntaxViolation::ExpectedDoubleSlash, || {
+ input.clone().take_while(|&c| matches!(c, '/' | '\\'))
+ .collect::<String>() != "//"
+ });
+@@ -680,11 +778,9 @@ impl<'a> Parser<'a> {
+ match c {
+ '@' => {
+ if last_at.is_some() {
+- self.syntax_violation("unencoded @ sign in username or password")
++ self.violation_fn.call(SyntaxViolation::UnencodedAtSign)
+ } else {
+- self.syntax_violation(
+- "embedding authentification information (username or password) \
+- in an URL is not recommended")
++ self.violation_fn.call(SyntaxViolation::EmbeddedCredentials)
+ }
+ last_at = Some((char_count, remaining.clone()))
+ },
+@@ -701,14 +797,23 @@ impl<'a> Parser<'a> {
+ };
+
+ let mut username_end = None;
++ let mut has_password = false;
++ let mut has_username = false;
+ while userinfo_char_count > 0 {
+ let (c, utf8_c) = input.next_utf8().unwrap();
+ userinfo_char_count -= 1;
+ if c == ':' && username_end.is_none() {
+ // Start parsing password
+ username_end = Some(to_u32(self.serialization.len())?);
+- self.serialization.push(':');
++ // We don't add a colon if the password is empty
++ if userinfo_char_count > 0 {
++ self.serialization.push(':');
++ has_password = true;
++ }
+ } else {
++ if !has_password {
++ has_username = true;
++ }
+ self.check_url_code_point(c, &input);
+ self.serialization.extend(utf8_percent_encode(utf8_c, USERINFO_ENCODE_SET));
+ }
+@@ -717,7 +822,9 @@ impl<'a> Parser<'a> {
+ Some(i) => i,
+ None => to_u32(self.serialization.len())?,
+ };
+- self.serialization.push('@');
++ if has_username || has_password {
++ self.serialization.push('@');
++ }
+ Ok((username_end, remaining))
+ }
+
+@@ -783,6 +890,10 @@ impl<'a> Parser<'a> {
+ if scheme_type.is_special() && host_str.is_empty() {
+ return Err(ParseError::EmptyHost)
+ }
++ if !scheme_type.is_special() {
++ let host = Host::parse_opaque(host_str)?;
++ return Ok((host, input));
++ }
+ let host = Host::parse(host_str)?;
+ Ok((host, input))
+ }
+@@ -867,7 +978,7 @@ impl<'a> Parser<'a> {
+ match input.split_first() {
+ (Some('/'), remaining) => input = remaining,
+ (Some('\\'), remaining) => if scheme_type.is_special() {
+- self.syntax_violation("backslash");
++ self.violation_fn.call(SyntaxViolation::Backslash);
+ input = remaining
+ },
+ _ => {}
+@@ -895,7 +1006,7 @@ impl<'a> Parser<'a> {
+ },
+ '\\' if self.context != Context::PathSegmentSetter &&
+ scheme_type.is_special() => {
+- self.syntax_violation("backslash");
++ self.violation_fn.call(SyntaxViolation::Backslash);
+ ends_with_slash = true;
+ break
+ },
+@@ -905,18 +1016,14 @@ impl<'a> Parser<'a> {
+ },
+ _ => {
+ self.check_url_code_point(c, &input);
+- if c == '%' {
+- let after_percent_sign = input.clone();
+- if matches!(input.next(), Some('2')) &&
+- matches!(input.next(), Some('E') | Some('e')) {
+- self.serialization.push('.');
+- continue
+- }
+- input = after_percent_sign
+- }
+ if self.context == Context::PathSegmentSetter {
+- self.serialization.extend(utf8_percent_encode(
+- utf8_c, PATH_SEGMENT_ENCODE_SET));
++ if scheme_type.is_special() {
++ self.serialization.extend(utf8_percent_encode(
++ utf8_c, SPECIAL_PATH_SEGMENT_ENCODE_SET));
++ } else {
++ self.serialization.extend(utf8_percent_encode(
++ utf8_c, PATH_SEGMENT_ENCODE_SET));
++ }
+ } else {
+ self.serialization.extend(utf8_percent_encode(
+ utf8_c, DEFAULT_ENCODE_SET));
+@@ -925,7 +1032,7 @@ impl<'a> Parser<'a> {
+ }
+ }
+ match &self.serialization[segment_start..] {
+- ".." => {
++ ".." | "%2e%2e" | "%2e%2E" | "%2E%2e" | "%2E%2E" | "%2e." | "%2E." | ".%2e" | ".%2E" => {
+ debug_assert!(self.serialization.as_bytes()[segment_start - 1] == b'/');
+ self.serialization.truncate(segment_start - 1); // Truncate "/.."
+ self.pop_path(scheme_type, path_start);
+@@ -933,7 +1040,7 @@ impl<'a> Parser<'a> {
+ self.serialization.push('/')
+ }
+ },
+- "." => {
++ "." | "%2e" | "%2E" => {
+ self.serialization.truncate(segment_start);
+ },
+ _ => {
+@@ -945,7 +1052,7 @@ impl<'a> Parser<'a> {
+ self.serialization.push(':');
+ }
+ if *has_host {
+- self.syntax_violation("file: with host and Windows drive letter");
++ self.violation_fn.call(SyntaxViolation::FileWithHostAndWindowsDrive);
+ *has_host = false; // FIXME account for this in callers
+ }
+ }
+@@ -1087,7 +1194,7 @@ impl<'a> Parser<'a> {
+ pub fn parse_fragment(&mut self, mut input: Input) {
+ while let Some((c, utf8_c)) = input.next_utf8() {
+ if c == '\0' {
+- self.syntax_violation("NULL characters are ignored in URL fragment identifiers")
++ self.violation_fn.call(SyntaxViolation::NullInFragment)
+ } else {
+ self.check_url_code_point(c, &input);
+ self.serialization.extend(utf8_percent_encode(utf8_c,
+@@ -1097,15 +1204,16 @@ impl<'a> Parser<'a> {
+ }
+
+ fn check_url_code_point(&self, c: char, input: &Input) {
+- if let Some(log) = self.log_syntax_violation {
++ let vfn = self.violation_fn;
++ if vfn.is_set() {
+ if c == '%' {
+ let mut input = input.clone();
+ if !matches!((input.next(), input.next()), (Some(a), Some(b))
+ if is_ascii_hex_digit(a) && is_ascii_hex_digit(b)) {
+- log("expected 2 hex digits after %")
++ vfn.call(SyntaxViolation::PercentDecode)
+ }
+ } else if !is_url_code_point(c) {
+- log("non-URL code point")
++ vfn.call(SyntaxViolation::NonUrlCodePoint)
+ }
+ }
+ }
+diff -Nrup a/third_party/rust/url/src/quirks.rs b/third_party/rust/url/src/quirks.rs
+--- a/third_party/rust/url/src/quirks.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/quirks.rs 2020-02-28 20:28:57.249406137 +0300
+@@ -46,7 +46,7 @@ pub fn set_href(url: &mut Url, value: &s
+
+ /// Getter for https://url.spec.whatwg.org/#dom-url-origin
+ pub fn origin(url: &Url) -> String {
+- url.origin().unicode_serialization()
++ url.origin().ascii_serialization()
+ }
+
+ /// Getter for https://url.spec.whatwg.org/#dom-url-protocol
+@@ -152,7 +152,7 @@ pub fn set_port(url: &mut Url, new_port:
+ {
+ // has_host implies !cannot_be_a_base
+ let scheme = url.scheme();
+- if !url.has_host() || scheme == "file" {
++ if !url.has_host() || url.host() == Some(Host::Domain("")) || scheme == "file" {
+ return Err(())
+ }
+ result = Parser::parse_port(Input::new(new_port), || default_port(scheme), Context::Setter)
+diff -Nrup a/third_party/rust/url/tests/data.rs b/third_party/rust/url/tests/data.rs
+--- a/third_party/rust/url/tests/data.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/data.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -9,7 +9,7 @@
+ //! Data-driven tests
+
+ extern crate rustc_serialize;
+-extern crate test;
++extern crate rustc_test as test;
+ extern crate url;
+
+ use rustc_serialize::json::{self, Json};
+@@ -29,6 +29,7 @@ fn check_invariants(url: &Url) {
+ fn run_parsing(input: &str, base: &str, expected: Result<ExpectedAttributes, ()>) {
+ let base = match Url::parse(&base) {
+ Ok(base) => base,
++ Err(_) if expected.is_err() => return,
+ Err(message) => panic!("Error parsing base {:?}: {}", base, message)
+ };
+ let (url, expected) = match (base.join(&input), expected) {
+@@ -188,11 +189,7 @@ fn main() {
+ {
+ let mut add_one = |name: String, run: test::TestFn| {
+ tests.push(test::TestDescAndFn {
+- desc: test::TestDesc {
+- name: test::DynTestName(name),
+- ignore: false,
+- should_panic: test::ShouldPanic::No,
+- },
++ desc: test::TestDesc::new(test::DynTestName(name)),
+ testfn: run,
+ })
+ };
+diff -Nrup a/third_party/rust/url/tests/setters_tests.json b/third_party/rust/url/tests/setters_tests.json
+--- a/third_party/rust/url/tests/setters_tests.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/setters_tests.json 2020-02-28 20:28:57.250406130 +0300
+@@ -102,6 +102,31 @@
+ }
+ },
+ {
++ "comment": "Cant switch from file URL with no host",
++ "href": "file://localhost/",
++ "new_value": "http",
++ "expected": {
++ "href": "file:///",
++ "protocol": "file:"
++ }
++ },
++ {
++ "href": "file:///test",
++ "new_value": "gopher",
++ "expected": {
++ "href": "file:///test",
++ "protocol": "file:"
++ }
++ },
++ {
++ "href": "file:",
++ "new_value": "wss",
++ "expected": {
++ "href": "file:///",
++ "protocol": "file:"
++ }
++ },
++ {
+ "comment": "Spec deviation: from special scheme to not is not problematic. https://github.com/whatwg/url/issues/104",
+ "href": "http://example.net",
+ "new_value": "b",
+@@ -176,6 +201,14 @@
+ }
+ },
+ {
++ "href": "javascript:alert(1)",
++ "new_value": "wario",
++ "expected": {
++ "href": "javascript:alert(1)",
++ "username": ""
++ }
++ },
++ {
+ "href": "http://example.net",
+ "new_value": "me",
+ "expected": {
+@@ -224,6 +257,30 @@
+ "href": "http://%c3%89t%C3%A9@example.net/",
+ "username": "%c3%89t%C3%A9"
+ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "x",
++ "expected": {
++ "href": "sc:///",
++ "username": ""
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "test",
++ "expected": {
++ "href": "file://test/",
++ "username": ""
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "wario",
++ "expected": {
++ "href": "javascript://wario@x/",
++ "username": "wario"
++ }
+ }
+ ],
+ "password": [
+@@ -303,10 +360,106 @@
+ "href": "http://:%c3%89t%C3%A9@example.net/",
+ "password": "%c3%89t%C3%A9"
+ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "x",
++ "expected": {
++ "href": "sc:///",
++ "password": ""
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "test",
++ "expected": {
++ "href": "file://test/",
++ "password": ""
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "bowser",
++ "expected": {
++ "href": "javascript://:bowser@x/",
++ "password": "bowser"
++ }
+ }
+ ],
+ "host": [
+ {
++ "href": "sc://x/",
++ "new_value": "\u0009",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000A",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000D",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "#",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "/",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "?",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "@",
++ "expected": {
++ "href": "sc://x/",
++ "host": "x",
++ "hostname": "x"
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "",
++ "expected": {
++ "href": "sc://%C3%9F/",
++ "host": "%C3%9F",
++ "hostname": "%C3%9F"
++ }
++ },
++ {
+ "comment": "Cannot-be-a-base means no host",
+ "href": "mailto:me@example.net",
+ "new_value": "example.com",
+@@ -384,15 +537,6 @@
+ }
+ },
+ {
+- "comment": "Path-only URLs can gain a host",
+- "href": "a:/foo",
+- "new_value": "example.net",
+- "expected": {
+- "href": "a://example.net/foo",
+- "host": "example.net"
+- }
+- },
+- {
+ "comment": "IPv4 address syntax is normalized",
+ "href": "http://example.net",
+ "new_value": "0x7F000001:8080",
+@@ -536,7 +680,7 @@
+ }
+ },
+ {
+- "comment": "\\ is not a delimiter for non-special schemes, and its invalid in a domain",
++ "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts",
+ "href": "view-source+http://example.net/path",
+ "new_value": "example.com\\stuff",
+ "expected": {
+@@ -600,10 +744,119 @@
+ "hostname": "example.com",
+ "port": ""
+ }
++ },
++ {
++ "comment": "Broken IPv6",
++ "href": "http://example.net/",
++ "new_value": "[google.com]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.4x]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
+ }
+ ],
+ "hostname": [
+ {
++ "href": "sc://x/",
++ "new_value": "\u0009",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000A",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000D",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "#",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "/",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "?",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "@",
++ "expected": {
++ "href": "sc://x/",
++ "host": "x",
++ "hostname": "x"
++ }
++ },
++ {
+ "comment": "Cannot-be-a-base means no host",
+ "href": "mailto:me@example.net",
+ "new_value": "example.com",
+@@ -659,15 +912,6 @@
+ }
+ },
+ {
+- "comment": "Path-only URLs can gain a host",
+- "href": "a:/foo",
+- "new_value": "example.net",
+- "expected": {
+- "href": "a://example.net/foo",
+- "host": "example.net"
+- }
+- },
+- {
+ "comment": "IPv4 address syntax is normalized",
+ "href": "http://example.net:8080",
+ "new_value": "0x7F000001",
+@@ -756,7 +1000,7 @@
+ }
+ },
+ {
+- "comment": "\\ is not a delimiter for non-special schemes, and its invalid in a domain",
++ "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts",
+ "href": "view-source+http://example.net/path",
+ "new_value": "example.com\\stuff",
+ "expected": {
+@@ -765,6 +1009,52 @@
+ "hostname": "example.net",
+ "port": ""
+ }
++ },
++ {
++ "comment": "Broken IPv6",
++ "href": "http://example.net/",
++ "new_value": "[google.com]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.4x]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
+ }
+ ],
+ "port": [
+@@ -779,7 +1069,7 @@
+ }
+ },
+ {
+- "comment": "Port number is removed if empty in the new value: https://github.com/whatwg/url/pull/113",
++ "comment": "Port number is removed if empty is the new value",
+ "href": "http://example.net:8080",
+ "new_value": "",
+ "expected": {
+@@ -920,6 +1210,65 @@
+ "hostname": "example.net",
+ "port": "8080"
+ }
++ },
++ {
++ "comment": "Port numbers are 16 bit integers, overflowing is an error",
++ "href": "non-special://example.net:8080/path",
++ "new_value": "65536",
++ "expected": {
++ "href": "non-special://example.net:8080/path",
++ "host": "example.net:8080",
++ "hostname": "example.net",
++ "port": "8080"
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "12",
++ "expected": {
++ "href": "file://test/",
++ "port": ""
++ }
++ },
++ {
++ "href": "file://localhost/",
++ "new_value": "12",
++ "expected": {
++ "href": "file:///",
++ "port": ""
++ }
++ },
++ {
++ "href": "non-base:value",
++ "new_value": "12",
++ "expected": {
++ "href": "non-base:value",
++ "port": ""
++ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "12",
++ "expected": {
++ "href": "sc:///",
++ "port": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "12",
++ "expected": {
++ "href": "sc://x:12/",
++ "port": "12"
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "12",
++ "expected": {
++ "href": "javascript://x:12/",
++ "port": "12"
++ }
+ }
+ ],
+ "pathname": [
+@@ -970,8 +1319,8 @@
+ "href": "view-source+http://example.net/home?lang=fr#nav",
+ "new_value": "\\a\\%2E\\b\\%2e.\\c",
+ "expected": {
+- "href": "view-source+http://example.net/\\a\\.\\b\\..\\c?lang=fr#nav",
+- "pathname": "/\\a\\.\\b\\..\\c"
++ "href": "view-source+http://example.net/\\a\\%2E\\b\\%2e.\\c?lang=fr#nav",
++ "pathname": "/\\a\\%2E\\b\\%2e.\\c"
+ }
+ },
+ {
+@@ -984,12 +1333,48 @@
+ }
+ },
+ {
+- "comment": "Bytes already percent-encoded are left as-is, except %2E.",
++ "comment": "Bytes already percent-encoded are left as-is, including %2E outside dotted segments.",
+ "href": "http://example.net",
+ "new_value": "%2e%2E%c3%89t",
+ "expected": {
+- "href": "http://example.net/..%c3%89t%C3%A9",
+- "pathname": "/..%c3%89t%C3%A9"
++ "href": "http://example.net/%2e%2E%c3%89t%C3%A9",
++ "pathname": "/%2e%2E%c3%89t%C3%A9"
++ }
++ },
++ {
++ "comment": "? needs to be encoded",
++ "href": "http://example.net",
++ "new_value": "?",
++ "expected": {
++ "href": "http://example.net/%3F",
++ "pathname": "/%3F"
++ }
++ },
++ {
++ "comment": "# needs to be encoded",
++ "href": "http://example.net",
++ "new_value": "#",
++ "expected": {
++ "href": "http://example.net/%23",
++ "pathname": "/%23"
++ }
++ },
++ {
++ "comment": "? needs to be encoded, non-special scheme",
++ "href": "sc://example.net",
++ "new_value": "?",
++ "expected": {
++ "href": "sc://example.net/%3F",
++ "pathname": "/%3F"
++ }
++ },
++ {
++ "comment": "# needs to be encoded, non-special scheme",
++ "href": "sc://example.net",
++ "new_value": "#",
++ "expected": {
++ "href": "sc://example.net/%23",
++ "pathname": "/%23"
+ }
+ }
+ ],
+diff -Nrup a/third_party/rust/url/tests/unit.rs b/third_party/rust/url/tests/unit.rs
+--- a/third_party/rust/url/tests/unit.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/unit.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -11,7 +11,9 @@
+ #[macro_use]
+ extern crate url;
+
++use std::ascii::AsciiExt;
+ use std::borrow::Cow;
++use std::cell::{Cell, RefCell};
+ use std::net::{Ipv4Addr, Ipv6Addr};
+ use std::path::{Path, PathBuf};
+ use url::{Host, HostAndPort, Url, form_urlencoded};
+@@ -108,6 +110,17 @@ fn new_directory_paths() {
+ }
+
+ #[test]
++fn path_backslash_fun() {
++ let mut special_url = "http://foobar.com".parse::<Url>().unwrap();
++ special_url.path_segments_mut().unwrap().push("foo\\bar");
++ assert_eq!(special_url.as_str(), "http://foobar.com/foo%5Cbar");
++
++ let mut nonspecial_url = "thing://foobar.com".parse::<Url>().unwrap();
++ nonspecial_url.path_segments_mut().unwrap().push("foo\\bar");
++ assert_eq!(nonspecial_url.as_str(), "thing://foobar.com/foo\\bar");
++}
++
++#[test]
+ fn from_str() {
+ assert!("http://testing.com/this".parse::<Url>().is_ok());
+ }
+@@ -221,7 +234,7 @@ fn test_serialization() {
+ ("http://example.com/", "http://example.com/"),
+ ("http://addslash.com", "http://addslash.com/"),
+ ("http://@emptyuser.com/", "http://emptyuser.com/"),
+- ("http://:@emptypass.com/", "http://:@emptypass.com/"),
++ ("http://:@emptypass.com/", "http://emptypass.com/"),
+ ("http://user@user.com/", "http://user@user.com/"),
+ ("http://user:pass@userpass.com/", "http://user:pass@userpass.com/"),
+ ("http://slashquery.com/path/?q=something", "http://slashquery.com/path/?q=something"),
+@@ -256,6 +269,15 @@ fn test_form_serialize() {
+ }
+
+ #[test]
++fn form_urlencoded_custom_encoding_override() {
++ let encoded = form_urlencoded::Serializer::new(String::new())
++ .custom_encoding_override(|s| s.as_bytes().to_ascii_uppercase().into())
++ .append_pair("foo", "bar")
++ .finish();
++ assert_eq!(encoded, "FOO=BAR");
++}
++
++#[test]
+ fn host_and_port_display() {
+ assert_eq!(
+ format!(
+@@ -286,22 +308,6 @@ fn host_and_port_display() {
+ }
+
+ #[test]
+-/// https://github.com/servo/rust-url/issues/25
+-fn issue_25() {
+- let filename = if cfg!(windows) { r"C:\run\pg.sock" } else { "/run/pg.sock" };
+- let mut url = Url::from_file_path(filename).unwrap();
+- url.check_invariants().unwrap();
+- url.set_scheme("postgres").unwrap();
+- url.check_invariants().unwrap();
+- url.set_host(Some("")).unwrap();
+- url.check_invariants().unwrap();
+- url.set_username("me").unwrap();
+- url.check_invariants().unwrap();
+- let expected = format!("postgres://me@/{}run/pg.sock", if cfg!(windows) { "C:/" } else { "" });
+- assert_eq!(url.as_str(), expected);
+-}
+-
+-#[test]
+ /// https://github.com/servo/rust-url/issues/61
+ fn issue_61() {
+ let mut url = Url::parse("http://mozilla.org").unwrap();
+@@ -372,6 +378,11 @@ fn test_set_host() {
+ let mut url = Url::parse("foobar://example.net/hello").unwrap();
+ url.set_host(None).unwrap();
+ assert_eq!(url.as_str(), "foobar:/hello");
++
++ let mut url = Url::parse("foo://").unwrap();
++ assert_eq!(url.as_str(), "foo://%C8%99/");
++ url.set_host(Some("gou.ro")).unwrap();
++ assert_eq!(url.as_str(), "foo://go%C8%99u.ro/");
+ }
+
+ #[test]
+@@ -478,3 +489,68 @@ fn test_windows_unc_path() {
+ let url = Url::from_file_path(Path::new(r"\\.\some\path\file.txt"));
+ assert!(url.is_err());
+ }
++
++// Test the now deprecated log_syntax_violation method for backward
++// compatibility
++#[test]
++#[allow(deprecated)]
++fn test_old_log_violation_option() {
++ let violation = Cell::new(None);
++ let url = Url::options()
++ .log_syntax_violation(Some(&|s| violation.set(Some(s.to_owned()))))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++
++ let violation = violation.take();
++ assert_eq!(violation, Some("expected //".to_string()));
++}
++
++#[test]
++fn test_syntax_violation_callback() {
++ use url::SyntaxViolation::*;
++ let violation = Cell::new(None);
++ let url = Url::options()
++ .syntax_violation_callback(Some(&|v| violation.set(Some(v))))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++
++ let v = violation.take().unwrap();
++ assert_eq!(v, ExpectedDoubleSlash);
++ assert_eq!(v.description(), "expected //");
++}
++
++#[test]
++fn test_syntax_violation_callback_lifetimes() {
++ use url::SyntaxViolation::*;
++ let violation = Cell::new(None);
++ let vfn = |s| violation.set(Some(s));
++
++ let url = Url::options()
++ .syntax_violation_callback(Some(&vfn))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++ assert_eq!(violation.take(), Some(ExpectedDoubleSlash));
++
++ let url = Url::options()
++ .syntax_violation_callback(Some(&vfn))
++ .parse("http://mozilla.org\\path").unwrap();
++ assert_eq!(url.path(), "/path");
++ assert_eq!(violation.take(), Some(Backslash));
++}
++
++#[test]
++fn test_options_reuse() {
++ use url::SyntaxViolation::*;
++ let violations = RefCell::new(Vec::new());
++ let vfn = |v| violations.borrow_mut().push(v);
++
++ let options = Url::options()
++ .syntax_violation_callback(Some(&vfn));
++ let url = options.parse("http:////mozilla.org").unwrap();
++
++ let options = options.base_url(Some(&url));
++ let url = options.parse("/sub\\path").unwrap();
++ assert_eq!(url.as_str(), "http://mozilla.org/sub/path");
++ assert_eq!(*violations.borrow(),
++ vec!(ExpectedDoubleSlash, Backslash));
++}
+diff -Nrup a/third_party/rust/url/tests/urltestdata.json b/third_party/rust/url/tests/urltestdata.json
+--- a/third_party/rust/url/tests/urltestdata.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/urltestdata.json 2020-02-28 20:28:57.252406115 +0300
+@@ -31,6 +31,66 @@
+ "hash": "#c"
+ },
+ {
++ "input": "https://test:@test",
++ "base": "about:blank",
++ "href": "https://test@test/",
++ "origin": "https://test",
++ "protocol": "https:",
++ "username": "test",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://:@test",
++ "base": "about:blank",
++ "href": "https://test/",
++ "origin": "https://test",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://test:@test/x",
++ "base": "about:blank",
++ "href": "non-special://test@test/x",
++ "origin": "null",
++ "protocol": "non-special:",
++ "username": "test",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://:@test/x",
++ "base": "about:blank",
++ "href": "non-special://test/x",
++ "origin": "null",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
++ {
+ "input": "http:foo.com",
+ "base": "http://example.org/foo/bar",
+ "href": "http://example.org/foo/foo.com",
+@@ -106,6 +166,20 @@
+ "hash": "# e"
+ },
+ {
++ "input": "lolscheme:x x#x x",
++ "base": "about:blank",
++ "href": "lolscheme:x x#x x",
++ "protocol": "lolscheme:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "x x",
++ "search": "",
++ "hash": "#x x"
++ },
++ {
+ "input": "http://f:/c",
+ "base": "http://example.org/foo/bar",
+ "href": "http://f/c",
+@@ -201,6 +275,11 @@
+ "failure": true
+ },
+ {
++ "input": "non-special://f:999999/c",
++ "base": "http://example.org/foo/bar",
++ "failure": true
++ },
++ {
+ "input": "http://f: 21 / b ? d # e ",
+ "base": "http://example.org/foo/bar",
+ "failure": true
+@@ -960,6 +1039,26 @@
+ "hash": ""
+ },
+ {
++ "input": "file://example:1/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://example:test/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://example%/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://[example]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
+ "input": "ftps:/example.com/",
+ "base": "http://example.org/foo/bar",
+ "href": "ftps:/example.com/",
+@@ -1785,7 +1884,7 @@
+ {
+ "input": "http://example.com/foo/%2e%2",
+ "base": "about:blank",
+- "href": "http://example.com/foo/.%2",
++ "href": "http://example.com/foo/%2e%2",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -1793,14 +1892,14 @@
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+- "pathname": "/foo/.%2",
++ "pathname": "/foo/%2e%2",
+ "search": "",
+ "hash": ""
+ },
+ {
+ "input": "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar",
+ "base": "about:blank",
+- "href": "http://example.com/..bar",
++ "href": "http://example.com/%2e.bar",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -1808,7 +1907,7 @@
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+- "pathname": "/..bar",
++ "pathname": "/%2e.bar",
+ "search": "",
+ "hash": ""
+ },
+@@ -2189,11 +2288,6 @@
+ "hash": "# %C2%BB"
+ },
+ {
+- "input": "http://[www.google.com]/",
+- "base": "about:blank",
+- "failure": true
+- },
+- {
+ "input": "http://www.google.com",
+ "base": "about:blank",
+ "href": "http://www.google.com/",
+@@ -2226,7 +2320,7 @@
+ {
+ "input": "http://www/foo%2Ehtml",
+ "base": "about:blank",
+- "href": "http://www/foo.html",
++ "href": "http://www/foo%2Ehtml",
+ "origin": "http://www",
+ "protocol": "http:",
+ "username": "",
+@@ -2234,7 +2328,7 @@
+ "host": "www",
+ "hostname": "www",
+ "port": "",
+- "pathname": "/foo.html",
++ "pathname": "/foo%2Ehtml",
+ "search": "",
+ "hash": ""
+ },
+@@ -3096,7 +3190,7 @@
+ {
+ "input": "http:a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3111,7 +3205,7 @@
+ {
+ "input": "http:/a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3126,7 +3220,7 @@
+ {
+ "input": "http://a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3171,7 +3265,7 @@
+ {
+ "input": "http://:@www.example.com",
+ "base": "about:blank",
+- "href": "http://:@www.example.com/",
++ "href": "http://www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -3465,6 +3559,22 @@
+ "search": "",
+ "hash": ""
+ },
++ "Leading and trailing C0 control or space",
++ {
++ "input": "\u0000\u001b\u0004\u0012 http://example.com/\u001f \u000d ",
++ "base": "about:blank",
++ "href": "http://example.com/",
++ "origin": "http://example.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.com",
++ "hostname": "example.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Ideographic full stop (full-width period for Chinese, etc.) should be treated as a dot. U+3002 is mapped to U+002E (dot)",
+ {
+ "input": "http://www.foobar.com",
+@@ -3493,6 +3603,32 @@
+ "base": "http://other.com/",
+ "failure": true
+ },
++ "U+FFFD",
++ {
++ "input": "https://\ufffd",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://%EF%BF%BD",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://x/\ufffd?\ufffd#\ufffd",
++ "base": "about:blank",
++ "href": "https://x/%EF%BF%BD?%EF%BF%BD#%EF%BF%BD",
++ "origin": "https://x",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "x",
++ "hostname": "x",
++ "port": "",
++ "pathname": "/%EF%BF%BD",
++ "search": "?%EF%BF%BD",
++ "hash": "#%EF%BF%BD"
++ },
+ "Test name prepping, fullwidth input should be converted to ASCII and NOT IDN-ized. This is 'Go' in fullwidth UTF-8/UTF-16.",
+ {
+ "input": "http://.com",
+@@ -3536,7 +3672,7 @@
+ "input": "http://",
+ "base": "http://other.com/",
+ "href": "http://xn--6qqa088eba/",
+- "origin": "http://",
++ "origin": "http://xn--6qqa088eba",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+@@ -3547,6 +3683,36 @@
+ "search": "",
+ "hash": ""
+ },
++ {
++ "input": "https://fa.ExAmPlE/",
++ "base": "about:blank",
++ "href": "https://xn--fa-hia.example/",
++ "origin": "https://xn--fa-hia.example",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "xn--fa-hia.example",
++ "hostname": "xn--fa-hia.example",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://fa.ExAmPlE/",
++ "base": "about:blank",
++ "href": "sc://fa%C3%9F.ExAmPlE/",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "fa%C3%9F.ExAmPlE",
++ "hostname": "fa%C3%9F.ExAmPlE",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Invalid escaped characters should fail and the percents should be escaped. https://www.w3.org/Bugs/Public/show_bug.cgi?id=24191",
+ {
+ "input": "http://%zz%66%a.com",
+@@ -3600,18 +3766,23 @@
+ "base": "http://other.com/",
+ "failure": true
+ },
+- "Invalid escaping should trigger the regular host error handling",
++ "Invalid escaping in hosts causes failure",
+ {
+ "input": "http://%3g%78%63%30%2e%30%32%35%30%2E.01",
+ "base": "http://other.com/",
+ "failure": true
+ },
+- "Something that isn't exactly an IP should get treated as a host and spaces escaped",
++ "A space in a host causes failure",
+ {
+ "input": "http://192.168.0.1 hello",
+ "base": "http://other.com/",
+ "failure": true
+ },
++ {
++ "input": "https://x x:12",
++ "base": "about:blank",
++ "failure": true
++ },
+ "Fullwidth and escaped UTF-8 fullwidth should still be treated as IP",
+ {
+ "input": "http://",
+@@ -3628,12 +3799,83 @@
+ "search": "",
+ "hash": ""
+ },
++ "Domains with empty labels",
++ {
++ "input": "http://./",
++ "base": "about:blank",
++ "href": "http://./",
++ "origin": "http://.",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": ".",
++ "hostname": ".",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://../",
++ "base": "about:blank",
++ "href": "http://../",
++ "origin": "http://..",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "..",
++ "hostname": "..",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://0..0x300/",
++ "base": "about:blank",
++ "href": "http://0..0x300/",
++ "origin": "http://0..0x300",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "0..0x300",
++ "hostname": "0..0x300",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Broken IPv6",
+ {
++ "input": "http://[www.google.com]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
+ "input": "http://[google.com]",
+ "base": "http://other.com/",
+ "failure": true
+ },
++ {
++ "input": "http://[::1.2.3.4x]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.2.3.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.2.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
+ "Misc Unicode",
+ {
+ "input": "http://foo:@example.com/bar",
+@@ -4176,22 +4418,91 @@
+ "search": "",
+ "hash": ""
+ },
+- "# unknown schemes and non-ASCII domains",
++ "# unknown schemes and their hosts",
+ {
+ "input": "sc://.test/",
+ "base": "about:blank",
+- "href": "sc://xn--ida.test/",
++ "href": "sc://%C3%B1.test/",
+ "origin": "null",
+ "protocol": "sc:",
+ "username": "",
+ "password": "",
+- "host": "xn--ida.test",
+- "hostname": "xn--ida.test",
++ "host": "%C3%B1.test",
++ "hostname": "%C3%B1.test",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+ "hash": ""
+ },
++ {
++ "input": "sc://\u001F!\"$&'()*+,-.;<=>^_`{|}~/",
++ "base": "about:blank",
++ "href": "sc://%1F!\"$&'()*+,-.;<=>^_`{|}~/",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%1F!\"$&'()*+,-.;<=>^_`{|}~",
++ "hostname": "%1F!\"$&'()*+,-.;<=>^_`{|}~",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://\u0000/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc:// /",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://%/",
++ "base": "about:blank",
++ "href": "sc://%/",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%",
++ "hostname": "%",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://[/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://\\/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "x",
++ "base": "sc://",
++ "href": "sc://%C3%B1/x",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%C3%B1",
++ "hostname": "%C3%B1",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
+ "# unknown schemes and backslashes",
+ {
+ "input": "sc:\\../",
+@@ -4224,6 +4535,88 @@
+ "search": "",
+ "hash": ""
+ },
++ "# unknown scheme with bogus percent-encoding",
++ {
++ "input": "wow:%NBD",
++ "base": "about:blank",
++ "href": "wow:%NBD",
++ "origin": "null",
++ "protocol": "wow:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "%NBD",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "wow:%1G",
++ "base": "about:blank",
++ "href": "wow:%1G",
++ "origin": "null",
++ "protocol": "wow:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "%1G",
++ "search": "",
++ "hash": ""
++ },
++ "# Hosts and percent-encoding",
++ {
++ "input": "ftp://example.com%80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "ftp://example.com%A0/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://example.com%80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://example.com%A0/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "ftp://%e2%98%83",
++ "base": "about:blank",
++ "href": "ftp://xn--n3h/",
++ "origin": "ftp://xn--n3h",
++ "protocol": "ftp:",
++ "username": "",
++ "password": "",
++ "host": "xn--n3h",
++ "hostname": "xn--n3h",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://%e2%98%83",
++ "base": "about:blank",
++ "href": "https://xn--n3h/",
++ "origin": "https://xn--n3h",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "xn--n3h",
++ "hostname": "xn--n3h",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "# tests from jsdom/whatwg-url designed for code coverage",
+ {
+ "input": "http://127.0.0.1:10100/relative_import.html",
+@@ -4371,75 +4764,1385 @@
+ "port": "",
+ "pathname": "/baz",
+ "search": "?qux",
+- "searchParams": "",
++ "searchParams": "qux=",
+ "hash": "#foo%08bar"
+ },
+- "# IPv6 compression and serialization",
++ "# IPv4 parsing (via https://github.com/nodejs/node/pull/10317)",
++ {
++ "input": "http://192.168.257",
++ "base": "http://other.com/",
++ "href": "http://192.168.1.1/",
++ "origin": "http://192.168.1.1",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "192.168.1.1",
++ "hostname": "192.168.1.1",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://192.168.257.com",
++ "base": "http://other.com/",
++ "href": "http://192.168.257.com/",
++ "origin": "http://192.168.257.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "192.168.257.com",
++ "hostname": "192.168.257.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://256",
++ "base": "http://other.com/",
++ "href": "http://0.0.1.0/",
++ "origin": "http://0.0.1.0",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "0.0.1.0",
++ "hostname": "0.0.1.0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://256.com",
++ "base": "http://other.com/",
++ "href": "http://256.com/",
++ "origin": "http://256.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "256.com",
++ "hostname": "256.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://999999999",
++ "base": "http://other.com/",
++ "href": "http://59.154.201.255/",
++ "origin": "http://59.154.201.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "59.154.201.255",
++ "hostname": "59.154.201.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://999999999.com",
++ "base": "http://other.com/",
++ "href": "http://999999999.com/",
++ "origin": "http://999999999.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "999999999.com",
++ "hostname": "999999999.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://10000000000",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://10000000000.com",
++ "base": "http://other.com/",
++ "href": "http://10000000000.com/",
++ "origin": "http://10000000000.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "10000000000.com",
++ "hostname": "10000000000.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://4294967295",
++ "base": "http://other.com/",
++ "href": "http://255.255.255.255/",
++ "origin": "http://255.255.255.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "255.255.255.255",
++ "hostname": "255.255.255.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://4294967296",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://0xffffffff",
++ "base": "http://other.com/",
++ "href": "http://255.255.255.255/",
++ "origin": "http://255.255.255.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "255.255.255.255",
++ "hostname": "255.255.255.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://0xffffffff1",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://256.256.256.256",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://256.256.256.256.256",
++ "base": "http://other.com/",
++ "href": "http://256.256.256.256.256/",
++ "origin": "http://256.256.256.256.256",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "256.256.256.256.256",
++ "hostname": "256.256.256.256.256",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://0x.0x.0",
++ "base": "about:blank",
++ "href": "https://0.0.0.0/",
++ "origin": "https://0.0.0.0",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "0.0.0.0",
++ "hostname": "0.0.0.0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "More IPv4 parsing (via https://github.com/jsdom/whatwg-url/issues/92)",
++ {
++ "input": "https://256.0.0.1/test",
++ "base": "about:blank",
++ "failure": true
++ },
++ "# file URLs containing percent-encoded Windows drive letters (shouldn't work)",
++ {
++ "input": "file:///C%3A/",
++ "base": "about:blank",
++ "href": "file:///C%3A/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C%3A/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file:///C%7C/",
++ "base": "about:blank",
++ "href": "file:///C%7C/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C%7C/",
++ "search": "",
++ "hash": ""
++ },
++ "# file URLs relative to other file URLs (via https://github.com/jsdom/whatwg-url/pull/60)",
++ {
++ "input": "pix/submit.gif",
++ "base": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html",
++ "href": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///C:/",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "# More file URL tests by zcorpan and annevk",
++ {
++ "input": "/",
++ "base": "file:///C:/a/b",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "//d:",
++ "base": "file:///C:/a/b",
++ "href": "file:///d:",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/d:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "//d:/..",
++ "base": "file:///C:/a/b",
++ "href": "file:///d:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/d:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///ab:/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///1:/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": ""
++ },
++ {
++ "input": "file:",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": ""
++ },
++ {
++ "input": "?x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?x",
++ "hash": ""
++ },
++ {
++ "input": "file:?x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?x",
++ "hash": ""
++ },
++ {
++ "input": "#x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test#x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": "#x"
++ },
++ {
++ "input": "file:#x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test#x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": "#x"
++ },
++ "# File URLs and many (back)slashes",
++ {
++ "input": "file:///localhost//cat",
++ "base": "about:blank",
++ "href": "file:///localhost//cat",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/localhost//cat",
++ "search": "",
++ "hash": ""
++ },
+ {
+- "input": "http://[fe80:cd00::1257:0:211e:729c]/",
++ "input": "\\//pig",
++ "base": "file://lion/",
++ "href": "file:///pig",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/pig",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://",
++ "base": "file://ape/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter handling with the 'file:' base URL",
++ {
++ "input": "C|#",
++ "base": "file://host/dir/file",
++ "href": "file:///C:#",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|?",
++ "base": "file://host/dir/file",
++ "href": "file:///C:?",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|/",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|\n/",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|\\",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C",
++ "base": "file://host/dir/file",
++ "href": "file://host/dir/C",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "host",
++ "hostname": "host",
++ "port": "",
++ "pathname": "/dir/C",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|a",
++ "base": "file://host/dir/file",
++ "href": "file://host/dir/C|a",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "host",
++ "hostname": "host",
++ "port": "",
++ "pathname": "/dir/C|a",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk in the file slash state",
++ {
++ "input": "/c:/foo/bar",
++ "base": "file://host/path",
++ "href": "file:///c:/foo/bar",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/c:/foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk (no host)",
++ {
++ "input": "file:/C|/",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00::1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00::1257:0:211e:729c]",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://C|/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk with not empty host",
++ {
++ "input": "file://example.net/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://1.2.3.4/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://[1::8]/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ "# file URLs without base URL by Rimas Miseviius",
++ {
++ "input": "file:",
++ "base": "about:blank",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file:?q=v",
++ "base": "about:blank",
++ "href": "file:///?q=v",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "?q=v",
++ "hash": ""
++ },
++ {
++ "input": "file:#frag",
++ "base": "about:blank",
++ "href": "file:///#frag",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": "#frag"
++ },
++ "# IPv6 tests",
++ {
++ "input": "http://[1:0::]",
++ "base": "http://example.net/",
++ "href": "http://[1::]/",
++ "origin": "http://[1::]",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00::1257:0:211e:729c]",
+- "hostname": "[fe80:cd00::1257:0:211e:729c]",
++ "host": "[1::]",
++ "hostname": "[1::]",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Compress sequences of two or more zeroes",
+ {
+- "input": "http://[fe80:cd00:0:0:1257:0:211e:729c]/",
++ "input": "http://[0:1:2:3:4:5:6:7:8]",
++ "base": "http://example.net/",
++ "failure": true
++ },
++ {
++ "input": "https://[0::0::0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:0:]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1:2:3:4:5:6:7.0.0.0.1]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.00.0.0.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.290.0.0.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.23.23]",
++ "base": "about:blank",
++ "failure": true
++ },
++ "# Empty host",
++ {
++ "input": "http://?",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00::1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00::1257:0:211e:729c]",
++ "failure": true
++ },
++ {
++ "input": "http://#",
++ "base": "about:blank",
++ "failure": true
++ },
++ "Port overflow (2^32 + 81)",
++ {
++ "input": "http://f:4294967377/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "Port overflow (2^64 + 81)",
++ {
++ "input": "http://f:18446744073709551697/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "Port overflow (2^128 + 81)",
++ {
++ "input": "http://f:340282366920938463463374607431768211537/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "# Non-special-URL path tests",
++ {
++ "input": "///",
++ "base": "sc://x/",
++ "href": "sc:///",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "tftp://foobar.com/someconfig;mode=netascii",
++ "base": "about:blank",
++ "href": "tftp://foobar.com/someconfig;mode=netascii",
++ "origin": "null",
++ "protocol": "tftp:",
++ "username": "",
++ "password": "",
++ "host": "foobar.com",
++ "hostname": "foobar.com",
++ "port": "",
++ "pathname": "/someconfig;mode=netascii",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "telnet://user:pass@foobar.com:23/",
++ "base": "about:blank",
++ "href": "telnet://user:pass@foobar.com:23/",
++ "origin": "null",
++ "protocol": "telnet:",
++ "username": "user",
++ "password": "pass",
++ "host": "foobar.com:23",
++ "hostname": "foobar.com",
++ "port": "23",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "ut2004://10.10.10.10:7777/Index.ut2",
++ "base": "about:blank",
++ "href": "ut2004://10.10.10.10:7777/Index.ut2",
++ "origin": "null",
++ "protocol": "ut2004:",
++ "username": "",
++ "password": "",
++ "host": "10.10.10.10:7777",
++ "hostname": "10.10.10.10",
++ "port": "7777",
++ "pathname": "/Index.ut2",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz",
++ "base": "about:blank",
++ "href": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz",
++ "origin": "null",
++ "protocol": "redis:",
++ "username": "foo",
++ "password": "bar",
++ "host": "somehost:6379",
++ "hostname": "somehost",
++ "port": "6379",
++ "pathname": "/0",
++ "search": "?baz=bam&qux=baz",
++ "hash": ""
++ },
++ {
++ "input": "rsync://foo@host:911/sup",
++ "base": "about:blank",
++ "href": "rsync://foo@host:911/sup",
++ "origin": "null",
++ "protocol": "rsync:",
++ "username": "foo",
++ "password": "",
++ "host": "host:911",
++ "hostname": "host",
++ "port": "911",
++ "pathname": "/sup",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "git://github.com/foo/bar.git",
++ "base": "about:blank",
++ "href": "git://github.com/foo/bar.git",
++ "origin": "null",
++ "protocol": "git:",
++ "username": "",
++ "password": "",
++ "host": "github.com",
++ "hostname": "github.com",
++ "port": "",
++ "pathname": "/foo/bar.git",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "irc://myserver.com:6999/channel?passwd",
++ "base": "about:blank",
++ "href": "irc://myserver.com:6999/channel?passwd",
++ "origin": "null",
++ "protocol": "irc:",
++ "username": "",
++ "password": "",
++ "host": "myserver.com:6999",
++ "hostname": "myserver.com",
++ "port": "6999",
++ "pathname": "/channel",
++ "search": "?passwd",
++ "hash": ""
++ },
++ {
++ "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT",
++ "base": "about:blank",
++ "href": "dns://fw.example.org:9999/foo.bar.org?type=TXT",
++ "origin": "null",
++ "protocol": "dns:",
++ "username": "",
++ "password": "",
++ "host": "fw.example.org:9999",
++ "hostname": "fw.example.org",
++ "port": "9999",
++ "pathname": "/foo.bar.org",
++ "search": "?type=TXT",
++ "hash": ""
++ },
++ {
++ "input": "ldap://localhost:389/ou=People,o=JNDITutorial",
++ "base": "about:blank",
++ "href": "ldap://localhost:389/ou=People,o=JNDITutorial",
++ "origin": "null",
++ "protocol": "ldap:",
++ "username": "",
++ "password": "",
++ "host": "localhost:389",
++ "hostname": "localhost",
++ "port": "389",
++ "pathname": "/ou=People,o=JNDITutorial",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "git+https://github.com/foo/bar",
++ "base": "about:blank",
++ "href": "git+https://github.com/foo/bar",
++ "origin": "null",
++ "protocol": "git+https:",
++ "username": "",
++ "password": "",
++ "host": "github.com",
++ "hostname": "github.com",
++ "port": "",
++ "pathname": "/foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "urn:ietf:rfc:2648",
++ "base": "about:blank",
++ "href": "urn:ietf:rfc:2648",
++ "origin": "null",
++ "protocol": "urn:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "ietf:rfc:2648",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "tag:joe@example.org,2001:foo/bar",
++ "base": "about:blank",
++ "href": "tag:joe@example.org,2001:foo/bar",
++ "origin": "null",
++ "protocol": "tag:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "joe@example.org,2001:foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ "# percent encoded hosts in non-special-URLs",
++ {
++ "input": "non-special://%E2%80%A0/",
++ "base": "about:blank",
++ "href": "non-special://%E2%80%A0/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "%E2%80%A0",
++ "hostname": "%E2%80%A0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://H%4fSt/path",
++ "base": "about:blank",
++ "href": "non-special://H%4fSt/path",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "H%4fSt",
++ "hostname": "H%4fSt",
++ "port": "",
++ "pathname": "/path",
++ "search": "",
++ "hash": ""
++ },
++ "# IPv6 in non-special-URLs",
++ {
++ "input": "non-special://[1:2:0:0:5:0:0:0]/",
++ "base": "about:blank",
++ "href": "non-special://[1:2:0:0:5::]/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2:0:0:5::]",
++ "hostname": "[1:2:0:0:5::]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[1:2:0:0:0:0:0:3]/",
++ "base": "about:blank",
++ "href": "non-special://[1:2::3]/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2::3]",
++ "hostname": "[1:2::3]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[1:2::3]:80/",
++ "base": "about:blank",
++ "href": "non-special://[1:2::3]:80/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2::3]:80",
++ "hostname": "[1:2::3]",
++ "port": "80",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[:80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "blob:https://example.com:443/",
++ "base": "about:blank",
++ "href": "blob:https://example.com:443/",
++ "protocol": "blob:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "https://example.com:443/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "base": "about:blank",
++ "href": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "protocol": "blob:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "search": "",
++ "hash": ""
++ },
++ "Invalid IPv4 radix digits",
++ {
++ "input": "http://0177.0.0.0189",
++ "base": "about:blank",
++ "href": "http://0177.0.0.0189/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00::1257:0:211e:729c]",
+- "hostname": "[fe80:cd00::1257:0:211e:729c]",
++ "host": "0177.0.0.0189",
++ "hostname": "0177.0.0.0189",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Compress longest sequence of zeroes",
+ {
+- "input": "http://[fe80:0:0:1257:0:0:0:cd00]/",
++ "input": "http://0x7f.0.0.0x7g",
+ "base": "about:blank",
+- "href": "http://[fe80:0:0:1257::cd00]/",
+- "origin": "http://[fe80:0:0:1257::cd00]",
++ "href": "http://0x7f.0.0.0x7g/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:0:0:1257::cd00]",
+- "hostname": "[fe80:0:0:1257::cd00]",
++ "host": "0x7f.0.0.0x7g",
++ "hostname": "0x7f.0.0.0x7g",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Do not compress lone zeroes",
+ {
+- "input": "http://[fe80:cd00:0:cde:1257:0:211e:729c]/",
++ "input": "http://0X7F.0.0.0X7G",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00:0:cde:1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00:0:cde:1257:0:211e:729c]",
++ "href": "http://0x7f.0.0.0x7g/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00:0:cde:1257:0:211e:729c]",
+- "hostname": "[fe80:cd00:0:cde:1257:0:211e:729c]",
++ "host": "0x7f.0.0.0x7g",
++ "hostname": "0x7f.0.0.0x7g",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
++ },
++ "Invalid IPv4 portion of IPv6 address",
++ {
++ "input": "http://[::127.0.0.0.1]",
++ "base": "about:blank",
++ "failure": true
++ },
++ "Uncompressed IPv6 addresses with 0",
++ {
++ "input": "http://[0:1:0:1:0:1:0:1]",
++ "base": "about:blank",
++ "href": "http://[0:1:0:1:0:1:0:1]/",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "[0:1:0:1:0:1:0:1]",
++ "hostname": "[0:1:0:1:0:1:0:1]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://[1:0:1:0:1:0:1:0]",
++ "base": "about:blank",
++ "href": "http://[1:0:1:0:1:0:1:0]/",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "[1:0:1:0:1:0:1:0]",
++ "hostname": "[1:0:1:0:1:0:1:0]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "Percent-encoded query and fragment",
++ {
++ "input": "http://example.org/test?\u0022",
++ "base": "about:blank",
++ "href": "http://example.org/test?%22",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%22",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u0023",
++ "base": "about:blank",
++ "href": "http://example.org/test?#",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u003C",
++ "base": "about:blank",
++ "href": "http://example.org/test?%3C",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%3C",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u003E",
++ "base": "about:blank",
++ "href": "http://example.org/test?%3E",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%3E",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u2323",
++ "base": "about:blank",
++ "href": "http://example.org/test?%E2%8C%A3",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%E2%8C%A3",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?%23%23",
++ "base": "about:blank",
++ "href": "http://example.org/test?%23%23",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%23%23",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?%GH",
++ "base": "about:blank",
++ "href": "http://example.org/test?%GH",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%GH",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?a#%EF",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#%EF",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#%EF"
++ },
++ {
++ "input": "http://example.org/test?a#%GH",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#%GH",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#%GH"
++ },
++ "Bad bases",
++ {
++ "input": "test-a.html",
++ "base": "a",
++ "failure": true
++ },
++ {
++ "input": "test-a-slash.html",
++ "base": "a/",
++ "failure": true
++ },
++ {
++ "input": "test-a-slash-slash.html",
++ "base": "a//",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon.html",
++ "base": "a:",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon-slash.html",
++ "base": "a:/",
++ "href": "a:/test-a-colon-slash.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-slash-slash.html",
++ "base": "a://",
++ "href": "a:///test-a-colon-slash-slash.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash-slash.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-b.html",
++ "base": "a:b",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon-slash-b.html",
++ "base": "a:/b",
++ "href": "a:/test-a-colon-slash-b.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash-b.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-slash-slash-b.html",
++ "base": "a://b",
++ "href": "a://b/test-a-colon-slash-slash-b.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "b",
++ "hostname": "b",
++ "port": "",
++ "pathname": "/test-a-colon-slash-slash-b.html",
++ "search": "",
++ "hash": ""
++ },
++ "Null code point in fragment",
++ {
++ "input": "http://example.org/test?a#b\u0000c",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#bc",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#bc"
+ }
+ ]
+diff -Nrup a/toolkit/library/rust/Cargo.lock b/toolkit/library/rust/Cargo.lock
+--- a/toolkit/library/rust/Cargo.lock 2020-02-18 02:39:43.000000000 +0300
++++ b/toolkit/library/rust/Cargo.lock 2020-02-28 20:28:57.266406014 +0300
+@@ -808,7 +808,7 @@ dependencies = [
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "nserror 0.1.0",
+ "nsstring 0.1.0",
+- "url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+@@ -1154,7 +1154,7 @@ dependencies = [
+
+ [[package]]
+ name = "url"
+-version = "1.5.1"
++version = "1.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1383,7 +1383,7 @@ dependencies = [
+ "checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
+ "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+ "checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91"
+-"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"
++"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+ "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
+ "checksum vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c"
+ "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
diff --git a/seamonkey-2.53.1-rust141-encoding_rs.patch b/seamonkey-2.53.1-rust141-encoding_rs.patch
new file mode 100644
index 0000000..ca22efc
--- /dev/null
+++ b/seamonkey-2.53.1-rust141-encoding_rs.patch
@@ -0,0 +1,29 @@
+diff -Nrup -U 8 a/third_party/rust/encoding_rs/.cargo-checksum.json b/third_party/rust/encoding_rs/.cargo-checksum.json
+--- a/third_party/rust/encoding_rs/.cargo-checksum.json 2019-12-29 20:38:43.000000000 +0300
++++ b/third_party/rust/encoding_rs/.cargo-checksum.json 2020-02-24 19:55:59.483772898 +0300
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4d1af7257c9619f7ae66fc271ba2c1be5f063640ae8ceaa235c8c8aaf32f44ea","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"b74676e1affb0a2b528507be488bd9588db646b3b05807dada63cbe7b0747fc6","Ideas.md":"c1be4cc91621f52f38ea7febda7a4bb68086189cacc834c7edac4ba1a9da02fe","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"276d801faf4d6347c3ea32ae252cab95df653c846beaac535c5d70cf32094f5e","generate-encoding-data.py":"0b62de6d3b6368166b78a9259f06dc8d0f558504a0ed866dbe75dc2efb4bf464","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"240c607d3bad850c57d1e96871d5c0371278ed3923c38354bbb4c8a876c9a515","src/big5.rs":"614d479aabc63007f778d1f776a37b885e13d20b7c6c7a2818a729bde342f8a6","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"23e08359ccbe7602f3a90fce78dc76fd4065c236820ac0d11c9d9325045da0e6","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"8b0691ab21d638bd20078e33247f13afbc8012ff4b843a2fd03e3314353e8520","src/iso_2022_jp.rs":"285e7cea6df41d182a345a0f394a2348b1c313f0d55ed48c349824f2a6aff526","src/lib.rs":"dad6465f541ccdb171312879999d842dcbf11bc09119d81963df3a20f7d4e474","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"ff30e10bfb58fb8f56f0cc0b4dbcc4af6b343487562ee279ace8b31afd7bcccc","src/single_byte.rs":"0342a921427ed160f5cbe4532490aff5db00886a36b70273f54d8f6a9dcf6974","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"0bcf7eeb8bb33cbc88bd3bd8462437501a43055db02c40a12a15fae8e68dd1cb","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"8155c1c0acaab2826ee9f99ba911fbd3125707d797327e630977bc2f3f9b1064","src/utf_8.rs":"14cd64de87d8fc5f814f52f76390bda0b4c705da98e73e376fb424ca02119ba5","src/utf_8_core.rs":"0229de223eef17ad16751a646bcd3839c24f24069d660a4dc61b8a5fad19d16f","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"420fae797ea94e7a51eb005b97621ab32d68a8532c565afc60ecce6bdd84b6bd"},"package":"e00a1b1e95eb46988805ceee6f34cd95c46a6753e290cb3ff0486931989d4a4c"}
+\ No newline at end of file
++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4d1af7257c9619f7ae66fc271ba2c1be5f063640ae8ceaa235c8c8aaf32f44ea","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"b74676e1affb0a2b528507be488bd9588db646b3b05807dada63cbe7b0747fc6","Ideas.md":"c1be4cc91621f52f38ea7febda7a4bb68086189cacc834c7edac4ba1a9da02fe","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"276d801faf4d6347c3ea32ae252cab95df653c846beaac535c5d70cf32094f5e","generate-encoding-data.py":"0b62de6d3b6368166b78a9259f06dc8d0f558504a0ed866dbe75dc2efb4bf464","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"240c607d3bad850c57d1e96871d5c0371278ed3923c38354bbb4c8a876c9a515","src/big5.rs":"614d479aabc63007f778d1f776a37b885e13d20b7c6c7a2818a729bde342f8a6","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"23e08359ccbe7602f3a90fce78dc76fd4065c236820ac0d11c9d9325045da0e6","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"8b0691ab21d638bd20078e33247f13afbc8012ff4b843a2fd03e3314353e8520","src/iso_2022_jp.rs":"285e7cea6df41d182a345a0f394a2348b1c313f0d55ed48c349824f2a6aff526","src/lib.rs":"dad6465f541ccdb171312879999d842dcbf11bc09119d81963df3a20f7d4e474","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"ff30e10bfb58fb8f56f0cc0b4dbcc4af6b343487562ee279ace8b31afd7bcccc","src/single_byte.rs":"0342a921427ed160f5cbe4532490aff5db00886a36b70273f54d8f6a9dcf6974","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"0bcf7eeb8bb33cbc88bd3bd8462437501a43055db02c40a12a15fae8e68dd1cb","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"1d2c40857c946f6eecf724efc60a196865b4d84a59b08b42fbe4576fa8308fd0","src/utf_8.rs":"14cd64de87d8fc5f814f52f76390bda0b4c705da98e73e376fb424ca02119ba5","src/utf_8_core.rs":"0229de223eef17ad16751a646bcd3839c24f24069d660a4dc61b8a5fad19d16f","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"420fae797ea94e7a51eb005b97621ab32d68a8532c565afc60ecce6bdd84b6bd"},"package":"e00a1b1e95eb46988805ceee6f34cd95c46a6753e290cb3ff0486931989d4a4c"}
+diff -Nrup -U 8 a/third_party/rust/encoding_rs/src/utf_16.rs b/third_party/rust/encoding_rs/src/utf_16.rs
+--- a/third_party/rust/encoding_rs/src/utf_16.rs 2019-12-29 20:38:43.000000000 +0300
++++ b/third_party/rust/encoding_rs/src/utf_16.rs 2020-02-24 19:53:49.973548797 +0300
+@@ -25,17 +25,17 @@ impl Utf16Decoder {
+ lead_surrogate: 0,
+ lead_byte: None,
+ be: big_endian,
+ pending_bmp: false,
+ }
+ )
+ }
+
+- pub fn additional_from_state(&self) -> usize() {
++ pub fn additional_from_state(&self) -> usize {
+ 1 + if self.lead_byte.is_some() { 1 } else { 0 } +
+ if self.lead_surrogate == 0 { 0 } else { 2 }
+ }
+
+ pub fn max_utf16_buffer_length(&self, byte_length: usize) -> Option<usize> {
+ checked_add(
+ 1,
+ checked_div(byte_length.checked_add(self.additional_from_state()), 2),
diff --git a/seamonkey-2.53.1-startupcache.patch b/seamonkey-2.53.1-startupcache.patch
new file mode 100644
index 0000000..bd7d9fc
--- /dev/null
+++ b/seamonkey-2.53.1-startupcache.patch
@@ -0,0 +1,102 @@
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/startupcache/StartupCache.cpp seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/startupcache/StartupCache.cpp
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/startupcache/StartupCache.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/startupcache/StartupCache.cpp 2020-02-24 01:24:52.935332070 +0300
+@@ -76,21 +76,22 @@ StartupCache::CollectReports(nsIHandleRe
+
+ StartupCache*
+ StartupCache::GetSingleton()
+ {
+ if (!gStartupCache) {
+ if (!XRE_IsParentProcess()) {
+ return nullptr;
+ }
+-#ifdef MOZ_DISABLE_STARTUPCACHE
+- return nullptr;
+-#else
+- StartupCache::InitSingleton();
+-#endif
++
++ if (PR_GetEnv("MOZ_DISABLE_STARTUPCACHE")) {
++ return nullptr;
++ } else {
++ StartupCache::InitSingleton();
++ }
+ }
+
+ return StartupCache::gStartupCache;
+ }
+
+ void
+ StartupCache::DeleteSingleton()
+ {
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.js 2020-02-24 01:24:52.955331955 +0300
+@@ -106,8 +106,15 @@ function ReadSmartSizeEnabled()
+ }
+
+ function updateActualCacheSize()
+ {
+ Cc["@mozilla.org/netwerk/cache-storage-service;1"]
+ .getService(Ci.nsICacheStorageService)
+ .asyncGetDiskConsumption(CacheObserver);
+ }
++
++function prefClearStartupCache(aButton)
++{
++ Services.appinfo.invalidateCachesOnRestart();
++ aButton.disabled = true;
++}
++
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.xul seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.xul
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.xul 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.xul 2020-02-24 02:54:04.763717723 +0300
+@@ -103,16 +103,28 @@
+ <menuitem value="0" label="&checkOncePerSession.label;"/>
+ <menuitem value="2" label="&checkNever.label;"/>
+ </menupopup>
+ </menulist>
+ </hbox>
+
+ </groupbox>
+
++ <groupbox id="startupCache">
++ <caption id="startupCacheLabel" label="&startupCacheTitle.label;"/>
++ <description>&startupCachePara;</description>
++ <hbox id="startupCacheBox" align="center">
++ <button id="clearStartupCacheButton"
++ class="indent"
++ label="&clearStartupCache.label;"
++ accesskey="&clearStartupCache.accesskey;"
++ oncommand="prefClearStartupCache(this);"/>
++ </hbox>
++ </groupbox>
++
+ <groupbox id="prefetch">
+ <caption id="prefetchLabel" label="&prefetchTitle.label;"/>
+ <vbox id="prefetchBox" align="start">
+ <checkbox id="enablePrefetch"
+ label="&enablePrefetch.label;"
+ accesskey="&enablePrefetch.accesskey;"
+ preference="network.prefetch-next"/>
+ </vbox>
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-cache.dtd seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-cache.dtd
+--- seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-cache.dtd 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-cache.dtd 2020-02-24 02:50:26.000000000 +0300
+@@ -21,11 +21,16 @@
+ <!ENTITY diskCacheFolderExplanation "Cache files will be stored in a subfolder named "Cache" of the directory you specify. Restart &brandShortName; for changes to take effect.">
+ <!ENTITY docCache.label "Compare the page in the cache to the page on the network:">
+ <!ENTITY docCache.accesskey "m">
+ <!ENTITY checkOncePerSession.label "Once per session">
+ <!ENTITY checkEveryTime.label "Every time I view the page">
+ <!ENTITY checkNever.label "Never">
+ <!ENTITY checkAutomatically.label "When the page is out of date">
+
++<!ENTITY startupCacheTitle.label "Startup Cache">
++<!ENTITY startupCachePara "Startup cache is used to speed up SeaMonkey loading. (Updates or changes of some addons and extensions might require to flush the cache afterwards.)">
++<!ENTITY clearStartupCache.label "Clear startupCache">
++<!ENTITY clearStartupCache.accesskey "s">
++
+ <!ENTITY prefetchTitle.label "Link Prefetching">
+ <!ENTITY enablePrefetch.label "Prefetch web pages when idle, so that links in web pages designed for prefetching can load more quickly">
+ <!ENTITY enablePrefetch.accesskey "P">
diff --git a/seamonkey-2.53.1-system_nss_nspr.patch b/seamonkey-2.53.1-system_nss_nspr.patch
new file mode 100644
index 0000000..bd5fdcd
--- /dev/null
+++ b/seamonkey-2.53.1-system_nss_nspr.patch
@@ -0,0 +1,20 @@
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/old-configure.in.orig 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/old-configure.in 2020-01-06 03:19:40.952857698 +0300
+@@ -48,7 +48,7 @@
+ MOZJPEG=62
+ MOZPNG=10635
+ NSPR_VERSION=4
+-NSPR_MINVER=4.23
++NSPR_MINVER=4.21
+ NSS_VERSION=3
+
+ dnl Set the minimum version of toolkit libs used by mozilla
+@@ -1808,7 +1808,7 @@
+ _USE_SYSTEM_NSS=1 )
+
+ if test -n "$_USE_SYSTEM_NSS"; then
+- AM_PATH_NSS(3.47.1, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
++ AM_PATH_NSS(3.44.0, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
+ fi
+
+ NSS_CFLAGS="$NSS_CFLAGS -I${DIST}/include/nss"
diff --git a/seamonkey-2.53.1-useragent.patch b/seamonkey-2.53.1-useragent.patch
new file mode 100644
index 0000000..88f9610
--- /dev/null
+++ b/seamonkey-2.53.1-useragent.patch
@@ -0,0 +1,290 @@
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/calendar/base/src/calCalendarManager.js seamonkey-2.53-comm-2_53_beta_01-OK/calendar/base/src/calCalendarManager.js
+--- seamonkey-2.53-comm-2_53_beta_01/calendar/base/src/calCalendarManager.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/calendar/base/src/calCalendarManager.js 2020-02-19 23:52:08.526194868 +0300
+@@ -141,41 +141,43 @@ calCalendarManager.prototype = {
+ // Possible reasons we got here:
+ // - Its not a http channel (wtf? Oh well)
+ // - The owner is not a calICalendar (looks like its not our deal)
+ // - The WWW-Authenticate header is missing (thats ok)
+ }
+ break;
+ }
+ case "http-on-modify-request": {
+- // Unfortunately, the ability to do this with a general pref has
+- // been removed. Calendar servers might still want to know what
+- // client is used for access, so add our UA String to each
+- // request.
+- let httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
+- try {
+- // NOTE: For some reason, this observer call doesn't have
+- // the "cal" namespace defined
+- let userAgent = httpChannel.getRequestHeader("User-Agent");
+- let calUAString = Preferences.get("calendar.useragent.extra", "").trim();
+-
+- // Don't add an empty string or an already included token.
+- if (calUAString && !userAgent.includes(calUAString)) {
+- // User-Agent is not a mergeable header. We need to
+- // merge the user agent ourselves.
+- httpChannel.setRequestHeader("User-Agent",
+- userAgent + " " + calUAString,
+- false);
+- }
+- } catch (e) {
+- if (e.result != Components.results.NS_ERROR_NOT_AVAILABLE) {
+- throw e;
++ if (!Preferences.get("general.useragent.compatMode.firefox-exact", false)) {
++ // Unfortunately, the ability to do this with a general pref has
++ // been removed. Calendar servers might still want to know what
++ // client is used for access, so add our UA String to each
++ // request.
++ let httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
++ try {
++ // NOTE: For some reason, this observer call doesn't have
++ // the "cal" namespace defined
++ let userAgent = httpChannel.getRequestHeader("User-Agent");
++ let calUAString = Preferences.get("calendar.useragent.extra", "").trim();
++
++ // Don't add an empty string or an already included token.
++ if (calUAString && !userAgent.includes(calUAString)) {
++ // User-Agent is not a mergeable header. We need to
++ // merge the user agent ourselves.
++ httpChannel.setRequestHeader("User-Agent",
++ userAgent + " " + calUAString,
++ false);
++ }
++ } catch (e) {
++ if (e.result != Components.results.NS_ERROR_NOT_AVAILABLE) {
++ throw e;
++ }
++ // We swallow this error since it means the User Agent
++ // header is not set. We don't want to force it to be set.
+ }
+- // We swallow this error since it means the User Agent
+- // header is not set. We don't want to force it to be set.
+ }
+ break;
+ }
+ }
+ },
+
+ //
+ // DB migration code begins here
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.cpp seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.cpp
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.cpp 2020-02-19 23:52:08.527194862 +0300
+@@ -202,16 +202,17 @@ nsHttpHandler::nsHttpHandler()
+ , mQoSBits(0x00)
+ , mEnforceAssocReq(false)
+ , mLastUniqueID(NowInSeconds())
+ , mSessionStartTime(0)
+ , mLegacyAppName("Mozilla")
+ , mLegacyAppVersion("5.0")
+ , mProduct("Gecko")
+ , mCompatFirefoxEnabled(false)
++ , mCompatFirefoxExact(false)
+ , mUserAgentIsDirty(true)
+ , mAcceptLanguagesIsDirty(true)
+ , mPromptTempRedirect(true)
+ , mEnablePersistentHttpsCaching(false)
+ , mDoNotTrackEnabled(false)
+ , mSafeHintEnabled(false)
+ , mParentalControlEnabled(false)
+ , mHandlerActive(false)
+@@ -900,17 +901,17 @@ nsHttpHandler::BuildUserAgent()
+ mUserAgent += ')';
+
+ // Product portion
+ mUserAgent += ' ';
+ mUserAgent += mProduct;
+ mUserAgent += '/';
+ mUserAgent += mProductSub;
+
+- bool isFirefox = mAppName.EqualsLiteral("Firefox");
++ bool isFirefox = mAppName.EqualsLiteral("Firefox") || mCompatFirefoxExact;
+ if (isFirefox || mCompatFirefoxEnabled) {
+ // "Firefox/x.y" (compatibility) app token
+ mUserAgent += ' ';
+ mUserAgent += mCompatFirefox;
+ }
+ if (!isFirefox) {
+ // App portion
+ mUserAgent += ' ';
+@@ -1138,16 +1139,22 @@ nsHttpHandler::PrefsChanged(nsIPrefBranc
+ bool cVar = false;
+
+ if (PREF_CHANGED(UA_PREF("compatMode.firefox"))) {
+ rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox"), &cVar);
+ mCompatFirefoxEnabled = (NS_SUCCEEDED(rv) && cVar);
+ mUserAgentIsDirty = true;
+ }
+
++ if (PREF_CHANGED(UA_PREF("compatMode.firefox-exact"))) {
++ rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox-exact"), &cVar);
++ mCompatFirefoxExact = (NS_SUCCEEDED(rv) && cVar);
++ mUserAgentIsDirty = true;
++ }
++
+ // general.useragent.override
+ if (PREF_CHANGED(UA_PREF("override"))) {
+ prefs->GetCharPref(UA_PREF("override"),
+ getter_Copies(mUserAgentOverride));
+ mUserAgentIsDirty = true;
+ }
+
+ #ifdef ANDROID
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.h seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.h
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.h 2020-02-20 03:42:49.910562361 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.h 2020-02-19 23:52:08.527194862 +0300
+@@ -492,16 +492,17 @@ private:
+ nsCString mOscpu;
+ nsCString mMisc;
+ nsCString mProduct;
+ nsCString mProductSub;
+ nsCString mAppName;
+ nsCString mAppVersion;
+ nsCString mCompatFirefox;
+ bool mCompatFirefoxEnabled;
++ bool mCompatFirefoxExact;
+ nsCString mCompatDevice;
+ nsCString mDeviceModelId;
+
+ nsCString mUserAgent;
+ nsCString mSpoofedUserAgent;
+ nsCString mUserAgentOverride;
+ bool mUserAgentIsDirty; // true if mUserAgent should be rebuilt
+ bool mAcceptLanguagesIsDirty;
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/app/profile/suite-prefs.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/app/profile/suite-prefs.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/app/profile/suite-prefs.js 2020-02-20 03:42:50.063561357 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/app/profile/suite-prefs.js 2020-02-19 23:52:08.532194833 +0300
+@@ -36,16 +36,17 @@ pref("general.startup.addressbook",
+ pref("general.open_location.last_url", "");
+ pref("general.open_location.last_window_choice", 0);
+ pref("browser.urlbar.historyEnabled", true);
+
+ pref("general.smoothScroll", false);
+ pref("general.autoScroll", true);
+
+ pref("general.useragent.compatMode.firefox", true);
++pref("general.useragent.compatMode.firefox-exact", false);
+
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
+ pref("browser.startup.page", 1);
+ pref("browser.startup.homepage", "chrome://navigator-region/locale/region.properties");
+ pref("browser.startup.homepage.count", 1);
+
+ pref("browser.warnOnQuit", true);
+ pref("browser.warnOnRestart", true);
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.js 2020-02-20 03:39:30.000000000 +0300
+@@ -3,16 +3,31 @@
+ * 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/. */
+
+ var gLightningUAold;
+
+ function Startup()
+ {
+ CheckLightningUA();
++
++ var prefFirefoxExact = document.getElementById("general.useragent.compatMode.firefox-exact");
++ SetFirefoxExactEnabled(prefFirefoxExact.value);
++}
++
++function SetFirefoxExactEnabled(aEnable)
++{
++ EnableElementById("uaFirefoxCompat", !aEnable, false);
++
++ var prefLightningUA = document.getElementById("calendar.useragent.extra");
++ if (prefLightningUA.defaultValue)
++ {
++ var boxLightningUA = document.getElementById("uaLightningShow");
++ boxLightningUA.disabled = prefLightningUA.locked || aEnable;
++ }
+ }
+
+ // Lightning adds a UA token if calendar.useragent.extra is not empty.
+ // Checkbox is visible if Lightning is installed and enabled.
+ // Checkbox is checked if the pref contains any non-whitespace character.
+ function CheckLightningUA()
+ {
+ var prefLightningUA = document.getElementById("calendar.useragent.extra");
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.xul seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.xul
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.xul 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.xul 2020-02-19 23:52:08.529194850 +0300
+@@ -14,16 +14,20 @@
+ name="network.http.version"
+ type="string"/>
+ <preference id="network.http.proxy.version"
+ name="network.http.proxy.version"
+ type="string"/>
+ <preference id="general.useragent.compatMode.firefox"
+ name="general.useragent.compatMode.firefox"
+ type="bool"/>
++ <preference id="general.useragent.compatMode.firefox-exact"
++ name="general.useragent.compatMode.firefox-exact"
++ type="bool"
++ onchange="SetFirefoxExactEnabled(this.value);"/>
+ <preference id="calendar.useragent.extra"
+ name="calendar.useragent.extra"
+ type="string"/>
+ </preferences>
+
+ <description>&prefPara;</description>
+
+ <hbox align="start">
+@@ -57,21 +61,33 @@
+ </vbox>
+ </groupbox>
+ </hbox>
+
+ <separator class="thin"/>
+
+ <groupbox>
+ <caption label="&prefUseragent.label;"/>
++ <radiogroup id="uaFirefoxExact"
++ preference="general.useragent.compatMode.firefox-exact">
++ <radio value="true"
++ label="&prefFirefoxExact.label;"
++ accesskey="&prefFirefoxExact.accesskey;"/>
++ <radio value="false"
++ flex="1"
++ label="&prefAdvertiseSeaMonkey.label;"
++ accesskey="&prefAdvertiseSeaMonkey.accesskey;"/>
++ </radiogroup>
+ <checkbox id="uaFirefoxCompat"
++ class="indent"
+ label="&prefFirefoxCompat.label;"
+ accesskey="&prefFirefoxCompat.accesskey;"
+ preference="general.useragent.compatMode.firefox"/>
+ <checkbox id="uaLightningShow"
++ class="indent"
+ hidden="true"
+ label="&prefLightningShow.label;"
+ accesskey="&prefLightningShow.accesskey;"
+ oncommand="OnLightningChanged(this.checked);"/>
+ </groupbox>
+
+ <description>&prefCompatWarning;</description>
+ </prefpane>
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-http.dtd seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-http.dtd
+--- seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-http.dtd 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-http.dtd 2020-02-19 23:52:08.529194850 +0300
+@@ -10,13 +10,17 @@
+ <!ENTITY prefEnableHTTP10.label "Use HTTP 1.0">
+ <!ENTITY prefEnableHTTP10.accesskey "U">
+ <!ENTITY prefEnableHTTP10Proxy.accesskey "S">
+ <!ENTITY prefEnableHTTP11.label "Use HTTP 1.1">
+ <!ENTITY prefEnableHTTP11.accesskey "E">
+ <!ENTITY prefEnableHTTP11Proxy.accesskey "T">
+ <!ENTITY prefPara "HTTP connections may be fine-tuned using these options to enhance either performance or compatibility. Some proxy servers, for example, are known to require HTTP/1.0 (see the release notes for details).">
+ <!ENTITY prefUseragent.label "User Agent String">
++<!ENTITY prefFirefoxExact.label "Look exactly as Firefox">
++<!ENTITY prefFirefoxExact.accesskey "A">
++<!ENTITY prefAdvertiseSeaMonkey.label "Advertise SeaMonkey">
++<!ENTITY prefAdvertiseSeaMonkey.accesskey "M">
+ <!ENTITY prefFirefoxCompat.label "Advertise Firefox compatibility">
+ <!ENTITY prefFirefoxCompat.accesskey "F">
+ <!ENTITY prefLightningShow.label "Advertise Lightning installation">
+ <!ENTITY prefLightningShow.accesskey "L">
+ <!ENTITY prefCompatWarning "WARNING: disabling these settings may result in websites or services not working properly.">
diff --git a/seamonkey.spec b/seamonkey.spec
index bb9d272..afc9da7 100644
--- a/seamonkey.spec
+++ b/seamonkey.spec
@@ -4,19 +4,26 @@
%bcond_without system_icu
%bcond_without system_sqlite
%bcond_without system_ffi
+%bcond_with system_hunspell
%bcond_with system_cairo
%bcond_without langpacks
-%bcond_with calendar
-%bcond_with inspector
-%bcond_with irc
+%bcond_without clang
+%bcond_with lto
+%bcond_with stylo
-%global nspr_version 4.13.1
-%global nss_version 3.30.0
+%bcond_without calendar
+%bcond_without dominspector
+%bcond_without irc
+%bcond_with debugqa
+
+%global nspr_version 4.21.0
+%global nss_version 3.44.0
%global libvpx_version 1.5.0
-%global icu_version 58.1
-%global sqlite_version 3.17.0
+%global icu_version 59.1
+%global sqlite_version 3.19.3
%global ffi_version 3.0.9
+%global hunspell_version 1.6.1
%global cairo_version 1.10
%define homepage http://start.fedoraproject.org/
@@ -28,14 +35,15 @@
Name: seamonkey
Summary: Web browser, e-mail, news, IRC client, HTML editor
-Version: 2.49.5
-Release: 2%{?dist}
+Version: 2.53.1
+Release: 1%{?dist}
URL: http://www.seamonkey-project.org
License: MPLv2.0
-Source0: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
+
+Source0: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
%if %{with langpacks}
-Source1: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
+Source1: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
%endif
Source3: seamonkey.sh.in
@@ -44,26 +52,25 @@ Source12: seamonkey-mail.desktop
Source13: seamonkey-mail.svg
Source100: seamonkey-find-requires.sh
-Patch2: firefox-48-jemalloc-ppc.patch
-Patch3: xulrunner-27.0-build-arm.patch
-Patch4: firefox-33-rhbz-966424.patch
+Patch3: firefox-60-mozilla-1516803.patch
Patch5: firefox-35-rhbz-1173156.patch
-Patch6: firefox-52-build-prbool.patch
+Patch6: firefox-56-build-prbool.patch
Patch7: firefox-51-mozilla-1005640.patch
Patch8: firefox-48-mozilla-256180.patch
-Patch10: firefox-50-mozilla-440908.patch
-Patch13: firefox-52-mozilla-revert-1148544.patch
-Patch14: firefox-51-mozilla-1324096.patch
+Patch10: firefox-56-mozilla-440908.patch
+Patch11: firefox-60-mozilla-1436242.patch
+Patch12: seamonkey-2.53.1-mozilla-1533969.patch
+Patch13: seamonkey-2.53.1-mozilla-revert-1332139.patch
Patch16: firefox-52-rhbz-1451055.patch
+Patch17: seamonkey-2.53.1-rust140-nsstring.patch
+Patch18: seamonkey-2.53.1-rust140-url_1_7_2.patch
+Patch19: seamonkey-2.53.1-rust141-encoding_rs.patch
+Patch20: seamonkey-2.53.1-system_nss_nspr.patch
Patch22: seamonkey-2.46-installdir.patch
-Patch27: seamonkey-2.46-exthandler.patch
-Patch28: seamonkey-2.49.5-crmf.patch
-Patch29: seamonkey-2.49.5-mozilla-1559419
-Patch30: nss-3.28-mozilla-1334976-1336487.patch
-Patch31: seamonkey-2.49.4-gettid.patch
-Patch40: seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
-Patch41: seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
-Patch42: seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
+Patch30: seamonkey-2.53.1-rhbz-1503632.patch
+Patch31: seamonkey-2.53.1-mozilla-526293.patch
+Patch32: seamonkey-2.53.1-useragent.patch
+Patch34: seamonkey-2.53.1-startupcache.patch
%{?with_system_nspr:BuildRequires: nspr-devel >= %{nspr_version}}
%{?with_system_nss:BuildRequires: nss-devel >= %{nss_version}}
@@ -72,6 +79,7 @@ Patch42: seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
%{?with_system_icu:BuildRequires: libicu-devel >= %{icu_version}}
%{?with_system_sqlite:BuildRequires: sqlite-devel >= %{sqlite_version}}
%{?with_system_ffi:BuildRequires: libffi-devel >= %{ffi_version}}
+%{?with_system_hunspell:BuildRequires: hunspell-devel >= %{hunspell_version}}
%{?with_system_cairo:BuildRequires: cairo-devel >= %{cairo_version}}
BuildRequires: libpng-devel
@@ -80,7 +88,7 @@ BuildRequires: zlib-devel
BuildRequires: zip
BuildRequires: libIDL-devel
BuildRequires: desktop-file-utils
-BuildRequires: gtk2-devel
+BuildRequires: gtk3-devel
BuildRequires: dbus-glib-devel
BuildRequires: gnome-vfs2-devel
BuildRequires: libgnome-devel
@@ -93,19 +101,29 @@ BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: coreutils
BuildRequires: alsa-lib-devel
-BuildRequires: hunspell-devel
BuildRequires: libnotify-devel
BuildRequires: yasm >= 1.1
BuildRequires: mesa-libGL-devel
BuildRequires: pulseaudio-libs-devel
+BuildRequires: startup-notification-devel
BuildRequires: autoconf213
-BuildRequires: python >= 2.7
-BuildRequires: gcc-c++ >= 4.8
+BuildRequires: python27
+
+%if %{with clang} || %{with stylo}
+BuildRequires: clang, llvm-devel
+%endif
+%if %{without clang}
+BuildRequires: gcc-c++ >= 6.1
+%endif
+
+BuildRequires: rust >= 1.35
+BuildRequires: cargo
Requires: system-bookmarks
Requires: mozilla-filesystem
Requires: hicolor-icon-theme
+Requires: p11-kit-trust
%if %{with system_nspr}
Requires: nspr >= %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo %{nspr_version})
%endif
@@ -118,7 +136,8 @@ Requires: sqlite >= %(pkg-config --silence-errors --modversion sqlite 2>/d
# ppc64: http://bugzilla.redhat.com/bugzilla/866589
# armv7hl: http://bugzilla.redhat.com/bugzilla/1035485
-ExclusiveArch: %{ix86} x86_64
+# %{ix86}: no more supported upstream
+ExclusiveArch: x86_64
%define _use_internal_dependency_generator 0
%define __find_requires %{SOURCE100}
@@ -148,34 +167,27 @@ application formerly known as Mozilla Application Suite.
cd %{sources_subdir}
pushd mozilla
-%patch2 -p1 -b .jemalloc-ppc
-%patch3 -p2 -b .build-arm
-%patch4 -p2 -b .966424
+%patch3 -p1 -b .1516803
%patch5 -p2 -b .1173156
%patch6 -p1 -b .prbool
%patch7 -p1 -b .1005640
%patch8 -p1 -b .256180
%patch10 -p1 -b .440908
-%patch13 -p1 -b .1148544
-%patch14 -p1 -b .1324096
+%patch11 -p1 -b .1436242
+%patch12 -p1 -b .1533969
+%patch13 -p1 -b .1332139
%patch16 -p1 -b .1451055
+%patch17 -p1 -b .nsstring
+%patch18 -p1 -b .rust-url
+%patch19 -p1 -b .encoding_rs
popd
+%patch20 -p2 -b .system_nss_nspr
%patch22 -p2 -b .installdir
-%patch27 -p2 -b .exthandler
-%patch28 -p2 -b .crmf
-%patch29 -p2 -b .1559419
-%patch31 -p2 -b .gettid
-
-%if %{without system_nss}
-pushd mozilla/security/nss
-%patch30 -p1 -b .1334976
-popd
-%endif
-
-%patch40 -p2 -b .1269145
-%patch41 -p2 -b .1398973
-%patch42 -p2 -b .1461307
+%patch30 -p2 -b .1503632
+%patch31 -p2 -b .526293
+%patch32 -p1 -b .useragent
+%patch34 -p1 -b .startupcache
sed -e 's/-MOZILLA_VERSION//g' \
-e 's,LIBDIR,%{_libdir},g' %{SOURCE3} >seamonkey.sh
@@ -183,12 +195,7 @@ sed -e 's/-MOZILLA_VERSION//g' \
%if %{without calendar}
sed -i 's/MOZ_CALENDAR/UNDEF_MOZ_CALENDAR/' suite/installer/package-manifest.in
%endif
-%if %{without inspector}
-sed -i '/^\[inspector\]/,/^$/ d' suite/installer/package-manifest.in
-%endif
-%if %{without irc}
-sed -i '/^\[chatzilla\]/,/^$/ d' suite/installer/package-manifest.in
-%endif
+
#
# generate .mozconfig
@@ -215,36 +222,41 @@ ac_add_options --with-system-bz2
ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-install-strip
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-extensions=default%{!?with_inspector:,-inspector}%{!?with_irc:,-irc}
+ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --disable-crashreporter
-ac_add_options --enable-safe-browsing
-ac_add_options --enable-system-hunspell
ac_add_options --disable-updater
ac_add_options --enable-chrome-format=omni
ac_add_options --disable-necko-wifi
+ac_add_options --enable-startup-notification
ac_add_options --enable-optimize=-O2
-ac_add_options --with%{!?with_system_nspr:out}-system-nspr
-ac_add_options --with%{!?with_system_nss:out}-system-nss
-ac_add_options --with%{!?with_system_libvpx:out}-system-libvpx
-ac_add_options --with%{!?with_system_icu:out}-system-icu
+ac_add_options --enable-startupcache
-ac_add_options --%{?with_system_sqlite:en}%{!?with_system_sqlite:dis}able-system-sqlite
-ac_add_options --%{?with_system_ffi:en}%{!?with_system_ffi:dis}able-system-ffi
-ac_add_options --%{?with_system_cairo:en}%{!?with_system_cairo:dis}able-system-cairo
+%define with_sys() ac_add_options --with%%{!?with_system_%1:out}-system-%1
+%define endis_sys() ac_add_options --%%{?with_system_%1:enable}%%{!?with_system_%1:disable}-system-%1
+%define endis() ac_add_options --%%{?with_%1:enable}%%{!?with_%1:disable}-%1
+
+%{expand:%with_sys nspr}
+%{expand:%with_sys nss}
+%{expand:%with_sys libvpx}
+%{expand:%with_sys icu}
+
+%{expand:%endis_sys sqlite}
+%{expand:%endis_sys ffi}
+%{expand:%endis_sys hunspell}
+%{expand:%endis_sys cairo}
# always enable calendar to build needed internal components required for both bundled and external addons
ac_add_options --enable-calendar
+%{expand:%endis dominspector}
+%{expand:%endis irc}
+%{expand:%endis debugqa}
-%ifarch %{arm}
-ac_add_options --disable-elf-hack
-%endif
-%ifnarch %{ix86} x86_64
-ac_add_options --disable-webrtc
-%endif
+ac_add_options --disable-webrender
+ac_add_options %{?with_stylo:--enable-stylo=build}%{!?with_stylo:--disable-stylo}
+
%if %{with langpacks}
ac_add_options --with-l10n-base=../l10n
@@ -269,18 +281,20 @@ pref("intl.locale.matchOS", true);
pref("extensions.shownSelectionUI", true);
pref("extensions.autoDisableScopes", 0);
pref("shell.checkDefaultApps", 0);
-pref("media.gmp-gmpopenh264.provider.enabled",false);
-pref("media.gmp-gmpopenh264.autoupdate",false);
-pref("media.gmp-gmpopenh264.enabled",false);
-pref("gfx.xrender.enabled",true);
-pref("devtools.webide.enabled",false);
+pref("media.gmp-gmpopenh264.provider.enabled", false);
+pref("media.gmp-gmpopenh264.autoupdate", false);
+pref("media.gmp-gmpopenh264.enabled", false);
+pref("gfx.xrender.enabled", true);
+pref("devtools.webide.enabled", false);
/* use system dictionaries (hunspell) */
-pref("spellchecker.dictionary_path","%{_datadir}/myspell");
+pref("spellchecker.dictionary_path", "%{_datadir}/myspell");
/* Allow sending credetials to all https:// sites */
pref("network.negotiate-auth.trusted-uris", "https://");
+pref("general.useragent.compatMode.firefox-exact", true);
+
EOF
# all-fedora.js
@@ -293,32 +307,58 @@ sed -i -e "s|browser.startup.homepage.*$|browser.startup.homepage = %{homepage}|
cd %{sources_subdir}
+%if %{with clang}
+export CC=clang
+export CXX=clang++
+%endif
+
# Mozilla builds with -Wall with exception of a few warnings which show up
# everywhere in the code; so, don't override that.
MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wall//')
+MOZ_LINK_FLAGS=
+
+# Still not handled by clang-8
+%if %{with clang}
+MOZ_OPT_FLAGS=$(echo $MOZ_OPT_FLAGS | sed -e 's/-fstack-clash-protection//')
+%endif
# needed for -Werror=format-security
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat"
-
# just temporary for gcc9 ...
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wno-format-overflow"
-# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
+%if %{with lto}
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flto"
+%if %{with clang}
+export AS=llvm-as
+export AR=llvm-ar
+export RANLIB=llvm-ranlib
+export STRIP=llvm-strip
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fuse-ld=gold"
+%else
+export AR=gcc-ar
+export RANLIB=gcc-ranlib
+%endif
+%endif
+%if %(awk '/^MemTotal:/ { print $2 }' /proc/meminfo) <= 4200000
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--no-keep-memory"
+%if %{without clang} || %{without lto}
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--reduce-memory-overheads"
+%endif
+%endif
+
export CFLAGS=$MOZ_OPT_FLAGS
export CXXFLAGS=$MOZ_OPT_FLAGS
+export LDFLAGS=$MOZ_LINK_FLAGS
-[ "%{?__isa_bits}" == 32 -o $(awk '/^MemTotal:/ { print $2 }' /proc/meminfo) -le 4200000 ] && {
- MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
- export LDFLAGS=$MOZ_LINK_FLAGS
-}
MOZ_SMP_FLAGS=%{?_smp_mflags}
[ ${MOZ_SMP_FLAGS#-j} -gt 8 ] && MOZ_SMP_FLAGS=-j8
make -f client.mk build MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
+
%if %{with langpacks}
languages=`ls l10n | while read lang
@@ -358,6 +398,11 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/idl/seamonkey
rm -f $RPM_BUILD_ROOT%{_bindir}/seamonkey
install -p -m 755 seamonkey.sh $RPM_BUILD_ROOT%{_bindir}/seamonkey
+install -p -m 644 -D obj-*/dist/man/man1/seamonkey.1 $RPM_BUILD_ROOT/%{_mandir}/man1/seamonkey.1
+
+rm -f $RPM_BUILD_ROOT/%{_libdir}/seamonkey/removed-files
+rm -f $RPM_BUILD_ROOT/%{_libdir}/seamonkey/libnssckbi.so
+
# default prefs
install -p -m 644 all-fedora.js \
$RPM_BUILD_ROOT/%{_libdir}/seamonkey/defaults/pref/all-fedora.js
@@ -423,10 +468,11 @@ desktop-file-install --vendor mozilla \
pushd $RPM_BUILD_ROOT%{_libdir}/seamonkey/chrome/icons/default
icons=$RPM_BUILD_ROOT%{_datadir}/icons/hicolor
# seamonkey icons
-install -p -m 644 -D main-window16.png $icons/16x16/apps/seamonkey.png
-install -p -m 644 -D main-window.png $icons/32x32/apps/seamonkey.png
-install -p -m 644 -D main-window48.png $icons/48x48/apps/seamonkey.png
-install -p -m 644 -D seamonkey.png $icons/128x128/apps/seamonkey.png
+install -p -m 644 -D default16.png $icons/16x16/apps/seamonkey.png
+install -p -m 644 -D default.png $icons/32x32/apps/seamonkey.png
+install -p -m 644 -D default48.png $icons/48x48/apps/seamonkey.png
+install -p -m 644 -D default64.png $icons/64x64/apps/seamonkey.png
+install -p -m 644 -D default128.png $icons/128x128/apps/seamonkey.png
# seamonkey mail icons
install -p -m 644 -D messengerWindow16.png $icons/16x16/apps/seamonkey-mail.png
install -p -m 644 -D messengerWindow.png $icons/32x32/apps/seamonkey-mail.png
@@ -439,13 +485,15 @@ popd
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/extensions/%{seamonkey_app_id}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
+
%files -f seamonkey.lang
-%{_libdir}/seamonkey
+%license %{_libdir}/seamonkey/license.txt
-%ghost %{_libdir}/seamonkey/removed-files
+%{_libdir}/seamonkey
%{_bindir}/seamonkey
+%{_mandir}/*/*
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/applications/*.desktop
@@ -454,6 +502,10 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
%changelog
+* Fri Feb 28 2020 Dmitry Butskoy <Dmitry(a)Butskoy.name> - 2.53.1-1
+- Upgrade to 2.53.1
+- use clang to build
+
* Mon Sep 9 2019 Dmitry Butskoy <Dmitry(a)Butskoy.name> - 2.49.5-2
- rebuid to properly handle external lightning extension (#1750450)
@@ -543,321 +595,3 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
- avoid runtime linking with too old ffmpeg libraries (#1330898)
- still enable XRender extension by default
-* Thu Aug 4 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-9
-- Revert changes introduced by 2.40-7. The system-bookmarks is
- required for new profiles
-
-* Tue Aug 2 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-8
-- Bump release due to rebuild
-
-* Mon Aug 1 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-7
-- Seamonkey no longer require system-bookmarks during installation
- (rhbz#1361851)
-
-* Tue Jul 22 2016 Tom Callaway <spot(a)fedoraproject.org> - 2.40-6
-- rebuild for libvpx 1.6.0
-
-* Tue Jul 5 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-5
-- Disable null pointer gcc6 optimization in gcc-6.x (#1328045)
-
-* Sun Jul 3 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-4
-- add fix for gcc-6.x (mozilla bug #1245783)
-
-* Tue Jun 14 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-3
-- disable extra updatecheck (#1346171)
-- enable full-screen-api by default for media support
-
-* Mon Apr 18 2016 Caoln McNamara <caolanm(a)redhat.com> 2.40-2
-- rebuild for hunspell 1.4.0
-
-* Tue Mar 15 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-1
-- update to 2.40
-
-* Tue Feb 16 2016 Martin Stransky <stransky(a)redhat.com> 2.39-5
-- Added gcc6 build fix
-
-* Thu Feb 04 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.39-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Sat Jan 23 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.39-3
-- use system dictionaries for spell checking
-- specify default homepage for builtin default locale (en_US) as well
-- drop tons of garbage from libsuite.so component
-- massive spec and config files cleanup, including:
- - simplifying of install process and filelist generation
- - drop unneeded sources
- - generate mozconfig and prefs files inside spec file
- (better atomic support for changes and different releases)
- - actually provide information of files' locales for rpm package
- - conditionally build with system cairo, sqlite, libffi
-- more robast helper detection when content type reported wrongly
-- change some defaults to be the same as in Firefox:
- - delete temporary helpers files on exit
- - disable autoupdates by default
- - match OS locale by default
-- avoid ppc64le builds as well (#866589)
-- build with system sqlite and libffi
-
-* Tue Dec 1 2015 Tom Callaway <spot(a)fedoraproject.org> 2.39-2
-- rebuild for libvpx 1.5.0
-
-* Mon Nov 16 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.39-1
-- update to 2.39
-
-* Sun Oct 11 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.38-1
-- update to 2.38
-
-* Sun Sep 13 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.35-1
-- update to 2.35
-
-* Fri Jun 19 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.33.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sat May 02 2015 Kalev Lember <kalevlember(a)gmail.com> - 2.33.1-3
-- Rebuilt for GCC 5 C++11 ABI change
-
-* Mon Apr 13 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name>
-- cleanup of the startup script (#1210035)
-
-* Mon Apr 6 2015 Tom Callaway <spot(a)fedoraproject.org> - 2.33.1-2
-- rebuild against libvpx 1.4.0
-
-* Thu Mar 26 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.33.1-1
-- update to 2.33.1
-
-* Mon Mar 16 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.33-1
-- update to 2.33
-- apply some patches from firefox-36 package
-
-* Sun Feb 8 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.32.1-1
-- update to 2.32.1
-
-* Tue Jan 20 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.32-1
-- update to 2.32
-- apply some patches from firefox-35 package
-- enable gstreamer-1.0 support
-
-* Mon Dec 15 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.31-1
-- update to 2.31
-- apply some patches from firefox-34 package
-
-* Sat Oct 25 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.30-1
-- update to 2.30
-- apply some patches from firefox-33 package
-
-* Fri Sep 26 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.29.1-1
-- update to 2.29.1
-
-* Sat Sep 20 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.29-1
-- update to 2.29
-- apply some patches from firefox-32 package
-
-* Wed Aug 20 2014 Kevin Fenzi <kevin(a)scrye.com> - 2.26.1-3
-- Rebuild for rpm bug 1131892
-
-* Mon Aug 18 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.26.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-
-* Tue Jun 24 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26.1-1
-- update to 2.26.1
-
-* Sun Jun 08 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.26-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Fri May 9 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26-2
-- rebuild with new find-requires script
-
-* Fri May 9 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26-1
-- update to 2.26
-
-* Mon Mar 24 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.25-1
-- update to 2.25
-
-* Mon Feb 10 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.24-1
-- update to 2.24
-
-* Wed Dec 18 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.23-1
-- update to 2.23
-
-* Wed Nov 27 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.22.1-1
-- update to 2.22.1
-- don't build for armv7hl (seems not enough memory on the build system, #1035485)
-
-* Sat Nov 2 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.22-1
-- update to 2.22
-
-* Thu Sep 19 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.21-1
-- update to 2.21
-
-* Thu Aug 8 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.20-1
-- update to 2.20
-
-* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.19-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Mon Jul 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.19-2
-- implement separate switches for system/native nspr, nss and libvpx
-
-* Mon Jul 8 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.19-1
-- update to 2.19
-
-* Mon Apr 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.17.1-1
-- update to 2.17.1
-
-* Wed Apr 3 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.17-1
-- update to 2.17
-- explicitly require libjpeg-turbo (for JCS_EXTENSIONS)
-
-* Tue Mar 26 2013 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.16.2-2
-- Only build WebRTC on x86 to fix FTBFS on other arches
-
-* Fri Mar 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16.2-1
-- update to 2.16.2
-- fix desktop files (#887297)
-
-* Tue Mar 12 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16.1-1
-- update to 2.16.1
-
-* Fri Feb 22 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16-1
-- update to 2.16
-- fix build langpacks
-
-* Tue Feb 5 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15.2-1
-- update to 2.15.2
-
-* Sun Jan 27 2013 Rex Dieter <rdieter(a)fedoraproject.org> 2.15.1-2
-- silence scriptlet output
-
-* Tue Jan 22 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15.1-1
-- update to 2.15.1
-
-* Fri Jan 11 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15-1
-- update to 2.15
-- don't try to change global user settings for default browser/mail etc.
-- add fix for #304121 (derived from Xulrunner)
-
-* Mon Dec 3 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.14.1-1
-- update to 2.14.1
-
-* Thu Nov 22 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.14-1
-- update to 2.14
-- fix elfhack compile
-
-* Wed Oct 31 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.13.2-2
-- exclude ppc64 arch (hoping it is temporary, #866589)
-- fix startup warnings (error console) for omni and inspector
-- fix build langpacks
-- change License to MPLv2.0
-- add seamonkey-related directories in mozilla-filesystem (#865054)
-- use proper MOZ_SMP_FLAGS
-- add patch for jemalloc for powerpc arches (#852698)
-- add patch to avoid decommit memory on powerpc arches (#852698)
-- some cleanups in spec file
-- drop version from install directories (follow the current firefox
- and thunderbird way)
-
-* Fri Oct 26 2012 Martin Stransky <stransky(a)redhat.com> 2.13.2-1
-- Update to 2.13.2
-
-* Tue Oct 16 2012 Martin Stransky <stransky(a)redhat.com> 2.13.1-1
-- Update to 2.13.1
-
-* Tue Oct 9 2012 Martin Stransky <stransky(a)redhat.com> 2.13-1
-- Update to 2.13
-
-* Tue Aug 28 2012 Martin Stransky <stransky(a)redhat.com> 2.12.1-1
-- Update to 2.12.1
-
-* Tue Aug 28 2012 Martin Stransky <stransky(a)redhat.com> 2.12-1
-- Update to 2.12
-
-* Fri Jul 27 2012 Martin Stransky <stransky(a)redhat.com> 2.11-1
-- Update to 2.11
-
-* Thu Jun 21 2012 Martin Stransky <stransky(a)redhat.com> 2.10.1-1
-- Update to 2.10.1
-
-* Thu Jun 7 2012 Allen Hewes <allen(a)decisiv.net> 2.10-1
-- Update to 2.10
-- change sed string for version number to support 2 digits
-- remove specific .so's from installer manifest
-- fix the cache path for header.py and associated files when building
- in srcdir (vs using seperate objdir)
-
-* Mon May 7 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-4
-- Fixed #717242 - does not adhere to Static Library Packaging Guidelines
-
-* Thu May 3 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-3
-- Fixed #747411 - seamonkey needs better icons (by Edward Sheldrake)
-
-* Thu May 3 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-2
-- Fixed directories (#566901)
-
-* Wed May 2 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-1
-- Update to 2.9.1
-
-* Fri Apr 27 2012 Martin Stransky <stransky(a)redhat.com> 2.9-1
-- Update to 2.9
-
-* Wed Apr 4 2012 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.8-3
-- Add ARM configuration options
-
-* Fri Mar 16 2012 Martin Stransky <stransky(a)redhat.com> 2.8-2
-- gcc 4.7 build fixes
-
-* Thu Mar 15 2012 Martin Stransky <stransky(a)redhat.com> 2.8-1
-- Update to 2.8
-
-* Fri Feb 24 2012 Martin Stransky <stransky(a)redhat.com> 2.7.1-2
-- Added fix for mozbz#727401 - libpng crash
-
-* Tue Feb 14 2012 Martin Stransky <stransky(a)redhat.com> 2.7.1-1
-- Update to 2.7.1
-
-* Mon Feb 6 2012 Martin Stransky <stransky(a)redhat.com> 2.7-2
-- gcc 4.7 build fixes
-
-* Fri Feb 3 2012 Martin Stransky <stransky(a)redhat.com> 2.7-1
-- Update to 2.7
-
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.5-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Wed Dec 14 2011 Martin Stransky <stransky(a)redhat.com> 2.5-2
-- Fixed langpacks
-
-* Thu Dec 8 2011 Martin Stransky <stransky(a)redhat.com> 2.5-1
-- Update to 2.5
-
-* Fri Oct 14 2011 Dan Hork <dan[at]danny.cz> - 2.4.1-3
-- fix build on secondary arches
-
-* Tue Oct 11 2011 Kai Engert <kaie(a)redhat.com> - 2.4.1-2
-- Update to 2.4.1
-
-* Tue Sep 06 2011 Kai Engert <kaie(a)redhat.com> - 2.3.3-2
-- Update to 2.3.3
-
-* Sun Aug 21 2011 Kai Engert <kaie(a)redhat.com> - 2.3-2
-- Update to 2.3
-
-* Wed May 25 2011 Caoln McNamara <caolanm(a)redhat.com> - 2.0.14-2
-- rebuild for new hunspell
-
-* Fri Apr 29 2011 Jan Horak <jhorak(a)redhat.com> - 2.0.14-1
-- Update to 2.0.14
-
-* Sat Apr 9 2011 Christopher Aillon <caillon(a)redhat.com> 2.0.13-1
-- Update to 2.0.13
-
-* Mon Mar 7 2011 Martin Stransky <stransky(a)redhat.com> 2.0.12-1
-- Update to 2.0.12
-
-* Wed Feb 09 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.0.11-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Tue Jan 04 2011 Adel Gadllah <adel.gadllah(a)gmail.com> 2.0.11-3
-- BR dbus-glib-devel
-
-* Tue Jan 04 2011 Adel Gadllah <adel.gadllah(a)gmail.com> 2.0.11-2
-- disabled system cairo, breaks animated gifs (rhbz#628331)
diff --git a/sources b/sources
index 53800fa..94bb6fb 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (seamonkey-2.49.5.source.tar.xz) = 31309def1ad4276f13ecb343e936c7cade4b6850db88d9d84700f86bff7024b2b217b9e50fc3756b1d1beea483ceaa2a5a3afd053da00f6ac06e3795e9116789
-SHA512 (seamonkey-2.49.5.source-l10n.tar.xz) = eda23c334123e7fb060e93a5495b061e96a71944ce4216eee1dbf017d4803310da0882ff9fcf2c986e016ac8bbcca1fe7c2837dd04ea8208fe7127bf6e92afc5
+SHA512 (seamonkey-2.53.1.source.tar.xz) = 67c8a5343070948a88f1184a4f0c6ec720f9d43910165812b05a2a1bed8b698de2860d75b4bbf831f23c750fb521f50afa44ddc13835047f517a1407892ede3f
+SHA512 (seamonkey-2.53.1.source-l10n.tar.xz) = 52bc7d82e935abb67778a6fcdab6a9e6d66a196d0962c59ddddae4ae854e1cd0e923016b13afa55df7a3f3997014fc38e729605d449a170a7ff96b905c7ea084
diff --git a/xulrunner-27.0-build-arm.patch b/xulrunner-27.0-build-arm.patch
deleted file mode 100644
index f82dc4f..0000000
--- a/xulrunner-27.0-build-arm.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xulrunner-27.0/mozilla-release/gfx/ycbcr/moz.build.arm xulrunner-27.0/mozilla-release/gfx/ycbcr/moz.build
---- firefox-27.0/mozilla-release/gfx/ycbcr/moz.build.arm 2014-01-28 05:03:42.000000000 +0100
-+++ firefox-27.0/mozilla-release/gfx/ycbcr/moz.build 2014-02-03 11:14:34.062219509 +0100
-@@ -61,7 +61,7 @@ else:
- 'yuv_row_other.cpp',
- ]
-
--if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
-+if CONFIG['HAVE_ARM_NEON']:
- SOURCES += [
- 'yuv_row_arm.s',
- ]
4 years
Architecture specific change in rpms/seamonkey.git
by githook-noreply@fedoraproject.org
The package rpms/seamonkey.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/seamonkey.git/commit/?id=15c4b4b4....
Change:
-%ifnarch %{ix86} x86_64
Thanks.
Full change:
============
commit 15c4b4b4c5dc9deb4ca439dc1f5b451cabf0c86d
Author: Dmitry Butskoy <dmitry(a)butskoy.name>
Date: Sun Mar 1 20:57:27 2020 +0300
Upgrade to 2.53.1
diff --git a/.gitignore b/.gitignore
index c75ed40..e24eef6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,88 +1,2 @@
-seamonkey-1.1.16.source.tar.bz2
-seamonkey-2.0b1-source.tar.bz2
-seamonkey-langpacks-2.0b1-20090724.tar.bz2
-seamonkey-2.0b2.source.tar.bz2
-seamonkey-langpacks-2.0b2-20090923.tar.bz2
-seamonkey-langpacks-2.0.1-20091217.tar.bz2
-seamonkey-2.0.4.source.tar.bz2
-seamonkey-langpacks-2.0.4-20100402.tar.bz2
-seamonkey-2.0.5.source.tar.bz2
-seamonkey-langpacks-2.0.5-20100623.tar.bz2
-seamonkey-langpacks-2.0.6-20100720.tar.bz2
-seamonkey-2.0.6.source.tar.bz2
-/seamonkey-langpacks-2.0.11-20101213.tar.bz2
-/seamonkey-2.0.11.source.tar.bz2
-/seamonkey-2.0.12.source.tar.bz2
-/seamonkey-langpacks-2.0.12-20110307.tar.bz2
-/seamonkey-2.0.13.source.tar.bz2
-/seamonkey-langpacks-2.0.13-20110409.tar.xz
-/seamonkey-2.0.14.source.tar.bz2
-/seamonkey-langpacks-2.0.14-20110429.tar.xz
-/seamonkey-2.3.source.tar.bz2
-/seamonkey-langpacks-2.3-20110820.tar.xz
-/seamonkey-2.3.3.source.tar.bz2
-/seamonkey-langpacks-2.3.3-20110906.tar.xz
-/seamonkey-2.4.1.source.tar.bz2
-/seamonkey-langpacks-2.4.1-20111012.tar.xz
-/seamonkey-2.5.source.tar.bz2
-/seamonkey-langpacks-2.5-20111208.tar.xz
-/seamonkey-2.7.source.tar.bz2
-/seamonkey-langpacks-2.7-20120202.tar.xz
-/seamonkey-2.7.1.source.tar.bz2
-/seamonkey-langpacks-2.7.1-20120214.tar.xz
-/seamonkey-2.8.source.tar.bz2
-/seamonkey-langpacks-2.8-20120315.tar.xz
-/seamonkey-2.9.source.tar.bz2
-/seamonkey-langpacks-2.9-20120427.tar.xz
-/seamonkey-2.9.1.source.tar.bz2
-/seamonkey-langpacks-2.9.1-20120502.tar.xz
-/seamonkey-2.10.source.tar.bz2
-/seamonkey-langpacks-2.10-20120607.tar.xz
-/seamonkey-langpacks-2.10.1-20120621.tar.xz
-/seamonkey-2.10.1.source.tar.bz2
-/seamonkey-2.11.source.tar.bz2
-/seamonkey-langpacks-2.11-20120717.tar.xz
-/seamonkey-2.12.source.tar.bz2
-/seamonkey-langpacks-2.12-20120828.tar.xz
-/seamonkey-2.12.1.source.tar.bz2
-/seamonkey-langpacks-2.12.1-20120912.tar.xz
-/seamonkey-2.13.source.tar.bz2
-/seamonkey-langpacks-2.13-20121009.tar.xz
-/seamonkey-2.13.1.source.tar.bz2
-/seamonkey-langpacks-2.13.1-20121016.tar.xz
-/seamonkey-2.13.2.source.tar.bz2
-/seamonkey-langpacks-2.13.2-20121029.tar.xz
-/seamonkey-2.22.1.source.tar.bz2
-/seamonkey-langpacks-2.22.1-20131119.tar.xz
-/seamonkey-2.23.source.tar.bz2
-/seamonkey-langpacks-2.23-20131218.tar.xz
-/seamonkey-2.24.source.tar.bz2
-/seamonkey-langpacks-2.24-20140209.tar.xz
-/seamonkey-2.25.source.tar.bz2
-/seamonkey-langpacks-2.25-20140322.tar.xz
-/seamonkey-2.26.source.tar.bz2
-/seamonkey-langpacks-2.26-20140506.tar.xz
-/seamonkey-2.26.1.source.tar.bz2
-/seamonkey-langpacks-2.26.1-20140624.tar.xz
-/seamonkey-2.29.source.tar.bz2
-/seamonkey-langpacks-2.29-20140920.tar.xz
-/seamonkey-2.29.1.source.tar.bz2
-/seamonkey-langpacks-2.29.1-20140926.tar.xz
-/seamonkey-2.30.source.tar.bz2
-/seamonkey-langpacks-2.30-20141025.tar.xz
-/seamonkey-2.31.source.tar.bz2
-/seamonkey-langpacks-2.31-20141215.tar.xz
-/seamonkey-2.32.source.tar.bz2
-/seamonkey-langpacks-2.32-20150120.tar.xz
-/seamonkey-2.32.1.source.tar.bz2
-/seamonkey-langpacks-2.32.1-20150208.tar.xz
-/seamonkey-2.33.source.tar.bz2
-/seamonkey-langpacks-2.33-20150316.tar.xz
-/seamonkey-2.33.1.source.tar.bz2
-/seamonkey-langpacks-2.33.1-20150326.tar.xz
-/seamonkey-2.35.source.tar.bz2
-/seamonkey-langpacks-2.35-20150913.tar.xz
-/seamonkey-2.38.source.tar.xz
-/seamonkey-langpacks-2.38-20151011.tar.xz
-/seamonkey-2.39.source.tar.xz
-/seamonkey-langpacks-2.39-20151115.tar.xz
+/seamonkey-2.53.1.source.tar.xz
+/seamonkey-2.53.1.source-l10n.tar.xz
diff --git a/firefox-33-rhbz-966424.patch b/firefox-33-rhbz-966424.patch
deleted file mode 100644
index 7579d09..0000000
--- a/firefox-33-rhbz-966424.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm
---- firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 2014-10-14 08:12:14.358697255 +0200
-+++ firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm 2014-10-14 08:17:59.962181908 +0200
-@@ -174,7 +174,9 @@ this.checkCert =
- }
-
- function isBuiltinToken(tokenName) {
-- return tokenName == "Builtin Object Token";
-+ return tokenName == "Builtin Object Token" ||
-+ tokenName == "Default Trust" ||
-+ tokenName == "System Trust";
- }
-
- /**
diff --git a/firefox-48-jemalloc-ppc.patch b/firefox-48-jemalloc-ppc.patch
deleted file mode 100644
index b2aaae6..0000000
--- a/firefox-48-jemalloc-ppc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc firefox-48.0/memory/mozjemalloc/jemalloc.c
---- firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2016-07-26 10:51:46.385434384 +0200
-+++ firefox-48.0/memory/mozjemalloc/jemalloc.c 2016-07-26 10:53:49.061023106 +0200
-@@ -1090,7 +1090,7 @@ static const bool config_recycle = false
- * controlling the malloc behavior are defined as compile-time constants
- * for best performance and cannot be altered at runtime.
- */
--#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
-+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !(defined(__powerpc__))
- #define MALLOC_STATIC_SIZES 1
- #endif
-
diff --git a/firefox-50-mozilla-440908.patch b/firefox-50-mozilla-440908.patch
deleted file mode 100644
index 2d4a609..0000000
--- a/firefox-50-mozilla-440908.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff -up firefox-50.0/modules/libpref/prefapi.cpp.440908 firefox-50.0/modules/libpref/prefapi.cpp
---- firefox-50.0/modules/libpref/prefapi.cpp.440908 2016-10-31 21:15:26.000000000 +0100
-+++ firefox-50.0/modules/libpref/prefapi.cpp 2016-11-10 10:32:48.796115692 +0100
-@@ -997,8 +997,8 @@ void PREF_ReaderCallback(void *clo
- PrefValue value,
- PrefType type,
- bool isDefault,
-- bool isStickyDefault)
--
-+ bool isStickyDefault,
-+ bool isLocked)
- {
- uint32_t flags = 0;
- if (isDefault) {
-@@ -1010,4 +1010,6 @@ void PREF_ReaderCallback(void *clo
- flags |= kPrefForceSet;
- }
- pref_HashPref(pref, value, type, flags);
-+ if (isLocked)
-+ PREF_LockPref(pref, true);
- }
-diff -up firefox-50.0/modules/libpref/prefapi.h.440908 firefox-50.0/modules/libpref/prefapi.h
---- firefox-50.0/modules/libpref/prefapi.h.440908 2016-11-10 10:32:48.796115692 +0100
-+++ firefox-50.0/modules/libpref/prefapi.h 2016-11-10 10:34:58.013159112 +0100
-@@ -243,8 +243,8 @@ void PREF_ReaderCallback( void *closure,
- PrefValue value,
- PrefType type,
- bool isDefault,
-- bool isStickyDefault);
--
-+ bool isStickyDefault,
-+ bool isLocked);
-
- /*
- * Callback whenever we change a preference
-diff -up firefox-50.0/modules/libpref/prefread.cpp.440908 firefox-50.0/modules/libpref/prefread.cpp
---- firefox-50.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
-+++ firefox-50.0/modules/libpref/prefread.cpp 2016-11-10 10:32:48.796115692 +0100
-@@ -43,6 +43,7 @@ enum {
- #define BITS_PER_HEX_DIGIT 4
-
- static const char kUserPref[] = "user_pref";
-+static const char kLockPref[] = "lockPref";
- static const char kPref[] = "pref";
- static const char kPrefSticky[] = "sticky_pref";
- static const char kTrue[] = "true";
-@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
- break;
- }
- (*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
-- ps->fstickydefault);
-+ ps->fstickydefault, ps->flock);
- return true;
- }
-
-@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
- ps->vtype = PrefType::Invalid;
- ps->fdefault = false;
- ps->fstickydefault = false;
-+ ps->flock = false;
- }
- switch (c) {
- case '/': /* begin comment block or line? */
-@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
- break;
- case 'u': /* indicating user_pref */
- case 's': /* indicating sticky_pref */
-+ case 'l': /* indicating lockPref */
- case 'p': /* indicating pref */
- if (c == 'u') {
- ps->smatch = kUserPref;
- } else if (c == 's') {
- ps->smatch = kPrefSticky;
-+ } else if (c == 'l') {
-+ ps->smatch = kLockPref;
- } else {
- ps->smatch = kPref;
- }
-@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
- /* name parsing */
- case PREF_PARSE_UNTIL_NAME:
- if (c == '\"' || c == '\'') {
-- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
-+ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
-+ || ps->smatch == kLockPref);
- ps->fstickydefault = (ps->smatch == kPrefSticky);
-+ ps->flock = (ps->smatch == kLockPref);
- ps->quotechar = c;
- ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
- state = PREF_PARSE_QUOTED_STRING;
-diff -up firefox-50.0/modules/libpref/prefread.h.440908 firefox-50.0/modules/libpref/prefread.h
---- firefox-50.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
-+++ firefox-50.0/modules/libpref/prefread.h 2016-11-10 10:32:48.796115692 +0100
-@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
- PrefValue val,
- PrefType type,
- bool defPref,
-- bool stickyPref);
-+ bool stickyPref,
-+ bool lockPref);
-
- /**
- * Report any errors or warnings we encounter during parsing.
-@@ -62,6 +63,7 @@ typedef struct PrefParseState {
- PrefType vtype; /* PREF_STRING,INT,BOOL */
- bool fdefault; /* true if (default) pref */
- bool fstickydefault; /* true if (sticky) pref */
-+ bool flock; /* true if pref to be locked */
- } PrefParseState;
-
- /**
-@@ -90,7 +92,7 @@ void PREF_InitParseState(PrefParseState
- *
- * @param ps
- * PrefParseState instance.
-- */
-+ */
- void PREF_FinalizeParseState(PrefParseState *ps);
-
- /**
diff --git a/firefox-51-mozilla-1324096.patch b/firefox-51-mozilla-1324096.patch
deleted file mode 100644
index 4a2691e..0000000
--- a/firefox-51-mozilla-1324096.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/security/certverifier/CertVerifier.cpp b/security/certverifier/CertVerifier.cpp
---- a/security/certverifier/CertVerifier.cpp
-+++ b/security/certverifier/CertVerifier.cpp
-@@ -120,16 +120,20 @@ IsCertChainRootBuiltInRoot(const UniqueC
- }
- CERTCertificate* root = rootNode->cert;
- if (!root) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
- }
- return IsCertBuiltInRoot(root, result);
- }
-
-+// The term "builtin root" traditionally refers to a root CA certificate that
-+// has been added to the NSS trust store, because it has been approved
-+// for inclusion according to the Mozilla CA policy, and might be accepted
-+// by Mozilla applications as an issuer for certificates seen on the public web.
- Result
- IsCertBuiltInRoot(CERTCertificate* cert, bool& result)
- {
- result = false;
- #ifdef DEBUG
- nsCOMPtr<nsINSSComponent> component(do_GetService(PSM_COMPONENT_CONTRACTID));
- if (!component) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
-@@ -142,25 +146,38 @@ IsCertBuiltInRoot(CERTCertificate* cert,
- return Success;
- }
- #endif // DEBUG
- AutoSECMODListReadLock lock;
- for (SECMODModuleList* list = SECMOD_GetDefaultModuleList(); list;
- list = list->next) {
- for (int i = 0; i < list->module->slotCount; i++) {
- PK11SlotInfo* slot = list->module->slots[i];
-- // PK11_HasRootCerts should return true if and only if the given slot has
-- // an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST, which
-- // should be true only of the builtin root list.
-- // If we can find a copy of the given certificate on the slot with the
-- // builtin root list, that certificate must be a builtin.
-- if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot) &&
-- PK11_FindCertInSlot(slot, cert, nullptr) != CK_INVALID_HANDLE) {
-- result = true;
-- return Success;
-+ // We're searching for the "builtin root module", which is a module that
-+ // contains an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST.
-+ // We use PK11_HasRootCerts() to identify a module with that property.
-+ // In the past, we exclusively used the PKCS#11 module named nssckbi,
-+ // which is provided by the NSS library.
-+ // Nowadays, some distributions use a replacement module, which contains
-+ // the builtin roots, but which also contains additional CA certificates,
-+ // such as CAs trusted in a local deployment.
-+ // We want to be able to distinguish between these two categories,
-+ // because a CA, which may issue certificates for the public web,
-+ // is expected to comply with additional requirements.
-+ // If the certificate has attribute CKA_NSS_MOZILLA_CA_POLICY set to true,
-+ // then we treat it as a "builtin root".
-+ if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot)) {
-+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(slot, cert, nullptr);
-+ if (handle != CK_INVALID_HANDLE &&
-+ PK11_HasAttributeSet(slot, handle, CKA_NSS_MOZILLA_CA_POLICY,
-+ false)) {
-+ // Attribute was found, and is set to true
-+ result = true;
-+ break;
-+ }
- }
- }
- }
- return Success;
- }
-
- static Result
- BuildCertChainForOneKeyUsage(NSSCertDBTrustDomain& trustDomain, Input certDER,
diff --git a/firefox-52-build-prbool.patch b/firefox-52-build-prbool.patch
deleted file mode 100644
index f271631..0000000
--- a/firefox-52-build-prbool.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -up firefox-52.0/dom/u2f/U2F.cpp.prbool firefox-52.0/dom/u2f/U2F.cpp
---- firefox-52.0/dom/u2f/U2F.cpp.prbool 2017-03-03 13:42:22.613691228 +0100
-+++ firefox-52.0/dom/u2f/U2F.cpp 2017-03-03 13:48:20.864647727 +0100
-@@ -4,6 +4,7 @@
- * 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/. */
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/dom/CallbackFunction.h"
- #include "mozilla/dom/ContentChild.h"
-diff -up firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool firefox-52.0/security/certverifier/CTLogVerifier.cpp
---- firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
-+++ firefox-52.0/security/certverifier/CTLogVerifier.cpp 2017-03-03 13:42:22.613691228 +0100
-@@ -7,6 +7,7 @@
- #include "CTLogVerifier.h"
-
- #include "CTSerialization.h"
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/ArrayUtils.h"
- #include "mozilla/Assertions.h"
-diff -up firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool firefox-52.0/security/certverifier/CTObjectsExtractor.cpp
---- firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
-+++ firefox-52.0/security/certverifier/CTObjectsExtractor.cpp 2017-03-03 13:42:22.613691228 +0100
-@@ -6,6 +6,7 @@
-
- #include "CTObjectsExtractor.h"
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/Assertions.h"
- #include "mozilla/Casting.h"
-diff -up firefox-52.0/security/certverifier/OCSPCache.h.prbool firefox-52.0/security/certverifier/OCSPCache.h
---- firefox-52.0/security/certverifier/OCSPCache.h.prbool 2017-02-27 17:11:06.000000000 +0100
-+++ firefox-52.0/security/certverifier/OCSPCache.h 2017-03-03 13:42:22.613691228 +0100
-@@ -25,6 +25,7 @@
- #ifndef mozilla_psm_OCSPCache_h
- #define mozilla_psm_OCSPCache_h
-
-+#include "prtypes.h"
- #include "hasht.h"
- #include "mozilla/Mutex.h"
- #include "mozilla/Vector.h"
diff --git a/firefox-52-mozilla-revert-1148544.patch b/firefox-52-mozilla-revert-1148544.patch
deleted file mode 100644
index fd02549..0000000
--- a/firefox-52-mozilla-revert-1148544.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-diff -Nrbu mozilla/netwerk/base/nsILoadGroup.idl mozilla-OK/netwerk/base/nsILoadGroup.idl
---- mozilla/netwerk/base/nsILoadGroup.idl 2017-10-16 10:19:26.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsILoadGroup.idl 2017-10-21 01:54:08.905610277 +0300
-@@ -95,10 +95,4 @@
- * the docShell has created the default request.)
- */
- attribute nsLoadFlags defaultLoadFlags;
--
-- /**
-- * The cached user agent override created by UserAgentOverrides.jsm. Used
-- * for all sub-resource requests in the loadgroup.
-- */
-- attribute ACString userAgentOverrideCache;
- };
-diff -Nrbu mozilla/netwerk/base/nsLoadGroup.cpp mozilla-OK/netwerk/base/nsLoadGroup.cpp
---- mozilla/netwerk/base/nsLoadGroup.cpp 2017-10-16 10:19:28.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsLoadGroup.cpp 2017-10-21 01:54:08.905610277 +0300
-@@ -809,20 +809,6 @@
- return NS_OK;
- }
-
--NS_IMETHODIMP
--nsLoadGroup::GetUserAgentOverrideCache(nsACString & aUserAgentOverrideCache)
--{
-- aUserAgentOverrideCache = mUserAgentOverrideCache;
-- return NS_OK;
--}
--
--NS_IMETHODIMP
--nsLoadGroup::SetUserAgentOverrideCache(const nsACString & aUserAgentOverrideCache)
--{
-- mUserAgentOverrideCache = aUserAgentOverrideCache;
-- return NS_OK;
--}
--
-
- ////////////////////////////////////////////////////////////////////////////////
-
-diff -Nrbu mozilla/netwerk/base/nsLoadGroup.h mozilla-OK/netwerk/base/nsLoadGroup.h
---- mozilla/netwerk/base/nsLoadGroup.h 2017-10-16 10:19:26.000000000 +0300
-+++ mozilla-OK/netwerk/base/nsLoadGroup.h 2017-10-21 01:54:08.905610277 +0300
-@@ -95,8 +95,6 @@
-
- /* For nsPILoadGroupInternal */
- uint32_t mTimedNonCachedRequestsUntilOnEndPageLoad;
--
-- nsCString mUserAgentOverrideCache;
- };
-
- } // namespace net
-diff -Nrbu mozilla/netwerk/protocol/http/UserAgentOverrides.jsm mozilla-OK/netwerk/protocol/http/UserAgentOverrides.jsm
---- mozilla/netwerk/protocol/http/UserAgentOverrides.jsm 2017-10-16 10:19:32.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/UserAgentOverrides.jsm 2017-10-21 01:54:08.906610227 +0300
-@@ -46,9 +46,9 @@
- Services.prefs.addObserver(PREF_OVERRIDES_ENABLED, buildOverrides, false);
-
- try {
-- Services.obs.addObserver(HTTP_on_useragent_request, "http-on-useragent-request", false);
-+ Services.obs.addObserver(HTTP_on_modify_request, "http-on-modify-request", false);
- } catch (x) {
-- // The http-on-useragent-request notification is disallowed in content processes.
-+ // The http-on-modify-request notification is disallowed in content processes.
- }
-
- UserAgentUpdates.init(function(overrides) {
-@@ -118,7 +118,7 @@
-
- Services.prefs.removeObserver(PREF_OVERRIDES_ENABLED, buildOverrides);
-
-- Services.obs.removeObserver(HTTP_on_useragent_request, "http-on-useragent-request");
-+ Services.obs.removeObserver(HTTP_on_modify_request, "http-on-modify-request");
- },
-
- receiveMessage: function(aMessage) {
-@@ -169,7 +169,7 @@
- }
- }
-
--function HTTP_on_useragent_request(aSubject, aTopic, aData) {
-+function HTTP_on_modify_request(aSubject, aTopic, aData) {
- let channel = aSubject.QueryInterface(Ci.nsIHttpChannel);
-
- for (let callback of gOverrideFunctions) {
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpChannel.cpp mozilla-OK/netwerk/protocol/http/nsHttpChannel.cpp
---- mozilla/netwerk/protocol/http/nsHttpChannel.cpp 2017-10-16 10:19:27.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpChannel.cpp 2017-10-21 01:58:52.158525720 +0300
-@@ -6031,8 +6031,6 @@
- // notify "http-on-modify-request" observers
- CallOnModifyRequestObservers();
-
-- SetLoadGroupUserAgentOverride();
--
- // Check if request was cancelled during on-modify-request or on-useragent.
- if (mCanceled) {
- return mStatus;
-@@ -8369,50 +8367,6 @@
- }
-
- void
--nsHttpChannel::SetLoadGroupUserAgentOverride()
--{
-- nsCOMPtr<nsIURI> uri;
-- GetURI(getter_AddRefs(uri));
-- nsAutoCString uriScheme;
-- if (uri) {
-- uri->GetScheme(uriScheme);
-- }
--
-- // We don't need a UA for file: protocols.
-- if (uriScheme.EqualsLiteral("file")) {
-- gHttpHandler->OnUserAgentRequest(this);
-- return;
-- }
--
-- nsIRequestContextService* rcsvc = gHttpHandler->GetRequestContextService();
-- nsCOMPtr<nsIRequestContext> rc;
-- if (rcsvc) {
-- rcsvc->GetRequestContext(mRequestContextID,
-- getter_AddRefs(rc));
-- }
--
-- nsAutoCString ua;
-- if (nsContentUtils::IsNonSubresourceRequest(this)) {
-- gHttpHandler->OnUserAgentRequest(this);
-- if (rc) {
-- GetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua);
-- rc->SetUserAgentOverride(ua);
-- }
-- } else {
-- GetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua);
-- // Don't overwrite the UA if it is already set (eg by an XHR with explicit UA).
-- if (ua.IsEmpty()) {
-- if (rc) {
-- rc->GetUserAgentOverride(ua);
-- SetRequestHeader(NS_LITERAL_CSTRING("User-Agent"), ua, false);
-- } else {
-- gHttpHandler->OnUserAgentRequest(this);
-- }
-- }
-- }
--}
--
--void
- nsHttpChannel::SetDoNotTrack()
- {
- /**
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpChannel.h mozilla-OK/netwerk/protocol/http/nsHttpChannel.h
---- mozilla/netwerk/protocol/http/nsHttpChannel.h 2017-10-16 10:19:32.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpChannel.h 2017-10-21 01:54:08.908610126 +0300
-@@ -459,8 +459,6 @@
-
- void MaybeWarnAboutAppCache();
-
-- void SetLoadGroupUserAgentOverride();
--
- void SetDoNotTrack();
-
- private:
-diff -Nrbu mozilla/netwerk/protocol/http/nsHttpHandler.h mozilla-OK/netwerk/protocol/http/nsHttpHandler.h
---- mozilla/netwerk/protocol/http/nsHttpHandler.h 2017-10-16 10:19:30.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsHttpHandler.h 2017-10-21 01:54:08.908610126 +0300
-@@ -280,12 +280,6 @@
- NotifyObservers(chan, NS_HTTP_ON_MODIFY_REQUEST_TOPIC);
- }
-
-- // Called by the channel and cached in the loadGroup
-- void OnUserAgentRequest(nsIHttpChannel *chan)
-- {
-- NotifyObservers(chan, NS_HTTP_ON_USERAGENT_REQUEST_TOPIC);
-- }
--
- // Called by the channel once headers are available
- void OnExamineResponse(nsIHttpChannel *chan)
- {
-diff -Nrbu mozilla/netwerk/protocol/http/nsIHttpProtocolHandler.idl mozilla-OK/netwerk/protocol/http/nsIHttpProtocolHandler.idl
---- mozilla/netwerk/protocol/http/nsIHttpProtocolHandler.idl 2017-10-16 10:19:28.000000000 +0300
-+++ mozilla-OK/netwerk/protocol/http/nsIHttpProtocolHandler.idl 2017-10-21 01:54:08.908610126 +0300
-@@ -113,14 +113,5 @@
- */
- #define NS_HTTP_ON_EXAMINE_CACHED_RESPONSE_TOPIC "http-on-examine-cached-response"
-
--/**
-- * Before an HTTP request corresponding to a channel with the LOAD_DOCUMENT_URI
-- * flag is sent to the server, this observer topic is notified. The observer of
-- * this topic can then choose to modify the user agent for this request before
-- * the request is actually sent to the server. Additionally, the modified user
-- * agent will be propagated to sub-resource requests from the same load group.
-- */
--#define NS_HTTP_ON_USERAGENT_REQUEST_TOPIC "http-on-useragent-request"
--
-
- %}
diff --git a/firefox-56-build-prbool.patch b/firefox-56-build-prbool.patch
new file mode 100644
index 0000000..05e7503
--- /dev/null
+++ b/firefox-56-build-prbool.patch
@@ -0,0 +1,44 @@
+diff -Nrbu firefox-56/dom/u2f/U2F.cpp firefox-56-OK/dom/u2f/U2F.cpp
+--- firefox-56/dom/u2f/U2F.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/dom/u2f/U2F.cpp 2020-01-02 23:10:06.690248726 +0300
+@@ -4,6 +4,7 @@
+ * 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/. */
+
++#include "prtypes.h"
+ #include "mozilla/dom/U2F.h"
+ #include "mozilla/dom/WebCryptoCommon.h"
+ #include "nsContentUtils.h"
+diff -Nrbu firefox-56/security/certverifier/CTLogVerifier.cpp firefox-56-OK/security/certverifier/CTLogVerifier.cpp
+--- firefox-56/security/certverifier/CTLogVerifier.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/CTLogVerifier.cpp 2020-01-02 23:08:51.035792314 +0300
+@@ -9,6 +9,7 @@
+ #include <stdint.h>
+
+ #include "CTSerialization.h"
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/ArrayUtils.h"
+ #include "mozilla/Assertions.h"
+diff -Nrbu firefox-56/security/certverifier/CTObjectsExtractor.cpp firefox-56-OK/security/certverifier/CTObjectsExtractor.cpp
+--- firefox-56/security/certverifier/CTObjectsExtractor.cpp 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/CTObjectsExtractor.cpp 2020-01-02 23:08:51.036792307 +0300
+@@ -6,6 +6,7 @@
+
+ #include "CTObjectsExtractor.h"
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Assertions.h"
+ #include "mozilla/Casting.h"
+diff -Nrbu firefox-56/security/certverifier/OCSPCache.h firefox-56-OK/security/certverifier/OCSPCache.h
+--- firefox-56/security/certverifier/OCSPCache.h 2019-12-29 20:38:43.000000000 +0300
++++ firefox-56-OK/security/certverifier/OCSPCache.h 2020-01-02 23:08:51.036792307 +0300
+@@ -25,6 +25,7 @@
+ #ifndef mozilla_psm_OCSPCache_h
+ #define mozilla_psm_OCSPCache_h
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Mutex.h"
+ #include "mozilla/Vector.h"
diff --git a/firefox-56-mozilla-440908.patch b/firefox-56-mozilla-440908.patch
new file mode 100644
index 0000000..9163193
--- /dev/null
+++ b/firefox-56-mozilla-440908.patch
@@ -0,0 +1,111 @@
+diff -up firefox-50.0/modules/libpref/prefapi.cpp.440908 firefox-50.0/modules/libpref/prefapi.cpp
+--- firefox-50.0/modules/libpref/prefapi.cpp.440908 2016-10-31 21:15:26.000000000 +0100
++++ firefox-50.0/modules/libpref/prefapi.cpp 2016-11-10 10:32:48.796115692 +0100
+@@ -997,8 +997,8 @@ void PREF_ReaderCallback(void *clo
+ PrefValue value,
+ PrefType type,
+ bool isDefault,
+- bool isStickyDefault)
+-
++ bool isStickyDefault,
++ bool isLocked)
+ {
+ uint32_t flags = 0;
+ if (isDefault) {
+@@ -1010,4 +1010,6 @@ void PREF_ReaderCallback(void *clo
+ flags |= kPrefForceSet;
+ }
+ pref_HashPref(pref, value, type, flags);
++ if (isLocked)
++ PREF_LockPref(pref, true);
+ }
+diff -up firefox-50.0/modules/libpref/prefapi.h.440908 firefox-50.0/modules/libpref/prefapi.h
+--- firefox-50.0/modules/libpref/prefapi.h.440908 2016-11-10 10:32:48.796115692 +0100
++++ firefox-50.0/modules/libpref/prefapi.h 2016-11-10 10:34:58.013159112 +0100
+@@ -243,8 +243,8 @@ void PREF_ReaderCallback( void *closure,
+ PrefValue value,
+ PrefType type,
+ bool isDefault,
+- bool isStickyDefault);
+-
++ bool isStickyDefault,
++ bool isLocked);
+
+ /*
+ * Callback whenever we change a preference
+diff -up firefox-50.0/modules/libpref/prefread.cpp.440908 firefox-50.0/modules/libpref/prefread.cpp
+--- firefox-50.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
++++ firefox-50.0/modules/libpref/prefread.cpp 2016-11-10 10:32:48.796115692 +0100
+@@ -43,6 +43,7 @@ enum {
+ #define BITS_PER_HEX_DIGIT 4
+
+ static const char kUserPref[] = "user_pref";
++static const char kLockPref[] = "lockPref";
+ static const char kPref[] = "pref";
+ static const char kPrefSticky[] = "sticky_pref";
+ static const char kTrue[] = "true";
+@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
+ break;
+ }
+ (*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
+- ps->fstickydefault);
++ ps->fstickydefault, ps->flock);
+ return true;
+ }
+
+@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
+ ps->vtype = PrefType::Invalid;
+ ps->fdefault = false;
+ ps->fstickydefault = false;
++ ps->flock = false;
+ }
+ switch (c) {
+ case '/': /* begin comment block or line? */
+@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
+ break;
+ case 'u': /* indicating user_pref */
+ case 's': /* indicating sticky_pref */
++ case 'l': /* indicating lockPref */
+ case 'p': /* indicating pref */
+ if (c == 'u') {
+ ps->smatch = kUserPref;
+ } else if (c == 's') {
+ ps->smatch = kPrefSticky;
++ } else if (c == 'l') {
++ ps->smatch = kLockPref;
+ } else {
+ ps->smatch = kPref;
+ }
+@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
+ /* name parsing */
+ case PREF_PARSE_UNTIL_NAME:
+ if (c == '\"' || c == '\'') {
+- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
++ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
++ || ps->smatch == kLockPref);
+ ps->fstickydefault = (ps->smatch == kPrefSticky);
++ ps->flock = (ps->smatch == kLockPref);
+ ps->quotechar = c;
+ ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
+ state = PREF_PARSE_QUOTED_STRING;
+diff -up firefox-50.0/modules/libpref/prefread.h.440908 firefox-50.0/modules/libpref/prefread.h
+--- firefox-50.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
++++ firefox-50.0/modules/libpref/prefread.h 2016-11-10 10:32:48.796115692 +0100
+@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
+ PrefValue val,
+ PrefType type,
+ bool defPref,
+- bool stickyPref);
++ bool stickyPref,
++ bool lockPref);
+
+ /**
+ * Report any errors or warnings we encounter during parsing.
+@@ -62,6 +63,7 @@ typedef struct PrefParseState {
+ PrefType vtype; /* PREF_STRING,INT,BOOL */
+ bool fdefault; /* true if (default) pref */
+ bool fstickydefault; /* true if (sticky) pref */
++ bool flock; /* true if pref to be locked */
+ } PrefParseState;
+
+ /**
diff --git a/firefox-56-no_rust_lto.patch b/firefox-56-no_rust_lto.patch
new file mode 100644
index 0000000..3f62ce7
--- /dev/null
+++ b/firefox-56-no_rust_lto.patch
@@ -0,0 +1,11 @@
+--- mozilla/config/rules.mk.orig 2020-01-04 22:02:35.559712770 +0300
++++ mozilla/config/rules.mk 2020-01-04 22:02:41.261673487 +0300
+@@ -878,7 +878,7 @@
+ ifndef DEVELOPER_OPTIONS
+ ifndef MOZ_DEBUG_RUST
+ # Enable link-time optimization for release builds.
+-cargo_rustc_flags += -C lto
++#cargo_rustc_flags += -C lto
+ endif
+ endif
+
diff --git a/firefox-60-mozilla-1436242.patch b/firefox-60-mozilla-1436242.patch
new file mode 100644
index 0000000..570b7c5
--- /dev/null
+++ b/firefox-60-mozilla-1436242.patch
@@ -0,0 +1,56 @@
+
+# HG changeset patch
+# User Jed Davis <jld(a)mozilla.com>
+# Date 1526943705 21600
+# Node ID 6bb3adfa15c6877f7874429462dad88f8c978c4f
+# Parent 4c71c8454879c841871ecf3afb7dbdc96bad97fc
+Bug 1436242 - Avoid undefined behavior in IPC fd-passing code. r=froydnj
+
+MozReview-Commit-ID: 3szIPUssgF5
+
+diff --git a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+--- a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
++++ b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+@@ -418,20 +418,37 @@ bool Channel::ChannelImpl::ProcessIncomi
+ const int* fds;
+ unsigned num_fds;
+ unsigned fds_i = 0; // the index of the first unused descriptor
+
+ if (input_overflow_fds_.empty()) {
+ fds = wire_fds;
+ num_fds = num_wire_fds;
+ } else {
+- const size_t prev_size = input_overflow_fds_.size();
+- input_overflow_fds_.resize(prev_size + num_wire_fds);
+- memcpy(&input_overflow_fds_[prev_size], wire_fds,
+- num_wire_fds * sizeof(int));
++ // This code may look like a no-op in the case where
++ // num_wire_fds == 0, but in fact:
++ //
++ // 1. wire_fds will be nullptr, so passing it to memcpy is
++ // undefined behavior according to the C standard, even though
++ // the memcpy length is 0.
++ //
++ // 2. prev_size will be an out-of-bounds index for
++ // input_overflow_fds_; this is undefined behavior according to
++ // the C++ standard, even though the element only has its
++ // pointer taken and isn't accessed (and the corresponding
++ // operation on a C array would be defined).
++ //
++ // UBSan makes #1 a fatal error, and assertions in libstdc++ do
++ // the same for #2 if enabled.
++ if (num_wire_fds > 0) {
++ const size_t prev_size = input_overflow_fds_.size();
++ input_overflow_fds_.resize(prev_size + num_wire_fds);
++ memcpy(&input_overflow_fds_[prev_size], wire_fds,
++ num_wire_fds * sizeof(int));
++ }
+ fds = &input_overflow_fds_[0];
+ num_fds = input_overflow_fds_.size();
+ }
+
+ // The data for the message we're currently reading consists of any data
+ // stored in incoming_message_ followed by data in input_buf_ (followed by
+ // other messages).
+
+
diff --git a/firefox-60-mozilla-1516803.patch b/firefox-60-mozilla-1516803.patch
new file mode 100644
index 0000000..3e88737
--- /dev/null
+++ b/firefox-60-mozilla-1516803.patch
@@ -0,0 +1,11 @@
+--- mozilla/security/sandbox/linux/moz.build.orig 2019-12-29 20:38:43.000000000 +0300
++++ mozilla/security/sandbox/linux/moz.build 2020-01-13 22:07:08.152645892 +0300
+@@ -97,7 +97,7 @@
+ # from the function using it which breaks the build. Work around that by
+ # forcing there to be only one partition.
+ if '-flto' in CONFIG['OS_CXXFLAGS'] and CONFIG['CC_TYPE'] != 'clang':
+- LDFLAGS += ['--param lto-partitions=1']
++ LDFLAGS += ['--param', 'lto-partitions=1']
+
+ DEFINES['NS_NO_XPCOM'] = True
+ DisableStlWrapping()
diff --git a/nss-3.28-mozilla-1334976-1336487.patch b/nss-3.28-mozilla-1334976-1336487.patch
deleted file mode 100644
index fcf23cd..0000000
--- a/nss-3.28-mozilla-1334976-1336487.patch
+++ /dev/null
@@ -1,3304 +0,0 @@
-diff --git a/cmd/addbuiltin/addbuiltin.c b/cmd/addbuiltin/addbuiltin.c
---- a/cmd/addbuiltin/addbuiltin.c
-+++ b/cmd/addbuiltin/addbuiltin.c
-@@ -26,16 +26,39 @@ dumpbytes(unsigned char *buf, int len)
- if ((i != 0) && ((i & 0xf) == 0)) {
- printf("\n");
- }
- printf("\\%03o", buf[i]);
- }
- printf("\n");
- }
-
-+int
-+hasPositiveTrust(unsigned int trust)
-+{
-+ if (trust & CERTDB_TRUSTED) {
-+ if (trust & CERTDB_TRUSTED_CA) {
-+ return PR_TRUE;
-+ } else {
-+ return PR_FALSE;
-+ }
-+ } else {
-+ if (trust & CERTDB_TRUSTED_CA) {
-+ return PR_TRUE;
-+ } else if (trust & CERTDB_VALID_CA) {
-+ return PR_TRUE;
-+ } else if (trust & CERTDB_TERMINAL_RECORD) {
-+ return PR_FALSE;
-+ } else {
-+ return PR_FALSE;
-+ }
-+ }
-+ return PR_FALSE;
-+}
-+
- char *
- getTrustString(unsigned int trust)
- {
- if (trust & CERTDB_TRUSTED) {
- if (trust & CERTDB_TRUSTED_CA) {
- return "CKT_NSS_TRUSTED_DELEGATOR";
- } else {
- return "CKT_NSS_TRUSTED";
-@@ -197,16 +220,21 @@ ConvertCertificate(SECItem *sdder, char
- dumpbytes(cert->derIssuer.data, cert->derIssuer.len);
- printf("END\n");
- printf("CKA_SERIAL_NUMBER MULTILINE_OCTAL\n");
- dumpbytes(serial->data, serial->len);
- printf("END\n");
- printf("CKA_VALUE MULTILINE_OCTAL\n");
- dumpbytes(sdder->data, sdder->len);
- printf("END\n");
-+ if (hasPositiveTrust(trust->sslFlags) ||
-+ hasPositiveTrust(trust->emailFlags) ||
-+ hasPositiveTrust(trust->objectSigningFlags)) {
-+ printf("CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE\n");
-+ }
- }
-
- if ((trust->sslFlags | trust->emailFlags | trust->objectSigningFlags) ==
- CERTDB_TERMINAL_RECORD)
- trust_info = "Distrust";
- else
- trust_info = "Trust for";
-
-diff --git a/cmd/lib/secutil.c b/cmd/lib/secutil.c
---- a/cmd/lib/secutil.c
-+++ b/cmd/lib/secutil.c
-@@ -27,17 +27,17 @@
- #include <unistd.h>
- #endif
-
- /* for SEC_TraverseNames */
- #include "cert.h"
- #include "certt.h"
- #include "certdb.h"
-
--/* #include "secmod.h" */
-+#include "secmod.h"
- #include "pk11func.h"
- #include "secoid.h"
-
- static char consoleName[] = {
- #ifdef XP_UNIX
- "/dev/tty"
- #else
- #ifdef XP_OS2
-@@ -3224,25 +3224,58 @@ SECU_PrintSignedContent(FILE *out, SECIt
- SECStatus
- SEC_PrintCertificateAndTrust(CERTCertificate *cert,
- const char *label,
- CERTCertTrust *trust)
- {
- SECStatus rv;
- SECItem data;
- CERTCertTrust certTrust;
-+ PK11SlotList *slotList;
-+ PRBool falseAttributeFound = PR_FALSE;
-+ PRBool trueAttributeFound = PR_FALSE;
-+ const char *moz_policy_ca_info = NULL;
-
- data.data = cert->derCert.data;
- data.len = cert->derCert.len;
-
- rv = SECU_PrintSignedData(stdout, &data, label, 0,
- (SECU_PPFunc)SECU_PrintCertificate);
- if (rv) {
- return (SECFailure);
- }
-+
-+ slotList = PK11_GetAllSlotsForCert(cert, NULL);
-+ if (slotList) {
-+ PK11SlotListElement *se = PK11_GetFirstSafe(slotList);
-+ for (; se; se = PK11_GetNextSafe(slotList, se, PR_FALSE)) {
-+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(se->slot, cert, NULL);
-+ if (handle != CK_INVALID_HANDLE) {
-+ PORT_SetError(0);
-+ if (PK11_HasAttributeSet(se->slot, handle,
-+ CKA_NSS_MOZILLA_CA_POLICY, PR_FALSE)) {
-+ trueAttributeFound = PR_TRUE;
-+ } else if (!PORT_GetError()) {
-+ falseAttributeFound = PR_TRUE;
-+ }
-+ }
-+ }
-+ PK11_FreeSlotList(slotList);
-+ }
-+
-+ if (trueAttributeFound) {
-+ moz_policy_ca_info = "true (attribute present)";
-+ } else if (falseAttributeFound) {
-+ moz_policy_ca_info = "false (attribute present)";
-+ } else {
-+ moz_policy_ca_info = "false (attribute missing)";
-+ }
-+ SECU_Indent(stdout, 1);
-+ printf("Mozilla-CA-Policy: %s\n", moz_policy_ca_info);
-+
- if (trust) {
- SECU_PrintTrustFlags(stdout, trust,
- "Certificate Trust Flags", 1);
- } else if (CERT_GetCertTrust(cert, &certTrust) == SECSuccess) {
- SECU_PrintTrustFlags(stdout, &certTrust,
- "Certificate Trust Flags", 1);
- }
-
-diff --git a/lib/ckfw/builtins/certdata.txt b/lib/ckfw/builtins/certdata.txt
---- a/lib/ckfw/builtins/certdata.txt
-+++ b/lib/ckfw/builtins/certdata.txt
-@@ -186,16 +186,17 @@ CKA_VALUE MULTILINE_OCTAL
- \034\161\142\356\312\310\227\254\027\135\212\302\370\107\206\156
- \052\304\126\061\225\320\147\211\205\053\371\154\246\135\106\235
- \014\252\202\344\231\121\335\160\267\333\126\075\141\344\152\341
- \134\326\366\376\075\336\101\314\007\256\143\122\277\123\123\364
- \053\351\307\375\266\367\202\137\205\322\101\030\333\201\263\004
- \034\305\037\244\200\157\025\040\311\336\014\210\012\035\326\146
- \125\342\374\110\311\051\046\151\340
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA"
- # Issuer: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
- # Serial Number:04:00:00:00:00:01:15:4b:5a:c3:94
- # Subject: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
- # Not Valid Before: Tue Sep 01 12:00:00 1998
- # Not Valid After : Fri Jan 28 12:00:00 2028
- # Fingerprint (MD5): 3E:45:52:15:09:51:92:E1:B7:5D:37:9F:B1:87:29:8A
-@@ -319,16 +320,17 @@ CKA_VALUE MULTILINE_OCTAL
- \176\273\363\171\030\221\273\364\157\235\301\360\214\065\214\135
- \001\373\303\155\271\357\104\155\171\106\061\176\012\376\251\202
- \301\377\357\253\156\040\304\120\311\137\235\115\233\027\214\014
- \345\001\311\240\101\152\163\123\372\245\120\264\156\045\017\373
- \114\030\364\375\122\331\216\151\261\350\021\017\336\210\330\373
- \035\111\367\252\336\225\317\040\170\302\140\022\333\045\100\214
- \152\374\176\102\070\100\144\022\367\236\201\341\223\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA - R2"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
- # Serial Number:04:00:00:00:00:01:0f:86:26:e6:0d
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
- # Not Valid Before: Fri Dec 15 08:00:00 2006
- # Not Valid After : Wed Dec 15 08:00:00 2021
- # Fingerprint (MD5): 94:14:77:7E:3E:5E:FD:8F:30:BD:41:B0:CF:E7:D0:30
-@@ -474,16 +476,17 @@ CKA_VALUE MULTILINE_OCTAL
- \114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354
- \245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216
- \274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042
- \171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170
- \023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043
- \363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243
- \113\336\006\226\161\054\362\333\266\037\244\357\077\356
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:00:8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4
- # Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73
-@@ -638,16 +641,17 @@ CKA_VALUE MULTILINE_OCTAL
- \301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110
- \260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153
- \106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045
- \342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317
- \162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263
- \377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125
- \311\130\020\371\252\357\132\266\317\113\113\337\052
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a
- # Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6
-@@ -802,16 +806,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151
- \027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246
- \124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156
- \352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255
- \117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126
- \200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255
- \153\271\012\172\116\117\113\204\356\113\361\175\335\021
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:00:9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Fri Oct 01 00:00:00 1999
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09
-@@ -1076,16 +1081,17 @@ CKA_VALUE MULTILINE_OCTAL
- \273\377\043\357\150\031\313\022\223\047\134\003\055\157\060\320
- \036\266\032\254\336\132\367\321\252\250\047\246\376\171\201\304
- \171\231\063\127\272\022\260\251\340\102\154\223\312\126\336\376
- \155\204\013\010\213\176\215\352\327\230\041\306\363\347\074\171
- \057\136\234\321\114\025\215\341\354\042\067\314\232\103\013\227
- \334\200\220\215\263\147\233\157\110\010\025\126\317\277\361\053
- \174\136\232\166\351\131\220\305\174\203\065\021\145\121
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust.net Premium 2048 Secure Server CA"
- # Issuer: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
- # Serial Number: 946069240 (0x3863def8)
- # Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
- # Not Valid Before: Fri Dec 24 17:50:51 1999
- # Not Valid After : Tue Jul 24 14:15:12 2029
- # Fingerprint (MD5): EE:29:31:BC:32:7E:9A:E6:E8:B5:F7:51:B4:34:71:90
-@@ -1213,16 +1219,17 @@ CKA_VALUE MULTILINE_OCTAL
- \056\310\244\236\116\010\024\113\155\375\160\155\153\032\143\275
- \144\346\037\267\316\360\362\237\056\273\033\267\362\120\210\163
- \222\302\342\343\026\215\232\062\002\253\216\030\335\351\020\021
- \356\176\065\253\220\257\076\060\224\172\320\063\075\247\145\017
- \365\374\216\236\142\317\107\104\054\001\135\273\035\265\062\322
- \107\322\070\056\320\376\201\334\062\152\036\265\356\074\325\374
- \347\201\035\031\303\044\102\352\143\071\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Baltimore CyberTrust Root"
- # Issuer: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
- # Serial Number: 33554617 (0x20000b9)
- # Subject: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
- # Not Valid Before: Fri May 12 18:46:00 2000
- # Not Valid After : Mon May 12 23:59:00 2025
- # Fingerprint (MD5): AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4
-@@ -1356,16 +1363,17 @@ CKA_VALUE MULTILINE_OCTAL
- \213\375\273\034\126\066\362\376\262\266\345\166\273\325\042\145
- \247\077\376\321\146\255\013\274\153\231\206\357\077\175\363\030
- \062\312\173\306\343\253\144\106\225\370\046\151\331\125\203\173
- \054\226\007\377\131\054\104\243\306\345\351\251\334\241\143\200
- \132\041\136\041\317\123\124\360\272\157\211\333\250\252\225\317
- \213\343\161\314\036\033\040\104\010\300\172\266\100\375\304\344
- \065\341\035\026\034\320\274\053\216\326\161\331
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Low-Value Services Root"
- # Issuer: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:38:31 2000
- # Not Valid After : Sat May 30 10:38:31 2020
- # Fingerprint (MD5): 1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC
-@@ -1504,16 +1512,17 @@ CKA_VALUE MULTILINE_OCTAL
- \335\217\212\303\366\366\214\032\102\005\121\324\105\365\237\247
- \142\041\150\025\040\103\074\231\347\174\275\044\330\251\221\027
- \163\210\077\126\033\061\070\030\264\161\017\232\315\310\016\236
- \216\056\033\341\214\230\203\313\037\061\361\104\114\306\004\163
- \111\166\140\017\307\370\275\027\200\153\056\351\314\114\016\132
- \232\171\017\040\012\056\325\236\143\046\036\125\222\224\330\202
- \027\132\173\320\274\307\217\116\206\004
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust External Root"
- # Issuer: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:48:38 2000
- # Not Valid After : Sat May 30 10:48:38 2020
- # Fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F
-@@ -1649,16 +1658,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\032\214\307\355\234\116\232\340\022\273\265\152\114\204\341
- \341\042\015\207\000\144\376\214\175\142\071\145\246\357\102\266
- \200\045\022\141\001\250\044\023\160\000\021\046\137\372\065\120
- \305\110\314\006\107\350\047\330\160\215\137\144\346\241\104\046
- \136\042\354\222\315\377\102\232\104\041\155\134\305\343\042\035
- \137\107\022\347\316\137\135\372\330\252\261\063\055\331\166\362
- \116\072\063\014\053\263\055\220\006
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Public Services Root"
- # Issuer: CN=AddTrust Public CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Public CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:41:50 2000
- # Not Valid After : Sat May 30 10:41:50 2020
- # Fingerprint (MD5): C1:62:3E:23:C5:82:73:9C:03:59:4B:2B:E9:77:49:7F
-@@ -1794,16 +1804,17 @@ CKA_VALUE MULTILINE_OCTAL
- \077\240\261\007\326\351\117\334\336\105\161\060\062\177\033\056
- \011\371\277\122\241\356\302\200\076\006\134\056\125\100\301\033
- \365\160\105\260\334\135\372\366\162\132\167\322\143\315\317\130
- \211\000\102\143\077\171\071\320\104\260\202\156\101\031\350\335
- \340\301\210\132\321\036\161\223\037\044\060\164\345\036\250\336
- \074\047\067\177\203\256\236\167\317\360\060\261\377\113\231\350
- \306\241
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AddTrust Qualified Certificates Root"
- # Issuer: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Serial Number: 1 (0x1)
- # Subject: CN=AddTrust Qualified CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
- # Not Valid Before: Tue May 30 10:44:50 2000
- # Not Valid After : Sat May 30 10:44:50 2020
- # Fingerprint (MD5): 27:EC:39:47:CD:DA:5A:AF:E2:9A:01:65:21:A9:4C:BB
-@@ -1956,16 +1967,17 @@ CKA_VALUE MULTILINE_OCTAL
- \175\352\261\355\060\045\301\204\332\064\322\133\170\203\126\354
- \234\066\303\046\342\021\366\147\111\035\222\253\214\373\353\377
- \172\356\205\112\247\120\200\360\247\134\112\224\056\137\005\231
- \074\122\101\340\315\264\143\317\001\103\272\234\203\334\217\140
- \073\363\132\264\264\173\256\332\013\220\070\165\357\201\035\146
- \322\367\127\160\066\263\277\374\050\257\161\045\205\133\023\376
- \036\177\132\264\074
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Entrust Root Certification Authority"
- # Issuer: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
- # Serial Number: 1164660820 (0x456b5054)
- # Subject: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
- # Not Valid Before: Mon Nov 27 20:23:42 2006
- # Not Valid After : Fri Nov 27 20:53:42 2026
- # Fingerprint (MD5): D6:A5:C3:ED:5D:DD:3E:00:C1:3D:87:92:1F:1D:3F:E4
-@@ -2089,16 +2101,17 @@ CKA_VALUE MULTILINE_OCTAL
- \270\234\344\035\266\253\346\224\245\301\307\203\255\333\365\047
- \207\016\004\154\325\377\335\240\135\355\207\122\267\053\025\002
- \256\071\246\152\164\351\332\304\347\274\115\064\036\251\134\115
- \063\137\222\011\057\210\146\135\167\227\307\035\166\023\251\325
- \345\361\026\011\021\065\325\254\333\044\161\160\054\230\126\013
- \331\027\264\321\343\121\053\136\165\350\325\320\334\117\064\355
- \302\005\146\200\241\313\346\063
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Global CA"
- # Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
- # Serial Number: 144470 (0x23456)
- # Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
- # Not Valid Before: Tue May 21 04:00:00 2002
- # Not Valid After : Sat May 21 04:00:00 2022
- # Fingerprint (MD5): F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5
-@@ -2216,16 +2229,17 @@ CKA_VALUE MULTILINE_OCTAL
- \151\266\362\377\341\032\320\014\321\166\205\313\212\045\275\227
- \136\054\157\025\231\046\347\266\051\377\042\354\311\002\307\126
- \000\315\111\271\263\154\173\123\004\032\342\250\311\252\022\005
- \043\302\316\347\273\004\002\314\300\107\242\344\304\051\057\133
- \105\127\211\121\356\074\353\122\010\377\007\065\036\237\065\152
- \107\112\126\230\321\132\205\037\214\365\042\277\253\316\203\363
- \342\042\051\256\175\203\100\250\272\154
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Global CA 2"
- # Issuer: CN=GeoTrust Global CA 2,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Global CA 2,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Mon Mar 04 05:00:00 2019
- # Fingerprint (MD5): 0E:40:A7:6C:DE:03:5D:8F:D1:0F:E4:D1:8D:F9:6C:A9
-@@ -2375,16 +2389,17 @@ CKA_VALUE MULTILINE_OCTAL
- \121\173\327\251\234\006\241\066\335\325\211\224\274\331\344\055
- \014\136\011\154\010\227\174\243\075\174\223\377\077\241\024\247
- \317\265\135\353\333\333\034\304\166\337\210\271\275\105\005\225
- \033\256\374\106\152\114\257\110\343\316\256\017\322\176\353\346
- \154\234\117\201\152\172\144\254\273\076\325\347\313\166\056\305
- \247\110\301\134\220\017\313\310\077\372\346\062\341\215\033\157
- \244\346\216\330\371\051\110\212\316\163\376\054
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Universal CA"
- # Issuer: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Sun Mar 04 05:00:00 2029
- # Fingerprint (MD5): 92:65:58:8B:A2:1A:31:72:73:68:5C:B4:A5:7A:07:48
-@@ -2534,16 +2549,17 @@ CKA_VALUE MULTILINE_OCTAL
- \227\124\167\332\075\022\267\340\036\357\010\006\254\371\205\207
- \351\242\334\257\176\030\022\203\375\126\027\101\056\325\051\202
- \175\231\364\061\366\161\251\317\054\001\047\245\005\271\252\262
- \110\116\052\357\237\223\122\121\225\074\122\163\216\126\114\027
- \100\300\011\050\344\213\152\110\123\333\354\315\125\125\361\306
- \370\351\242\054\114\246\321\046\137\176\257\132\114\332\037\246
- \362\034\054\176\256\002\026\322\126\320\057\127\123\107\350\222
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Universal CA 2"
- # Issuer: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US
- # Not Valid Before: Thu Mar 04 05:00:00 2004
- # Not Valid After : Sun Mar 04 05:00:00 2029
- # Fingerprint (MD5): 34:FC:B8:D0:36:DB:9E:14:B3:C2:F2:DB:8F:E4:94:C7
-@@ -2670,16 +2686,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\074\154\151\227\333\256\137\071\232\160\057\005\074\031\106
- \004\231\040\066\320\140\156\141\006\273\026\102\214\160\367\060
- \373\340\333\146\243\000\001\275\346\054\332\221\137\240\106\213
- \115\152\234\075\075\335\005\106\376\166\277\240\012\074\344\000
- \346\047\267\377\204\055\336\272\042\047\226\020\161\353\042\355
- \337\337\063\234\317\343\255\256\216\324\216\346\117\121\257\026
- \222\340\134\366\007\017
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Visa eCommerce Root"
- # Issuer: CN=Visa eCommerce Root,OU=Visa International Service Association,O=VISA,C=US
- # Serial Number:13:86:35:4d:1d:3f:06:f2:c1:f9:65:05:d5:90:1c:62
- # Subject: CN=Visa eCommerce Root,OU=Visa International Service Association,O=VISA,C=US
- # Not Valid Before: Wed Jun 26 02:18:36 2002
- # Not Valid After : Fri Jun 24 00:16:12 2022
- # Fingerprint (MD5): FC:11:B8:D8:08:93:30:00:6D:23:F9:7E:EB:52:1E:02
-@@ -2792,16 +2809,17 @@ CKA_VALUE MULTILINE_OCTAL
- \012\072\223\023\233\073\024\043\023\143\234\077\321\207\047\171
- \345\114\121\343\001\255\205\135\032\073\261\325\163\020\244\323
- \362\274\156\144\365\132\126\220\250\307\016\114\164\017\056\161
- \073\367\310\107\364\151\157\025\362\021\136\203\036\234\174\122
- \256\375\002\332\022\250\131\147\030\333\274\160\335\233\261\151
- \355\200\316\211\100\110\152\016\065\312\051\146\025\041\224\054
- \350\140\052\233\205\112\100\363\153\212\044\354\006\026\054\163
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certum Root CA"
- # Issuer: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL
- # Serial Number: 65568 (0x10020)
- # Subject: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL
- # Not Valid Before: Tue Jun 11 10:46:39 2002
- # Not Valid After : Fri Jun 11 10:46:39 2027
- # Fingerprint (MD5): 2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9
-@@ -2937,16 +2955,17 @@ CKA_VALUE MULTILINE_OCTAL
- \154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
- \372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
- \227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
- \156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
- \343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
- \262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
- \225\351\066\226\230\156
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo AAA Services root"
- # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): 49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0
-@@ -3087,16 +3106,17 @@ CKA_VALUE MULTILINE_OCTAL
- \223\367\252\023\313\322\023\342\267\056\073\315\153\120\027\011
- \150\076\265\046\127\356\266\340\266\335\271\051\200\171\175\217
- \243\360\244\050\244\025\304\205\364\047\324\153\277\345\134\344
- \145\002\166\124\264\343\067\146\044\323\031\141\310\122\020\345
- \213\067\232\271\251\371\035\277\352\231\222\141\226\377\001\315
- \241\137\015\274\161\274\016\254\013\035\107\105\035\301\354\174
- \354\375\051
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo Secure Services root"
- # Issuer: CN=Secure Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=Secure Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): D3:D9:BD:AE:9F:AC:67:24:B3:C8:1B:52:E1:B9:A9:BD
-@@ -3239,16 +3259,17 @@ CKA_VALUE MULTILINE_OCTAL
- \201\170\057\050\300\176\323\314\102\012\365\256\120\240\321\076
- \306\241\161\354\077\240\040\214\146\072\211\264\216\324\330\261
- \115\045\107\356\057\210\310\265\341\005\105\300\276\024\161\336
- \172\375\216\173\175\115\010\226\245\022\163\360\055\312\067\047
- \164\022\047\114\313\266\227\351\331\256\010\155\132\071\100\335
- \005\107\165\152\132\041\263\243\030\317\116\367\056\127\267\230
- \160\136\310\304\170\260\142
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Comodo Trusted Services root"
- # Issuer: CN=Trusted Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number: 1 (0x1)
- # Subject: CN=Trusted Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Jan 01 00:00:00 2004
- # Not Valid After : Sun Dec 31 23:59:59 2028
- # Fingerprint (MD5): 91:1B:3F:6E:CD:9E:AB:EE:07:FE:1F:71:D2:B3:61:27
-@@ -3417,16 +3438,17 @@ CKA_VALUE MULTILINE_OCTAL
- \231\003\072\212\314\124\045\071\061\201\173\023\042\121\272\106
- \154\241\273\236\372\004\154\111\046\164\217\322\163\353\314\060
- \242\346\352\131\042\207\370\227\365\016\375\352\314\222\244\026
- \304\122\030\352\041\316\261\361\346\204\201\345\272\251\206\050
- \362\103\132\135\022\235\254\036\331\250\345\012\152\247\177\240
- \207\051\317\362\211\115\324\354\305\342\346\172\320\066\043\212
- \112\164\066\371
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA"
- # Issuer: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM
- # Serial Number: 985026699 (0x3ab6508b)
- # Subject: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM
- # Not Valid Before: Mon Mar 19 18:33:33 2001
- # Not Valid After : Wed Mar 17 18:33:33 2021
- # Fingerprint (MD5): 27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24
-@@ -3585,16 +3607,17 @@ CKA_VALUE MULTILINE_OCTAL
- \226\136\234\307\357\047\142\010\342\221\031\134\322\361\041\335
- \272\027\102\202\227\161\201\123\061\251\237\366\175\142\277\162
- \341\243\223\035\314\212\046\132\011\070\320\316\327\015\200\026
- \264\170\245\072\207\114\215\212\245\325\106\227\362\054\020\271
- \274\124\042\300\001\120\151\103\236\364\262\357\155\370\354\332
- \361\343\261\357\337\221\217\124\052\013\045\301\046\031\304\122
- \020\005\145\325\202\020\352\302\061\315\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA 2"
- # Issuer: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
- # Serial Number: 1289 (0x509)
- # Subject: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
- # Not Valid Before: Fri Nov 24 18:27:00 2006
- # Not Valid After : Mon Nov 24 18:23:33 2031
- # Fingerprint (MD5): 5E:39:7B:DD:F8:BA:EC:82:E9:AC:62:BA:0C:54:00:2B
-@@ -3764,16 +3787,17 @@ CKA_VALUE MULTILINE_OCTAL
- \340\164\053\262\353\175\276\101\033\265\300\106\305\241\042\313
- \137\116\301\050\222\336\030\272\325\052\050\273\021\213\027\223
- \230\231\140\224\134\043\317\132\047\227\136\013\005\006\223\067
- \036\073\151\066\353\251\236\141\035\217\062\332\216\014\326\164
- \076\173\011\044\332\001\167\107\304\073\315\064\214\231\365\312
- \341\045\141\063\262\131\033\342\156\327\067\127\266\015\251\022
- \332
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "QuoVadis Root CA 3"
- # Issuer: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM
- # Serial Number: 1478 (0x5c6)
- # Subject: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Fri Nov 24 19:11:23 2006
- # Not Valid After : Mon Nov 24 19:06:44 2031
- # Fingerprint (MD5): 31:85:3C:62:94:97:63:B9:AA:FD:89:4E:AF:6F:E0:CF
-@@ -3892,16 +3916,17 @@ CKA_VALUE MULTILINE_OCTAL
- \161\245\062\252\057\306\211\166\103\100\023\023\147\075\242\124
- \045\020\313\361\072\362\331\372\333\111\126\273\246\376\247\101
- \065\303\340\210\141\311\210\307\337\066\020\042\230\131\352\260
- \112\373\126\026\163\156\254\115\367\042\241\117\255\035\172\055
- \105\047\345\060\301\136\362\332\023\313\045\102\121\225\107\003
- \214\154\041\314\164\102\355\123\377\063\213\217\017\127\001\026
- \057\317\246\356\311\160\042\024\275\375\276\154\013\003
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication Root CA"
- # Issuer: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP
- # Not Valid Before: Tue Sep 30 04:20:49 2003
- # Not Valid After : Sat Sep 30 04:20:49 2023
- # Fingerprint (MD5): F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A
-@@ -4014,16 +4039,17 @@ CKA_VALUE MULTILINE_OCTAL
- \066\276\246\133\015\152\154\232\037\221\173\371\371\357\102\272
- \116\116\236\314\014\215\224\334\331\105\234\136\354\102\120\143
- \256\364\135\304\261\022\334\312\073\250\056\235\024\132\005\165
- \267\354\327\143\342\272\065\266\004\010\221\350\332\235\234\366
- \146\265\030\254\012\246\124\046\064\063\322\033\301\324\177\032
- \072\216\013\252\062\156\333\374\117\045\237\331\062\307\226\132
- \160\254\337\114
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Sonera Class 2 Root CA"
- # Issuer: CN=Sonera Class2 CA,O=Sonera,C=FI
- # Serial Number: 29 (0x1d)
- # Subject: CN=Sonera Class2 CA,O=Sonera,C=FI
- # Not Valid Before: Fri Apr 06 07:29:40 2001
- # Not Valid After : Tue Apr 06 07:29:40 2021
- # Fingerprint (MD5): A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB
-@@ -4175,16 +4201,17 @@ CKA_VALUE MULTILINE_OCTAL
- \211\272\061\035\305\020\150\122\236\337\242\205\305\134\010\246
- \170\346\123\117\261\350\267\323\024\236\223\246\303\144\343\254
- \176\161\315\274\237\351\003\033\314\373\351\254\061\301\257\174
- \025\164\002\231\303\262\107\246\302\062\141\327\307\157\110\044
- \121\047\241\325\207\125\362\173\217\230\075\026\236\356\165\266
- \370\320\216\362\363\306\256\050\133\247\360\363\066\027\374\303
- \005\323\312\003\112\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Email Root CA"
- # Issuer: CN=UTN-USERFirst-Client Authentication and Email,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:25:25:67:c9:89
- # Subject: CN=UTN-USERFirst-Client Authentication and Email,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 17:28:50 1999
- # Not Valid After : Tue Jul 09 17:36:58 2019
- # Fingerprint (MD5): D7:34:3D:EF:1D:27:09:28:E1:31:02:5B:13:2B:DD:F7
-@@ -4338,16 +4365,17 @@ CKA_VALUE MULTILINE_OCTAL
- \370\323\157\133\036\226\343\340\164\167\164\173\212\242\156\055
- \335\166\326\071\060\202\360\253\234\122\362\052\307\257\111\136
- \176\307\150\345\202\201\310\152\047\371\047\210\052\325\130\120
- \225\037\360\073\034\127\273\175\024\071\142\053\232\311\224\222
- \052\243\042\014\377\211\046\175\137\043\053\107\327\025\035\251
- \152\236\121\015\052\121\236\201\371\324\073\136\160\022\177\020
- \062\234\036\273\235\370\146\250
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Hardware Root CA"
- # Issuer: CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:2a:fe:65:0a:fd
- # Subject: CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 18:10:42 1999
- # Not Valid After : Tue Jul 09 18:19:22 2019
- # Fingerprint (MD5): 4C:56:41:E5:0D:BB:2B:E8:CA:A3:ED:18:08:AD:43:39
-@@ -4498,16 +4526,17 @@ CKA_VALUE MULTILINE_OCTAL
- \261\104\252\152\317\027\172\317\157\017\324\370\044\125\137\360
- \064\026\111\146\076\120\106\311\143\161\070\061\142\270\142\271
- \363\123\255\154\265\053\242\022\252\031\117\011\332\136\347\223
- \306\216\024\010\376\360\060\200\030\240\206\205\115\310\175\327
- \213\003\376\156\325\367\235\026\254\222\054\240\043\345\234\221
- \122\037\224\337\027\224\163\303\263\301\301\161\005\040\000\170
- \275\023\122\035\250\076\315\000\037\310
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "UTN USERFirst Object Root CA"
- # Issuer: CN=UTN-USERFirst-Object,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Serial Number:44:be:0c:8b:50:00:24:b4:11:d3:36:2d:e0:b3:5f:1b
- # Subject: CN=UTN-USERFirst-Object,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
- # Not Valid Before: Fri Jul 09 18:31:20 1999
- # Not Valid After : Tue Jul 09 18:40:36 2019
- # Fingerprint (MD5): A7:F2:E4:16:06:41:11:50:30:6B:9C:E3:B4:9C:B0:C9
-@@ -4661,16 +4690,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\351\007\106\101\316\357\101\201\256\130\337\203\242\256\312
- \327\167\037\347\000\074\235\157\216\344\062\011\035\115\170\064
- \170\064\074\224\233\046\355\117\161\306\031\172\275\040\042\110
- \132\376\113\175\003\267\347\130\276\306\062\116\164\036\150\335
- \250\150\133\263\076\356\142\175\331\200\350\012\165\172\267\356
- \264\145\232\041\220\340\252\320\230\274\070\265\163\074\213\370
- \334
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Camerfirma Chambers of Commerce Root"
- # Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Serial Number: 0 (0x0)
- # Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Not Valid Before: Tue Sep 30 16:13:43 2003
- # Not Valid After : Wed Sep 30 16:13:44 2037
- # Fingerprint (MD5): B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84
-@@ -4820,16 +4850,17 @@ CKA_VALUE MULTILINE_OCTAL
- \222\025\323\137\076\306\000\111\072\156\130\262\321\321\047\015
- \045\310\062\370\040\021\315\175\062\063\110\224\124\114\335\334
- \171\304\060\237\353\216\270\125\265\327\210\134\305\152\044\075
- \262\323\005\003\121\306\007\357\314\024\162\164\075\156\162\316
- \030\050\214\112\240\167\345\011\053\105\104\107\254\267\147\177
- \001\212\005\132\223\276\241\301\377\370\347\016\147\244\107\111
- \166\135\165\220\032\365\046\217\360
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Camerfirma Global Chambersign Root"
- # Issuer: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Serial Number: 0 (0x0)
- # Subject: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU
- # Not Valid Before: Tue Sep 30 16:14:18 2003
- # Not Valid After : Wed Sep 30 16:14:18 2037
- # Fingerprint (MD5): C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19
-@@ -4972,16 +5003,17 @@ CKA_VALUE MULTILINE_OCTAL
- \212\144\101\061\270\016\154\220\044\244\233\134\161\217\272\273
- \176\034\033\333\152\200\017\041\274\351\333\246\267\100\364\262
- \213\251\261\344\357\232\032\320\075\151\231\356\250\050\243\341
- \074\263\360\262\021\234\317\174\100\346\335\347\103\175\242\330
- \072\265\251\215\362\064\231\304\324\020\341\006\375\011\204\020
- \073\356\304\114\364\354\047\174\102\302\164\174\202\212\011\311
- \264\003\045\274
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "XRamp Global CA Root"
- # Issuer: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
- # Serial Number:50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad
- # Subject: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
- # Not Valid Before: Mon Nov 01 17:14:04 2004
- # Not Valid After : Mon Jan 01 05:37:19 2035
- # Fingerprint (MD5): A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1
-@@ -5118,16 +5150,17 @@ CKA_VALUE MULTILINE_OCTAL
- \216\222\204\162\071\353\040\352\203\355\203\315\227\156\010\274
- \353\116\046\266\163\053\344\323\366\114\376\046\161\342\141\021
- \164\112\377\127\032\207\017\165\110\056\317\121\151\027\240\002
- \022\141\225\325\321\100\262\020\114\356\304\254\020\103\246\245
- \236\012\325\225\142\232\015\317\210\202\305\062\014\344\053\237
- \105\346\015\237\050\234\261\271\052\132\127\255\067\017\257\035
- \177\333\275\237
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Go Daddy Class 2 CA"
- # Issuer: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US
- # Serial Number: 0 (0x0)
- # Subject: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US
- # Not Valid Before: Tue Jun 29 17:06:20 2004
- # Not Valid After : Thu Jun 29 17:06:20 2034
- # Fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67
-@@ -5262,16 +5295,17 @@ CKA_VALUE MULTILINE_OCTAL
- \055\225\276\365\161\220\103\314\215\037\232\000\012\207\051\351
- \125\042\130\000\043\352\343\022\103\051\133\107\010\335\214\101
- \152\145\006\250\345\041\252\101\264\225\041\225\271\175\321\064
- \253\023\326\255\274\334\342\075\071\315\275\076\165\160\241\030
- \131\003\311\042\264\217\234\325\136\052\327\245\266\324\012\155
- \370\267\100\021\106\232\037\171\016\142\277\017\227\354\340\057
- \037\027\224
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Class 2 CA"
- # Issuer: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US
- # Serial Number: 0 (0x0)
- # Subject: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US
- # Not Valid Before: Tue Jun 29 17:39:16 2004
- # Not Valid After : Thu Jun 29 17:39:16 2034
- # Fingerprint (MD5): 32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24
-@@ -5467,16 +5501,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\340\167\055\341\145\231\162\151\004\032\107\011\346\017\001
- \126\044\373\037\277\016\171\251\130\056\271\304\011\001\176\225
- \272\155\000\006\076\262\352\112\020\071\330\320\053\365\277\354
- \165\277\227\002\305\011\033\010\334\125\067\342\201\373\067\204
- \103\142\040\312\347\126\113\145\352\376\154\301\044\223\044\241
- \064\353\005\377\232\042\256\233\175\077\361\145\121\012\246\060
- \152\263\364\210\034\200\015\374\162\212\350\203\136
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "StartCom Certification Authority"
- # Issuer: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Serial Number: 1 (0x1)
- # Subject: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Not Valid Before: Sun Sep 17 19:46:36 2006
- # Not Valid After : Wed Sep 17 19:46:36 2036
- # Fingerprint (MD5): 22:4D:8F:8A:FC:F7:35:C2:BB:57:34:90:7B:8B:22:16
-@@ -5631,16 +5666,17 @@ CKA_VALUE MULTILINE_OCTAL
- \262\304\060\231\043\116\135\362\110\241\022\014\334\022\220\011
- \220\124\221\003\074\107\345\325\311\145\340\267\113\175\354\107
- \323\263\013\076\255\236\320\164\000\016\353\275\121\255\300\336
- \054\300\303\152\376\357\334\013\247\372\106\337\140\333\234\246
- \131\120\165\043\151\163\223\262\371\374\002\323\107\346\161\316
- \020\002\356\047\214\204\377\254\105\015\023\134\203\062\340\045
- \245\206\054\174\364\022
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Taiwan GRCA"
- # Issuer: O=Government Root Certification Authority,C=TW
- # Serial Number:1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6
- # Subject: O=Government Root Certification Authority,C=TW
- # Not Valid Before: Thu Dec 05 13:23:33 2002
- # Not Valid After : Sun Dec 05 13:23:33 2032
- # Fingerprint (MD5): 37:85:44:53:32:45:1F:20:F0:F3:95:E1:25:C4:43:4E
-@@ -5803,16 +5839,17 @@ CKA_VALUE MULTILINE_OCTAL
- \204\126\141\276\161\027\376\035\023\017\376\306\207\105\351\376
- \062\240\032\015\023\244\224\125\161\245\026\213\272\312\211\260
- \262\307\374\217\330\124\265\223\142\235\316\317\131\373\075\030
- \316\052\313\065\025\202\135\377\124\042\133\161\122\373\267\311
- \376\140\233\000\101\144\360\252\052\354\266\102\103\316\211\146
- \201\310\213\237\071\124\003\045\323\026\065\216\204\320\137\372
- \060\032\365\232\154\364\016\123\371\072\133\321\034
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Swisscom Root CA 1"
- # Issuer: CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:5c:0b:85:5c:0b:e7:59:41:df:57:cc:3f:7f:9d:a8:36
- # Subject: CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Thu Aug 18 12:06:20 2005
- # Not Valid After : Mon Aug 18 22:06:20 2025
- # Fingerprint (MD5): F8:38:7C:77:88:DF:2C:16:68:2E:C2:E2:52:4B:B8:F9
-@@ -5943,16 +5980,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\267\372\214\036\335\142\361\276\120\147\267\154\275\363\361
- \037\153\014\066\007\026\177\067\174\251\133\155\172\361\022\106
- \140\203\327\047\004\276\113\316\227\276\303\147\052\150\021\337
- \200\347\014\063\146\277\023\015\024\156\363\177\037\143\020\036
- \372\215\033\045\155\154\217\245\267\141\001\261\322\243\046\241
- \020\161\235\255\342\303\371\303\231\121\267\053\007\010\316\056
- \346\120\262\247\372\012\105\057\242\360\362
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert Assured ID Root CA"
- # Issuer: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39
- # Subject: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): 87:CE:0B:7B:2A:0E:49:00:E1:58:71:9B:37:A8:93:72
-@@ -6083,16 +6121,17 @@ CKA_VALUE MULTILINE_OCTAL
- \076\052\271\066\123\317\072\120\006\367\056\350\304\127\111\154
- \141\041\030\325\004\255\170\074\054\072\200\153\247\353\257\025
- \024\351\330\211\301\271\070\154\342\221\154\212\377\144\271\167
- \045\127\060\300\033\044\243\341\334\351\337\107\174\265\264\044
- \010\005\060\354\055\275\013\277\105\277\120\271\251\363\353\230
- \001\022\255\310\210\306\230\064\137\215\012\074\306\351\325\225
- \225\155\336
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert Global Root CA"
- # Issuer: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a
- # Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): 79:E4:A9:84:0D:7D:3A:96:D7:C0:4F:E2:43:4C:89:2E
-@@ -6224,16 +6263,17 @@ CKA_VALUE MULTILINE_OCTAL
- \143\070\275\104\244\177\344\046\053\012\304\227\151\015\351\214
- \342\300\020\127\270\310\166\022\221\125\362\110\151\330\274\052
- \002\133\017\104\324\040\061\333\364\272\160\046\135\220\140\236
- \274\113\027\011\057\264\313\036\103\150\311\007\047\301\322\134
- \367\352\041\271\150\022\234\074\234\277\236\374\200\134\233\143
- \315\354\107\252\045\047\147\240\067\363\000\202\175\124\327\251
- \370\351\056\023\243\167\350\037\112
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DigiCert High Assurance EV Root CA"
- # Issuer: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77
- # Subject: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Fri Nov 10 00:00:00 2006
- # Not Valid After : Mon Nov 10 00:00:00 2031
- # Fingerprint (MD5): D4:74:DE:57:5C:39:B2:D3:9C:85:83:C5:C0:65:49:8A
-@@ -6356,16 +6396,17 @@ CKA_VALUE MULTILINE_OCTAL
- \311\273\211\176\156\200\210\036\057\024\264\003\044\250\062\157
- \003\232\107\054\060\276\126\306\247\102\002\160\033\352\100\330
- \272\005\003\160\007\244\226\377\375\110\063\012\341\334\245\201
- \220\233\115\335\175\347\347\262\315\134\310\152\225\370\245\366
- \215\304\135\170\010\276\173\006\326\111\317\031\066\120\043\056
- \010\346\236\005\115\107\030\325\026\351\261\326\266\020\325\273
- \227\277\242\216\264\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certplus Class 2 Primary CA"
- # Issuer: CN=Class 2 Primary CA,O=Certplus,C=FR
- # Serial Number:00:85:bd:4b:f3:d8:da:e3:69:f6:94:d7:5f:c3:a5:44:23
- # Subject: CN=Class 2 Primary CA,O=Certplus,C=FR
- # Not Valid Before: Wed Jul 07 17:05:00 1999
- # Not Valid After : Sat Jul 06 23:59:59 2019
- # Fingerprint (MD5): 88:2C:8C:52:B8:A2:3C:F3:F7:BB:03:EA:AE:AC:42:0B
-@@ -6482,16 +6523,17 @@ CKA_VALUE MULTILINE_OCTAL
- \162\062\207\306\360\104\273\123\162\155\103\365\046\110\232\122
- \147\267\130\253\376\147\166\161\170\333\015\242\126\024\023\071
- \044\061\205\242\250\002\132\060\107\341\335\120\007\274\002\011
- \220\000\353\144\143\140\233\026\274\210\311\022\346\322\175\221
- \213\371\075\062\215\145\264\351\174\261\127\166\352\305\266\050
- \071\277\025\145\034\310\366\167\226\152\012\215\167\013\330\221
- \013\004\216\007\333\051\266\012\356\235\202\065\065\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DST Root CA X3"
- # Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co.
- # Serial Number:44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b
- # Subject: CN=DST Root CA X3,O=Digital Signature Trust Co.
- # Not Valid Before: Sat Sep 30 21:12:19 2000
- # Not Valid After : Thu Sep 30 14:01:15 2021
- # Fingerprint (MD5): 41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5
-@@ -6623,16 +6665,17 @@ CKA_VALUE MULTILINE_OCTAL
- \343\062\213\372\340\301\206\115\162\074\056\330\223\170\012\052
- \370\330\322\047\075\031\211\137\132\173\212\073\314\014\332\121
- \256\307\013\367\053\260\067\005\354\274\127\043\342\070\322\233
- \150\363\126\022\210\117\102\174\270\061\304\265\333\344\310\041
- \064\351\110\021\065\356\372\307\222\127\305\237\064\344\307\366
- \367\016\013\114\234\150\170\173\161\061\307\353\036\340\147\101
- \363\267\240\247\315\345\172\063\066\152\372\232\053
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "DST ACES CA X6"
- # Issuer: CN=DST ACES CA X6,OU=DST ACES,O=Digital Signature Trust,C=US
- # Serial Number:0d:5e:99:0a:d6:9d:b7:78:ec:d8:07:56:3b:86:15:d9
- # Subject: CN=DST ACES CA X6,OU=DST ACES,O=Digital Signature Trust,C=US
- # Not Valid Before: Thu Nov 20 21:19:58 2003
- # Not Valid After : Mon Nov 20 21:19:58 2017
- # Fingerprint (MD5): 21:D8:4C:82:2B:99:09:33:A2:EB:14:24:8D:8E:5F:E8
-@@ -6790,16 +6833,17 @@ CKA_VALUE MULTILINE_OCTAL
- \137\373\140\130\321\373\304\301\155\211\242\273\040\037\235\161
- \221\313\062\233\023\075\076\175\222\122\065\254\222\224\242\323
- \030\302\174\307\352\257\166\005\026\335\147\047\302\176\034\007
- \042\041\363\100\012\033\064\007\104\023\302\204\152\216\337\031
- \132\277\177\353\035\342\032\070\321\134\257\107\222\153\200\265
- \060\245\311\215\330\253\061\201\037\337\302\146\067\323\223\251
- \205\206\171\145\322
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Platinum CA - G2"
- # Issuer: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH
- # Serial Number:4e:b2:00:67:0c:03:5d:4f
- # Subject: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:36:00 2006
- # Not Valid After : Sat Oct 25 08:36:00 2036
- # Fingerprint (MD5): C9:98:27:77:28:1E:3D:0E:15:3C:84:00:B8:85:03:E6
-@@ -6954,16 +6998,17 @@ CKA_VALUE MULTILINE_OCTAL
- \001\320\277\150\236\143\140\153\065\115\013\155\272\241\075\300
- \223\340\177\043\263\125\255\162\045\116\106\371\322\026\357\260
- \144\301\001\236\351\312\240\152\230\016\317\330\140\362\057\111
- \270\344\102\341\070\065\026\364\310\156\117\367\201\126\350\272
- \243\276\043\257\256\375\157\003\340\002\073\060\166\372\033\155
- \101\317\001\261\351\270\311\146\364\333\046\363\072\244\164\362
- \111\044\133\311\260\320\127\301\372\076\172\341\227\311
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Gold CA - G2"
- # Issuer: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
- # Serial Number:00:bb:40:1c:43:f5:5e:4f:b0
- # Subject: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:30:35 2006
- # Not Valid After : Sat Oct 25 08:30:35 2036
- # Fingerprint (MD5): 24:77:D9:A8:91:D1:3B:FA:88:2D:C2:FF:F8:CD:33:93
-@@ -7119,16 +7164,17 @@ CKA_VALUE MULTILINE_OCTAL
- \212\060\372\215\345\232\153\025\001\116\147\252\332\142\126\076
- \204\010\146\322\304\066\175\247\076\020\374\210\340\324\200\345
- \000\275\252\363\116\006\243\172\152\371\142\162\343\011\117\353
- \233\016\001\043\361\237\273\174\334\334\154\021\227\045\262\362
- \264\143\024\322\006\052\147\214\203\365\316\352\007\330\232\152
- \036\354\344\012\273\052\114\353\011\140\071\316\312\142\330\056
- \156
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SwissSign Silver CA - G2"
- # Issuer: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH
- # Serial Number:4f:1b:d4:2f:54:bb:2f:4b
- # Subject: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH
- # Not Valid Before: Wed Oct 25 08:32:46 2006
- # Not Valid After : Sat Oct 25 08:32:46 2036
- # Fingerprint (MD5): E0:06:A1:C9:7D:CF:C9:FC:0D:C0:56:75:96:D8:62:13
-@@ -7250,16 +7296,17 @@ CKA_VALUE MULTILINE_OCTAL
- \254\257\031\240\163\022\055\374\302\101\272\201\221\332\026\132
- \061\267\371\264\161\200\022\110\231\162\163\132\131\123\301\143
- \122\063\355\247\311\322\071\002\160\372\340\261\102\146\051\252
- \233\121\355\060\124\042\024\137\331\253\035\301\344\224\360\370
- \365\053\367\352\312\170\106\326\270\221\375\246\015\053\032\024
- \001\076\200\360\102\240\225\007\136\155\315\314\113\244\105\215
- \253\022\350\263\336\132\345\240\174\350\017\042\035\132\351\131
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority"
- # Issuer: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US
- # Serial Number:18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1
- # Subject: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US
- # Not Valid Before: Mon Nov 27 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): 02:26:C3:01:5E:08:30:37:43:A9:D0:7D:CF:37:E6:BF
-@@ -7404,16 +7451,17 @@ CKA_VALUE MULTILINE_OCTAL
- \376\254\100\171\345\254\020\157\075\217\033\171\166\213\304\067
- \263\041\030\204\345\066\000\353\143\040\231\271\351\376\063\004
- \273\101\310\301\002\371\104\143\040\236\201\316\102\323\326\077
- \054\166\323\143\234\131\335\217\246\341\016\240\056\101\367\056
- \225\107\317\274\375\063\363\366\013\141\176\176\221\053\201\107
- \302\047\060\356\247\020\135\067\217\134\071\053\344\004\360\173
- \215\126\214\150
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA"
- # Issuer: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Serial Number:34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d
- # Subject: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Not Valid Before: Fri Nov 17 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): 8C:CA:DC:0B:22:CE:F5:BE:72:AC:41:1A:11:A8:D8:12
-@@ -7578,16 +7626,17 @@ CKA_VALUE MULTILINE_OCTAL
- \336\375\250\202\052\155\050\037\015\013\304\345\347\032\046\031
- \341\364\021\157\020\265\225\374\347\102\005\062\333\316\235\121
- \136\050\266\236\205\323\133\357\245\175\105\100\162\216\267\016
- \153\016\006\373\063\065\110\161\270\235\047\213\304\145\137\015
- \206\166\234\104\172\366\225\134\366\135\062\010\063\244\124\266
- \030\077\150\134\362\102\112\205\070\124\203\137\321\350\054\362
- \254\021\326\250\355\143\152
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G5"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Wed Nov 08 00:00:00 2006
- # Not Valid After : Wed Jul 16 23:59:59 2036
- # Fingerprint (MD5): CB:17:E4:31:67:3E:E2:09:FE:45:57:93:F3:0A:FA:1C
-@@ -7720,16 +7769,17 @@ CKA_VALUE MULTILINE_OCTAL
- \144\122\066\137\140\147\331\234\305\005\164\013\347\147\043\322
- \010\374\210\351\256\213\177\341\060\364\067\176\375\306\062\332
- \055\236\104\060\060\154\356\007\336\322\064\374\322\377\100\366
- \113\364\146\106\006\124\246\362\062\012\143\046\060\153\233\321
- \334\213\107\272\341\271\325\142\320\242\240\364\147\005\170\051
- \143\032\157\004\326\370\306\114\243\232\261\067\264\215\345\050
- \113\035\236\054\302\270\150\274\355\002\356\061
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SecureTrust CA"
- # Issuer: CN=SecureTrust CA,O=SecureTrust Corporation,C=US
- # Serial Number:0c:f0:8e:5c:08:16:a5:ad:42:7f:f0:eb:27:18:59:d0
- # Subject: CN=SecureTrust CA,O=SecureTrust Corporation,C=US
- # Not Valid Before: Tue Nov 07 19:31:18 2006
- # Not Valid After : Mon Dec 31 19:40:55 2029
- # Fingerprint (MD5): DC:32:C3:A7:6D:25:57:C7:68:09:9D:EA:2D:A9:A2:D1
-@@ -7854,16 +7904,17 @@ CKA_VALUE MULTILINE_OCTAL
- \103\265\113\055\024\237\371\334\046\015\277\246\107\164\006\330
- \210\321\072\051\060\204\316\322\071\200\142\033\250\307\127\111
- \274\152\125\121\147\025\112\276\065\007\344\325\165\230\067\171
- \060\024\333\051\235\154\305\151\314\107\125\242\060\367\314\134
- \177\302\303\230\034\153\116\026\200\353\172\170\145\105\242\000
- \032\257\014\015\125\144\064\110\270\222\271\361\264\120\051\362
- \117\043\037\332\154\254\037\104\341\335\043\170\121\133\307\026
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Secure Global CA"
- # Issuer: CN=Secure Global CA,O=SecureTrust Corporation,C=US
- # Serial Number:07:56:22:a4:e8:d4:8a:89:4d:f4:13:c8:f0:f8:ea:a5
- # Subject: CN=Secure Global CA,O=SecureTrust Corporation,C=US
- # Not Valid Before: Tue Nov 07 19:42:28 2006
- # Not Valid After : Mon Dec 31 19:52:06 2029
- # Fingerprint (MD5): CF:F4:27:0D:D4:ED:DC:65:16:49:6D:3D:DA:BF:6E:DE
-@@ -8003,16 +8054,17 @@ CKA_VALUE MULTILINE_OCTAL
- \314\225\122\223\360\160\045\131\234\040\147\304\356\371\213\127
- \141\364\222\166\175\077\204\215\125\267\350\345\254\325\361\365
- \031\126\246\132\373\220\034\257\223\353\345\034\324\147\227\135
- \004\016\276\013\203\246\027\203\271\060\022\240\305\063\025\005
- \271\015\373\307\005\166\343\330\112\215\374\064\027\243\306\041
- \050\276\060\105\061\036\307\170\276\130\141\070\254\073\342\001
- \145
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "COMODO Certification Authority"
- # Issuer: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:4e:81:2d:8a:82:65:e0:0b:02:ee:3e:35:02:46:e5:3d
- # Subject: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Fri Dec 01 00:00:00 2006
- # Not Valid After : Mon Dec 31 23:59:59 2029
- # Fingerprint (MD5): 5C:48:DC:F7:42:72:EC:56:94:6D:1C:CC:71:35:80:75
-@@ -8148,16 +8200,17 @@ CKA_VALUE MULTILINE_OCTAL
- \056\044\137\313\130\017\353\050\354\257\021\226\363\334\173\157
- \300\247\210\362\123\167\263\140\136\256\256\050\332\065\054\157
- \064\105\323\046\341\336\354\133\117\047\153\026\174\275\104\004
- \030\202\263\211\171\027\020\161\075\172\242\026\116\365\001\315
- \244\154\145\150\241\111\166\134\103\311\330\274\066\147\154\245
- \224\265\324\314\271\275\152\065\126\041\336\330\303\353\373\313
- \244\140\114\260\125\240\240\173\127\262
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Network Solutions Certificate Authority"
- # Issuer: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
- # Serial Number:57:cb:33:6f:c2:5c:16:e6:47:16:17:e3:90:31:68:e0
- # Subject: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
- # Not Valid Before: Fri Dec 01 00:00:00 2006
- # Not Valid After : Mon Dec 31 23:59:59 2029
- # Fingerprint (MD5): D3:F3:A6:16:C0:FA:6B:1D:59:B1:2D:96:4D:0E:11:2E
-@@ -8308,16 +8361,17 @@ CKA_VALUE MULTILINE_OCTAL
- \332\245\223\127\216\076\155\065\046\010\131\325\347\104\327\166
- \040\143\347\254\023\147\303\155\261\160\106\174\325\226\021\075
- \211\157\135\250\241\353\215\012\332\303\035\063\154\243\352\147
- \031\232\231\177\113\075\203\121\052\035\312\057\206\014\242\176
- \020\055\053\324\026\225\013\007\252\056\024\222\111\267\051\157
- \330\155\061\175\365\374\241\020\007\207\316\057\131\334\076\130
- \333
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "WellsSecure Public Root Certificate Authority"
- # Issuer: CN=WellsSecure Public Root Certificate Authority,OU=Wells Fargo Bank NA,O=Wells Fargo WellsSecure,C=US
- # Serial Number: 1 (0x1)
- # Subject: CN=WellsSecure Public Root Certificate Authority,OU=Wells Fargo Bank NA,O=Wells Fargo WellsSecure,C=US
- # Not Valid Before: Thu Dec 13 17:07:54 2007
- # Not Valid After : Wed Dec 14 00:07:54 2022
- # Fingerprint (MD5): 15:AC:A5:C2:92:2D:79:BC:E8:7F:CB:67:ED:02:CF:36
-@@ -8434,16 +8488,17 @@ CKA_VALUE MULTILINE_OCTAL
- \004\003\003\003\150\000\060\145\002\061\000\357\003\133\172\254
- \267\170\012\162\267\210\337\377\265\106\024\011\012\372\240\346
- \175\010\306\032\207\275\030\250\163\275\046\312\140\014\235\316
- \231\237\317\134\017\060\341\276\024\061\352\002\060\024\364\223
- \074\111\247\063\172\220\106\107\263\143\175\023\233\116\267\157
- \030\067\200\123\376\335\040\340\065\232\066\321\307\001\271\346
- \334\335\363\377\035\054\072\026\127\331\222\071\326
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "COMODO ECC Certification Authority"
- # Issuer: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:1f:47:af:aa:62:00:70:50:54:4c:01:9e:9b:63:99:2a
- # Subject: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Thu Mar 06 00:00:00 2008
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 7C:62:FF:74:9D:31:53:5E:68:4A:D5:78:AA:1E:BF:23
-@@ -8741,16 +8796,17 @@ CKA_VALUE MULTILINE_OCTAL
- \250\215\376\206\076\007\026\222\341\173\347\035\354\063\166\176
- \102\056\112\205\371\221\211\150\204\003\201\245\233\232\276\343
- \067\305\124\253\126\073\030\055\101\244\014\370\102\333\231\240
- \340\162\157\273\135\341\026\117\123\012\144\371\116\364\277\116
- \124\275\170\154\210\352\277\234\023\044\302\160\151\242\177\017
- \310\074\255\010\311\260\230\100\243\052\347\210\203\355\167\217
- \164
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication EV RootCA1"
- # Issuer: OU=Security Communication EV RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication EV RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Not Valid Before: Wed Jun 06 02:12:32 2007
- # Not Valid After : Sat Jun 06 02:12:32 2037
- # Fingerprint (MD5): 22:2D:A6:01:EA:7C:0A:F7:F0:6C:56:43:3F:77:76:D3
-@@ -8888,16 +8944,17 @@ CKA_VALUE MULTILINE_OCTAL
- \204\325\120\003\266\342\204\243\246\066\252\021\072\001\341\030
- \113\326\104\150\263\075\371\123\164\204\263\106\221\106\226\000
- \267\200\054\266\341\343\020\342\333\242\347\050\217\001\226\142
- \026\076\000\343\034\245\066\201\030\242\114\122\166\300\021\243
- \156\346\035\272\343\132\276\066\123\305\076\165\217\206\151\051
- \130\123\265\234\273\157\237\134\305\030\354\335\057\341\230\311
- \374\276\337\012\015
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "OISTE WISeKey Global Root GA CA"
- # Issuer: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH
- # Serial Number:41:3d:72:c7:f4:6b:1f:81:43:7d:f1:d2:28:54:df:9a
- # Subject: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH
- # Not Valid Before: Sun Dec 11 16:03:44 2005
- # Not Valid After : Fri Dec 11 16:09:51 2037
- # Fingerprint (MD5): BC:6C:51:33:A7:E9:D3:66:63:54:15:72:1B:21:92:93
-@@ -9095,16 +9152,17 @@ CKA_VALUE MULTILINE_OCTAL
- \254\106\155\114\364\062\207\264\040\004\340\154\170\260\167\321
- \205\106\113\246\022\267\165\350\112\311\126\154\327\222\253\235
- \365\111\070\322\117\123\343\125\220\021\333\230\226\306\111\362
- \076\364\237\033\340\367\210\334\045\142\231\104\330\163\277\077
- \060\363\014\067\076\324\302\050\200\163\261\001\267\235\132\226
- \024\001\113\251\021\235\051\152\056\320\135\201\300\317\262\040
- \103\307\003\340\067\116\135\012\334\131\040\045
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Microsec e-Szigno Root CA"
- # Issuer: CN=Microsec e-Szigno Root CA,OU=e-Szigno CA,O=Microsec Ltd.,L=Budapest,C=HU
- # Serial Number:00:cc:b8:e7:bf:4e:29:1a:fd:a2:dc:66:a5:1c:2c:0f:11
- # Subject: CN=Microsec e-Szigno Root CA,OU=e-Szigno CA,O=Microsec Ltd.,L=Budapest,C=HU
- # Not Valid Before: Wed Apr 06 12:28:44 2005
- # Not Valid After : Thu Apr 06 12:28:44 2017
- # Fingerprint (MD5): F0:96:B6:2F:C5:10:D5:67:8E:83:25:32:E8:5E:2E:E5
-@@ -9228,16 +9286,17 @@ CKA_VALUE MULTILINE_OCTAL
- \013\221\003\165\054\154\162\265\141\225\232\015\213\271\015\347
- \365\337\124\315\336\346\330\326\011\010\227\143\345\301\056\260
- \267\104\046\300\046\300\257\125\060\236\073\325\066\052\031\004
- \364\134\036\377\317\054\267\377\320\375\207\100\021\325\021\043
- \273\110\300\041\251\244\050\055\375\025\370\260\116\053\364\060
- \133\041\374\021\221\064\276\101\357\173\235\227\165\377\227\225
- \300\226\130\057\352\273\106\327\273\344\331\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certigna"
- # Issuer: CN=Certigna,O=Dhimyotis,C=FR
- # Serial Number:00:fe:dc:e3:01:0f:c9:48:ff
- # Subject: CN=Certigna,O=Dhimyotis,C=FR
- # Not Valid Before: Fri Jun 29 15:13:05 2007
- # Not Valid After : Tue Jun 29 15:13:05 2027
- # Fingerprint (MD5): AB:57:A6:5B:7D:42:82:19:B5:D8:58:26:28:5E:FD:FF
-@@ -9409,16 +9468,17 @@ CKA_VALUE MULTILINE_OCTAL
- \104\276\141\106\241\204\075\010\047\114\201\040\167\211\010\352
- \147\100\136\154\010\121\137\064\132\214\226\150\315\327\367\211
- \302\034\323\062\000\257\122\313\323\140\133\052\072\107\176\153
- \060\063\241\142\051\177\112\271\341\055\347\024\043\016\016\030
- \107\341\171\374\025\125\320\261\374\045\161\143\165\063\034\043
- \053\257\134\331\355\107\167\140\016\073\017\036\322\300\334\144
- \005\211\374\170\326\134\054\046\103\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AC Raiz Certicamara S.A."
- # Issuer: CN=AC Ra..z Certic..mara S.A.,O=Sociedad Cameral de Certificaci..n Digital - Certic..mara S.A.,C=CO
- # Serial Number:07:7e:52:93:7b:e0:15:e3:57:f0:69:8c:cb:ec:0c
- # Subject: CN=AC Ra..z Certic..mara S.A.,O=Sociedad Cameral de Certificaci..n Digital - Certic..mara S.A.,C=CO
- # Not Valid Before: Mon Nov 27 20:46:29 2006
- # Not Valid After : Tue Apr 02 21:42:02 2030
- # Fingerprint (MD5): 93:2A:3E:F6:FD:23:69:0D:71:20:D4:2B:47:99:2B:A6
-@@ -9566,16 +9626,17 @@ CKA_VALUE MULTILINE_OCTAL
- \334\071\361\305\162\243\021\003\375\073\102\122\051\333\350\001
- \367\233\136\214\326\215\206\116\031\372\274\034\276\305\041\245
- \207\236\170\056\066\333\011\161\243\162\064\370\154\343\006\011
- \362\136\126\245\323\335\230\372\324\346\006\364\360\266\040\143
- \113\352\051\275\252\202\146\036\373\201\252\247\067\255\023\030
- \346\222\303\201\301\063\273\210\036\241\347\342\264\275\061\154
- \016\121\075\157\373\226\126\200\342\066\027\321\334\344
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TC TrustCenter Class 3 CA II"
- # Issuer: CN=TC TrustCenter Class 3 CA II,OU=TC TrustCenter Class 3 CA,O=TC TrustCenter GmbH,C=DE
- # Serial Number:4a:47:00:01:00:02:e5:a0:5d:d6:3f:00:51:bf
- # Subject: CN=TC TrustCenter Class 3 CA II,OU=TC TrustCenter Class 3 CA,O=TC TrustCenter GmbH,C=DE
- # Not Valid Before: Thu Jan 12 14:41:57 2006
- # Not Valid After : Wed Dec 31 22:59:59 2025
- # Fingerprint (MD5): 56:5F:AA:80:61:12:17:F6:67:21:E6:2B:6D:61:56:8E
-@@ -9706,16 +9767,17 @@ CKA_VALUE MULTILINE_OCTAL
- \332\347\212\067\041\276\131\143\340\362\205\210\061\123\324\124
- \024\205\160\171\364\056\006\167\047\165\057\037\270\212\371\376
- \305\272\330\066\344\203\354\347\145\267\277\143\132\363\106\257
- \201\224\067\324\101\214\326\043\326\036\317\365\150\033\104\143
- \242\132\272\247\065\131\241\345\160\005\233\016\043\127\231\224
- \012\155\272\071\143\050\206\222\363\030\204\330\373\321\317\005
- \126\144\127
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Deutsche Telekom Root CA 2"
- # Issuer: CN=Deutsche Telekom Root CA 2,OU=T-TeleSec Trust Center,O=Deutsche Telekom AG,C=DE
- # Serial Number: 38 (0x26)
- # Subject: CN=Deutsche Telekom Root CA 2,OU=T-TeleSec Trust Center,O=Deutsche Telekom AG,C=DE
- # Not Valid Before: Fri Jul 09 12:11:00 1999
- # Not Valid After : Tue Jul 09 23:59:00 2019
- # Fingerprint (MD5): 74:01:4A:91:B1:08:C4:58:CE:47:CD:F0:DD:11:53:08
-@@ -9838,16 +9900,17 @@ CKA_VALUE MULTILINE_OCTAL
- \205\272\115\355\050\062\353\371\141\112\344\304\066\036\031\334
- \157\204\021\037\225\365\203\050\030\250\063\222\103\047\335\135
- \023\004\105\117\207\325\106\315\075\250\272\360\363\270\126\044
- \105\353\067\307\341\166\117\162\071\030\337\176\164\162\307\163
- \055\071\352\140\346\255\021\242\126\207\173\303\150\232\376\370
- \214\160\250\337\145\062\364\244\100\214\241\302\104\003\016\224
- \000\147\240\161\000\202\110
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ComSign CA"
- # Issuer: C=IL,O=ComSign,CN=ComSign CA
- # Serial Number:14:13:96:83:14:55:8c:ea:7b:63:e5:fc:34:87:77:44
- # Subject: C=IL,O=ComSign,CN=ComSign CA
- # Not Valid Before: Wed Mar 24 11:32:18 2004
- # Not Valid After : Mon Mar 19 15:02:18 2029
- # Fingerprint (MD5): CD:F4:39:F3:B5:18:50:D7:3E:A4:C5:91:A0:3E:21:4B
-@@ -9968,16 +10031,17 @@ CKA_VALUE MULTILINE_OCTAL
- \275\224\000\231\277\021\245\334\340\171\305\026\013\175\002\141
- \035\352\205\371\002\025\117\347\132\211\116\024\157\343\067\113
- \205\365\301\074\141\340\375\005\101\262\222\177\303\035\240\320
- \256\122\144\140\153\030\306\046\234\330\365\144\344\066\032\142
- \237\212\017\076\377\155\116\031\126\116\040\221\154\237\064\063
- \072\064\127\120\072\157\201\136\006\306\365\076\174\116\216\053
- \316\145\006\056\135\322\052\123\164\136\323\156\047\236\217
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ComSign Secured CA"
- # Issuer: C=IL,O=ComSign,CN=ComSign Secured CA
- # Serial Number:00:c7:28:47:09:b3:b8:6c:45:8c:1d:fa:24:f5:36:4e:e9
- # Subject: C=IL,O=ComSign,CN=ComSign Secured CA
- # Not Valid Before: Wed Mar 24 11:37:20 2004
- # Not Valid After : Fri Mar 16 15:04:56 2029
- # Fingerprint (MD5): 40:01:25:06:8D:21:43:6A:0E:43:00:9C:E7:43:F3:D5
-@@ -10097,16 +10161,17 @@ CKA_VALUE MULTILINE_OCTAL
- \017\124\335\203\273\237\321\217\247\123\163\303\313\377\060\354
- \174\004\270\330\104\037\223\137\161\011\042\267\156\076\352\034
- \003\116\235\032\040\141\373\201\067\354\136\374\012\105\253\327
- \347\027\125\320\240\352\140\233\246\366\343\214\133\051\302\006
- \140\024\235\055\227\114\251\223\025\235\141\304\001\137\110\326
- \130\275\126\061\022\116\021\310\041\340\263\021\221\145\333\264
- \246\210\070\316\125
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Cybertrust Global Root"
- # Issuer: CN=Cybertrust Global Root,O="Cybertrust, Inc"
- # Serial Number:04:00:00:00:00:01:0f:85:aa:2d:48
- # Subject: CN=Cybertrust Global Root,O="Cybertrust, Inc"
- # Not Valid Before: Fri Dec 15 08:00:00 2006
- # Not Valid After : Wed Dec 15 08:00:00 2021
- # Fingerprint (MD5): 72:E4:4A:87:E3:69:40:80:77:EA:BC:E3:F4:FF:F0:E1
-@@ -10263,16 +10328,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\343\061\325\307\354\350\362\260\376\222\036\026\012\032\374
- \331\363\370\047\266\311\276\035\264\154\144\220\177\364\344\304
- \133\327\067\256\102\016\335\244\032\157\174\210\124\305\026\156
- \341\172\150\056\370\072\277\015\244\074\211\073\170\247\116\143
- \203\004\041\010\147\215\362\202\111\320\133\375\261\315\017\203
- \204\324\076\040\205\367\112\075\053\234\375\052\012\011\115\352
- \201\370\021\234
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ePKI Root Certification Authority"
- # Issuer: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW
- # Serial Number:15:c8:bd:65:47:5c:af:b8:97:00:5e:e4:06:d2:bc:9d
- # Subject: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW
- # Not Valid Before: Mon Dec 20 02:31:27 2004
- # Not Valid After : Wed Dec 20 02:31:27 2034
- # Fingerprint (MD5): 1B:2E:00:CA:26:06:90:3D:AD:FE:6F:15:68:D3:6B:B3
-@@ -10447,16 +10513,17 @@ CKA_VALUE MULTILINE_OCTAL
- \200\262\136\014\112\023\236\040\330\142\100\253\220\352\144\112
- \057\254\015\001\022\171\105\250\057\207\031\150\310\342\205\307
- \060\262\165\371\070\077\262\300\223\264\153\342\003\104\316\147
- \240\337\211\326\255\214\166\243\023\303\224\141\053\153\331\154
- \301\007\012\042\007\205\154\205\044\106\251\276\077\213\170\204
- \202\176\044\014\235\375\201\067\343\045\250\355\066\116\225\054
- \311\234\220\332\354\251\102\074\255\266\002
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TUBITAK UEKAE Kok Sertifika Hizmet Saglayicisi - Surum 3"
- # Issuer: CN=T..B..TAK UEKAE K..k Sertifika Hizmet Sa..lay..c..s.. - S..r..m ...,OU=Kamu Sertifikasyon Merkezi,OU=Ulusal Elektronik ve Kriptoloji Ara..t..rma Enstit..s.. - UEKAE,O=T..rkiye Bilimsel ve Teknolojik Ara..t..rma Kurumu - T..B..TAK,L=Gebze - Kocaeli,C=TR
- # Serial Number: 17 (0x11)
- # Subject: CN=T..B..TAK UEKAE K..k Sertifika Hizmet Sa..lay..c..s.. - S..r..m ...,OU=Kamu Sertifikasyon Merkezi,OU=Ulusal Elektronik ve Kriptoloji Ara..t..rma Enstit..s.. - UEKAE,O=T..rkiye Bilimsel ve Teknolojik Ara..t..rma Kurumu - T..B..TAK,L=Gebze - Kocaeli,C=TR
- # Not Valid Before: Fri Aug 24 11:37:07 2007
- # Not Valid After : Mon Aug 21 11:37:07 2017
- # Fingerprint (MD5): ED:41:F5:8C:50:C5:2B:9C:73:E6:EE:6C:EB:C2:A8:26
-@@ -10583,16 +10650,17 @@ CKA_VALUE MULTILINE_OCTAL
- \045\335\141\047\043\034\265\061\007\004\066\264\032\220\275\240
- \164\161\120\211\155\274\024\343\017\206\256\361\253\076\307\240
- \011\314\243\110\321\340\333\144\347\222\265\317\257\162\103\160
- \213\371\303\204\074\023\252\176\222\233\127\123\223\372\160\302
- \221\016\061\371\233\147\135\351\226\070\136\137\263\163\116\210
- \025\147\336\236\166\020\142\040\276\125\151\225\103\000\071\115
- \366\356\260\132\116\111\104\124\130\137\102\203
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "certSIGN ROOT CA"
- # Issuer: OU=certSIGN ROOT CA,O=certSIGN,C=RO
- # Serial Number:20:06:05:16:70:02
- # Subject: OU=certSIGN ROOT CA,O=certSIGN,C=RO
- # Not Valid Before: Tue Jul 04 17:20:04 2006
- # Not Valid After : Fri Jul 04 17:20:04 2031
- # Fingerprint (MD5): 18:98:C0:D6:E9:3A:FC:F9:B0:F5:0C:F7:4B:01:44:17
-@@ -10706,16 +10774,17 @@ CKA_VALUE MULTILINE_OCTAL
- \125\171\373\116\206\231\270\224\332\206\070\152\223\243\347\313
- \156\345\337\352\041\125\211\234\175\175\177\230\365\000\211\356
- \343\204\300\134\226\265\305\106\352\106\340\205\125\266\033\311
- \022\326\301\315\315\200\363\002\001\074\310\151\313\105\110\143
- \330\224\320\354\205\016\073\116\021\145\364\202\214\246\075\256
- \056\042\224\011\310\134\352\074\201\135\026\052\003\227\026\125
- \011\333\212\101\202\236\146\233\021
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "CNNIC ROOT"
- # Issuer: CN=CNNIC ROOT,O=CNNIC,C=CN
- # Serial Number: 1228079105 (0x49330001)
- # Subject: CN=CNNIC ROOT,O=CNNIC,C=CN
- # Not Valid Before: Mon Apr 16 07:09:14 2007
- # Not Valid After : Fri Apr 16 07:09:14 2027
- # Fingerprint (MD5): 21:BC:82:AB:49:C4:13:3B:4B:B2:2B:5C:6B:90:9C:19
-@@ -10836,16 +10905,17 @@ CKA_VALUE MULTILINE_OCTAL
- \246\176\264\222\027\374\043\224\201\275\156\247\305\214\302\353
- \021\105\333\370\101\311\226\166\352\160\137\171\022\153\344\243
- \007\132\005\357\047\111\317\041\237\212\114\011\160\146\251\046
- \301\053\021\116\063\322\016\374\326\154\322\016\062\144\150\377
- \255\005\170\137\003\035\250\343\220\254\044\340\017\100\247\113
- \256\213\050\267\202\312\030\007\346\267\133\164\351\040\031\177
- \262\033\211\124
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ApplicationCA - Japanese Government"
- # Issuer: OU=ApplicationCA,O=Japanese Government,C=JP
- # Serial Number: 49 (0x31)
- # Subject: OU=ApplicationCA,O=Japanese Government,C=JP
- # Not Valid Before: Wed Dec 12 15:00:00 2007
- # Not Valid After : Tue Dec 12 15:00:00 2017
- # Fingerprint (MD5): 7E:23:4E:5B:A7:A5:B4:25:E9:00:07:74:11:62:AE:D6
-@@ -10984,16 +11054,17 @@ CKA_VALUE MULTILINE_OCTAL
- \207\174\015\015\317\056\010\134\112\100\015\076\354\201\141\346
- \044\333\312\340\016\055\007\262\076\126\334\215\365\101\205\007
- \110\233\014\013\313\111\077\175\354\267\375\313\215\147\211\032
- \253\355\273\036\243\000\010\010\027\052\202\134\061\135\106\212
- \055\017\206\233\164\331\105\373\324\100\261\172\252\150\055\206
- \262\231\042\341\301\053\307\234\370\363\137\250\202\022\353\031
- \021\055
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority - G3"
- # Issuer: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Serial Number:15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
- # Subject: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): B5:E8:34:36:C9:10:44:58:48:70:6D:2E:83:D4:B8:05
-@@ -11112,16 +11183,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\335\370\340\127\107\133\247
- \346\012\303\275\365\200\212\227\065\015\033\211\074\124\206\167
- \050\312\241\364\171\336\265\346\070\260\360\145\160\214\177\002
- \124\302\277\377\330\241\076\331\317\002\061\000\304\215\224\374
- \334\123\322\334\235\170\026\037\025\063\043\123\122\343\132\061
- \135\235\312\256\275\023\051\104\015\047\133\250\347\150\234\022
- \367\130\077\056\162\002\127\243\217\241\024\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA - G2"
- # Issuer: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US
- # Serial Number:35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56
- # Subject: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 74:9D:EA:60:24:C4:FD:22:53:3E:CC:3A:72:D9:29:4F
-@@ -11271,16 +11343,17 @@ CKA_VALUE MULTILINE_OCTAL
- \051\101\221\042\074\151\247\273\002\362\266\134\047\003\211\364
- \006\352\233\344\162\202\343\241\011\301\351\000\031\323\076\324
- \160\153\272\161\246\252\130\256\364\273\351\154\266\357\207\314
- \233\273\377\071\346\126\141\323\012\247\304\134\114\140\173\005
- \167\046\172\277\330\007\122\054\142\367\160\143\331\071\274\157
- \034\302\171\334\166\051\257\316\305\054\144\004\136\210\066\156
- \061\324\100\032\142\064\066\077\065\001\256\254\143\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "thawte Primary Root CA - G3"
- # Issuer: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Serial Number:60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb
- # Subject: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): FB:1B:5D:43:8A:94:CD:44:C6:76:F2:43:4B:47:E7:31
-@@ -11406,16 +11479,17 @@ CKA_VALUE MULTILINE_OCTAL
- \144\226\131\246\350\011\336\213\272\372\132\210\210\360\037\221
- \323\106\250\362\112\114\002\143\373\154\137\070\333\056\101\223
- \251\016\346\235\334\061\034\262\240\247\030\034\171\341\307\066
- \002\060\072\126\257\232\164\154\366\373\203\340\063\323\010\137
- \241\234\302\133\237\106\326\266\313\221\006\143\242\006\347\063
- \254\076\250\201\022\320\313\272\320\222\013\266\236\226\252\004
- \017\212
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GeoTrust Primary Certification Authority - G2"
- # Issuer: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Serial Number:3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b
- # Subject: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 01:5E:D8:6B:BD:6F:3D:8E:A1:31:F8:12:E0:98:73:6A
-@@ -11575,16 +11649,17 @@ CKA_VALUE MULTILINE_OCTAL
- \007\021\360\325\333\335\345\214\360\325\062\260\203\346\127\342
- \217\277\276\241\252\277\075\035\265\324\070\352\327\260\134\072
- \117\152\077\217\300\146\154\143\252\351\331\244\026\364\201\321
- \225\024\016\175\315\225\064\331\322\217\160\163\201\173\234\176
- \275\230\141\330\105\207\230\220\305\353\206\060\306\065\277\360
- \377\303\125\210\203\113\357\005\222\006\161\362\270\230\223\267
- \354\315\202\141\361\070\346\117\227\230\052\132\215
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Universal Root Certification Authority"
- # Issuer: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:40:1a:c4:64:21:b3:13:21:03:0e:bb:e4:12:1a:c5:1d
- # Subject: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Wed Apr 02 00:00:00 2008
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (MD5): 8E:AD:B5:01:AA:4D:81:E4:8C:1D:D1:E1:14:00:95:19
-@@ -11729,16 +11804,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\060\145\002\060\146\041\014\030\046\140\132\070\173\126\102
- \340\247\374\066\204\121\221\040\054\166\115\103\075\304\035\204
- \043\320\254\326\174\065\006\316\315\151\275\220\015\333\154\110
- \102\035\016\252\102\002\061\000\234\075\110\071\043\071\130\032
- \025\022\131\152\236\357\325\131\262\035\122\054\231\161\315\307
- \051\337\033\052\141\173\161\321\336\363\300\345\015\072\112\252
- \055\247\330\206\052\335\056\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G4"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:2f:80:fe:23:8c:0e:22:0f:48:67:12:28:91:87:ac:b3
- # Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Mon Nov 05 00:00:00 2007
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (MD5): 3A:52:E1:E7:FD:6F:3A:E3:6F:F3:6F:99:1B:F9:22:41
-@@ -11888,16 +11964,17 @@ CKA_VALUE MULTILINE_OCTAL
- \276\245\025\143\241\324\225\207\361\236\271\363\211\363\075\205
- \270\270\333\276\265\271\051\371\332\067\005\000\111\224\003\204
- \104\347\277\103\061\317\165\213\045\321\364\246\144\365\222\366
- \253\005\353\075\351\245\013\066\142\332\314\006\137\066\213\266
- \136\061\270\052\373\136\366\161\337\104\046\236\304\346\015\221
- \264\056\165\225\200\121\152\113\060\246\260\142\241\223\361\233
- \330\316\304\143\165\077\131\107\261
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "NetLock Arany (Class Gold) Ftanstvny"
- # Issuer: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
- # Serial Number:49:41:2c:e4:00:10
- # Subject: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
- # Not Valid Before: Thu Dec 11 15:08:21 2008
- # Not Valid After : Wed Dec 06 15:08:21 2028
- # Fingerprint (MD5): C5:A1:B7:FF:73:DD:D6:D7:34:32:18:DF:FC:3C:AD:88
-@@ -12061,16 +12138,17 @@ CKA_VALUE MULTILINE_OCTAL
- \120\346\105\020\107\170\266\116\322\145\311\303\067\337\341\102
- \143\260\127\067\105\055\173\212\234\277\005\352\145\125\063\367
- \071\020\305\050\052\041\172\033\212\304\044\371\077\025\310\232
- \025\040\365\125\142\226\355\155\223\120\274\344\252\170\255\331
- \313\012\145\207\246\146\301\304\201\243\167\072\130\036\013\356
- \203\213\235\036\322\122\244\314\035\157\260\230\155\224\061\265
- \370\161\012\334\271\374\175\062\140\346\353\257\212\001
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Staat der Nederlanden Root CA - G2"
- # Issuer: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
- # Serial Number: 10000012 (0x98968c)
- # Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Wed Mar 26 11:18:17 2008
- # Not Valid After : Wed Mar 25 11:03:10 2020
- # Fingerprint (MD5): 7C:A5:0F:F8:5B:9A:7D:6D:30:AE:54:5A:E3:42:A2:8A
-@@ -12186,16 +12264,17 @@ CKA_VALUE MULTILINE_OCTAL
- \022\024\344\141\215\254\020\220\236\204\120\273\360\226\157\105
- \237\212\363\312\154\117\372\021\072\025\025\106\303\315\037\203
- \133\055\101\022\355\120\147\101\023\075\041\253\224\212\252\116
- \174\301\261\373\247\326\265\047\057\227\253\156\340\035\342\321
- \034\054\037\104\342\374\276\221\241\234\373\326\051\123\163\206
- \237\123\330\103\016\135\326\143\202\161\035\200\164\312\366\342
- \002\153\331\132
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Hongkong Post Root CA 1"
- # Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK
- # Serial Number: 1000 (0x3e8)
- # Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK
- # Not Valid Before: Thu May 15 05:13:14 2003
- # Not Valid After : Mon May 15 04:52:29 2023
- # Fingerprint (MD5): A8:0D:6F:39:78:B9:43:6D:77:42:6D:98:5A:CC:23:CA
-@@ -12316,16 +12395,17 @@ CKA_VALUE MULTILINE_OCTAL
- \143\173\132\151\226\002\041\250\275\122\131\351\175\065\313\310
- \122\312\177\201\376\331\153\323\367\021\355\045\337\370\347\371
- \244\372\162\227\204\123\015\245\320\062\030\121\166\131\024\154
- \017\353\354\137\200\214\165\103\203\303\205\230\377\114\236\055
- \015\344\167\203\223\116\265\226\007\213\050\023\233\214\031\215
- \101\047\111\100\356\336\346\043\104\071\334\241\042\326\272\003
- \362
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "SecureSign RootCA11"
- # Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP
- # Serial Number: 1 (0x1)
- # Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP
- # Not Valid Before: Wed Apr 08 04:56:47 2009
- # Not Valid After : Sun Apr 08 04:56:47 2029
- # Fingerprint (MD5): B7:52:74:E2:92:B4:80:93:F2:75:E4:CC:D7:F2:EA:26
-@@ -12481,16 +12561,17 @@ CKA_VALUE MULTILINE_OCTAL
- \307\202\066\076\247\070\143\251\060\054\027\020\140\222\237\125
- \207\022\131\020\302\017\147\151\021\314\116\036\176\112\232\255
- \257\100\250\165\254\126\220\164\270\240\234\245\171\157\334\351
- \032\310\151\005\351\272\372\003\263\174\344\340\116\302\316\235
- \350\266\106\015\156\176\127\072\147\224\302\313\037\234\167\112
- \147\116\151\206\103\223\070\373\266\333\117\203\221\324\140\176
- \113\076\053\070\007\125\230\136\244
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "ACEDICOM Root"
- # Issuer: C=ES,O=EDICOM,OU=PKI,CN=ACEDICOM Root
- # Serial Number:61:8d:c7:86:3b:01:82:05
- # Subject: C=ES,O=EDICOM,OU=PKI,CN=ACEDICOM Root
- # Not Valid Before: Fri Apr 18 16:24:22 2008
- # Not Valid After : Thu Apr 13 16:24:22 2028
- # Fingerprint (MD5): 42:81:A0:E2:1C:E3:55:10:DE:55:89:42:65:96:22:E6
-@@ -12627,16 +12708,17 @@ CKA_VALUE MULTILINE_OCTAL
- \255\234\032\303\004\074\355\002\141\326\036\006\363\137\072\207
- \362\053\361\105\207\345\075\254\321\307\127\204\275\153\256\334
- \330\371\266\033\142\160\013\075\066\311\102\362\062\327\172\141
- \346\322\333\075\317\310\251\311\233\334\333\130\104\327\157\070
- \257\177\170\323\243\255\032\165\272\034\301\066\174\217\036\155
- \034\303\165\106\256\065\005\246\366\134\075\041\356\126\360\311
- \202\042\055\172\124\253\160\303\175\042\145\202\160\226
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Microsec e-Szigno Root CA 2009"
- # Issuer: E=info(a)e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU
- # Serial Number:00:c2:7e:43:04:4e:47:3f:19
- # Subject: E=info(a)e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU
- # Not Valid Before: Tue Jun 16 11:30:18 2009
- # Not Valid After : Sun Dec 30 11:30:18 2029
- # Fingerprint (MD5): F8:49:F4:03:BC:44:2D:83:BE:48:69:7D:29:64:FC:B1
-@@ -12758,16 +12840,17 @@ CKA_VALUE MULTILINE_OCTAL
- \231\302\037\172\016\343\055\010\255\012\034\054\377\074\253\125
- \016\017\221\176\066\353\303\127\111\276\341\056\055\174\140\213
- \303\101\121\023\043\235\316\367\062\153\224\001\250\231\347\054
- \063\037\072\073\045\322\206\100\316\073\054\206\170\311\141\057
- \024\272\356\333\125\157\337\204\356\005\011\115\275\050\330\162
- \316\323\142\120\145\036\353\222\227\203\061\331\263\265\312\107
- \130\077\137
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "GlobalSign Root CA - R3"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
- # Serial Number:04:00:00:00:00:01:21:58:53:08:a2
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
- # Not Valid Before: Wed Mar 18 10:00:00 2009
- # Not Valid After : Sun Mar 18 10:00:00 2029
- # Fingerprint (MD5): C5:DF:B8:49:CA:05:13:55:EE:2D:BA:1A:C3:3E:B0:28
-@@ -12930,16 +13013,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\153\044\254\227\130\104\107\255\131\030\361\041\145\160\336
- \316\064\140\250\100\361\363\074\244\303\050\043\214\376\047\063
- \103\100\240\027\074\353\352\073\260\162\246\243\271\112\113\136
- \026\110\364\262\274\310\214\222\305\235\237\254\162\066\274\064
- \200\064\153\251\213\222\300\270\027\355\354\166\123\365\044\001
- \214\263\042\350\113\174\125\306\235\372\243\024\273\145\205\156
- \156\117\022\176\012\074\235\225
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
- # Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
- # Serial Number:53:ec:3b:ee:fb:b2:48:5f
- # Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
- # Not Valid Before: Wed May 20 08:38:15 2009
- # Not Valid After : Tue Dec 31 08:38:15 2030
- # Fingerprint (MD5): 73:3A:74:7A:EC:BB:A3:96:A6:C2:E4:E2:C8:9B:C0:C3
-@@ -13098,16 +13182,17 @@ CKA_VALUE MULTILINE_OCTAL
- \150\103\110\262\333\353\163\044\347\221\177\124\244\266\200\076
- \235\243\074\114\162\302\127\304\240\324\314\070\047\316\325\006
- \236\242\110\331\351\237\316\202\160\066\223\232\073\337\226\041
- \343\131\267\014\332\221\067\360\375\131\132\263\231\310\151\154
- \103\046\001\065\143\140\125\211\003\072\165\330\272\112\331\124
- \377\356\336\200\330\055\321\070\325\136\055\013\230\175\076\154
- \333\374\046\210\307
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Izenpe.com"
- # Issuer: CN=Izenpe.com,O=IZENPE S.A.,C=ES
- # Serial Number:00:b0:b7:5a:16:48:5f:bf:e1:cb:f5:8b:d7:19:e6:7d
- # Subject: CN=Izenpe.com,O=IZENPE S.A.,C=ES
- # Not Valid Before: Thu Dec 13 13:08:28 2007
- # Not Valid After : Sun Dec 13 08:27:25 2037
- # Fingerprint (MD5): A6:B0:CD:85:80:DA:5C:50:34:A3:39:90:2F:55:67:73
-@@ -13302,16 +13387,17 @@ CKA_VALUE MULTILINE_OCTAL
- \176\030\230\265\105\073\366\171\264\350\367\032\173\006\203\373
- \320\213\332\273\307\275\030\253\010\157\074\200\153\100\077\031
- \031\272\145\212\346\276\325\134\323\066\327\357\100\122\044\140
- \070\147\004\061\354\217\363\202\306\336\271\125\363\073\061\221
- \132\334\265\010\025\255\166\045\012\015\173\056\207\342\014\246
- \006\274\046\020\155\067\235\354\335\170\214\174\200\305\360\331
- \167\110\320
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Chambers of Commerce Root - 2008"
- # Issuer: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Serial Number:00:a3:da:42:7e:a4:b1:ae:da
- # Subject: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Not Valid Before: Fri Aug 01 12:29:50 2008
- # Not Valid After : Sat Jul 31 12:29:50 2038
- # Fingerprint (MD5): 5E:80:9E:84:5A:0E:65:0B:17:02:F3:55:18:2A:3E:D7
-@@ -13510,16 +13596,17 @@ CKA_VALUE MULTILINE_OCTAL
- \223\256\231\240\357\045\152\163\230\211\133\072\056\023\210\036
- \277\300\222\224\064\033\343\047\267\213\036\157\102\377\347\351
- \067\233\120\035\055\242\371\002\356\313\130\130\072\161\274\150
- \343\252\301\257\034\050\037\242\334\043\145\077\201\352\256\231
- \323\330\060\317\023\015\117\025\311\204\274\247\110\055\370\060
- \043\167\330\106\113\171\155\366\214\355\072\177\140\021\170\364
- \351\233\256\325\124\300\164\200\321\013\102\237\301
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Global Chambersign Root - 2008"
- # Issuer: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Serial Number:00:c9:cd:d3:e9:d5:7d:23:ce
- # Subject: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU
- # Not Valid Before: Fri Aug 01 12:31:40 2008
- # Not Valid After : Sat Jul 31 12:31:40 2038
- # Fingerprint (MD5): 9E:80:FF:78:01:0C:2E:C1:36:BD:FE:96:90:6E:08:F3
-@@ -15376,16 +15463,17 @@ CKA_VALUE MULTILINE_OCTAL
- \330\144\363\054\176\024\374\002\352\237\315\377\007\150\027\333
- \042\220\070\055\172\215\321\124\361\151\343\137\063\312\172\075
- \173\012\343\312\177\137\071\345\342\165\272\305\166\030\063\316
- \054\360\057\114\255\367\261\347\316\117\250\304\233\112\124\006
- \305\177\175\325\010\017\342\034\376\176\027\270\254\136\366\324
- \026\262\103\011\014\115\366\247\153\264\231\204\145\312\172\210
- \342\342\104\276\134\367\352\034\365
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Go Daddy Root Certificate Authority - G2"
- # Issuer: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): 80:3A:BC:22:C1:E6:FB:8D:9B:3B:27:4A:32:1B:9A:01
-@@ -15525,16 +15613,17 @@ CKA_VALUE MULTILINE_OCTAL
- \037\305\354\372\234\176\317\176\261\361\007\055\266\374\277\312
- \244\277\320\227\005\112\274\352\030\050\002\220\275\124\170\011
- \041\161\323\321\175\035\331\026\260\251\141\075\320\012\000\042
- \374\307\173\313\011\144\105\013\073\100\201\367\175\174\062\365
- \230\312\130\216\175\052\356\220\131\163\144\371\066\164\136\045
- \241\365\146\005\056\177\071\025\251\052\373\120\213\216\205\151
- \364
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Root Certificate Authority - G2"
- # Issuer: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): D6:39:81:C6:52:7E:96:69:FC:FC:CA:66:ED:05:F2:96
-@@ -15676,16 +15765,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\100\317\175\106\035\377\036\307\341\316\377\043\333\306\372
- \215\125\116\251\002\347\107\021\106\076\364\375\275\173\051\046
- \273\251\141\142\067\050\266\055\052\366\020\206\144\311\160\247
- \322\255\267\051\160\171\352\074\332\143\045\237\375\150\267\060
- \354\160\373\165\212\267\155\140\147\262\036\310\271\351\330\250
- \157\002\213\147\015\115\046\127\161\332\040\374\301\112\120\215
- \261\050\272
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Starfield Services Root Certificate Authority - G2"
- # Issuer: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Serial Number: 0 (0x0)
- # Subject: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
- # Not Valid Before: Tue Sep 01 00:00:00 2009
- # Not Valid After : Thu Dec 31 23:59:59 2037
- # Fingerprint (MD5): 17:35:74:AF:7B:61:1C:EB:F4:F9:3C:E2:EE:40:F9:A2
-@@ -15806,16 +15896,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\063\252\262\157\323\012\242\120\343\366\073\350\056\104\302
- \333\146\070\251\063\126\110\361\155\033\063\215\015\214\077\140
- \067\235\323\312\155\176\064\176\015\237\162\166\213\033\237\162
- \375\122\065\101\105\002\226\057\034\262\232\163\111\041\261\111
- \107\105\107\264\357\152\064\021\311\115\232\314\131\267\326\002
- \236\132\116\145\265\224\256\033\337\051\260\026\361\277\000\236
- \007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Commercial"
- # Issuer: CN=AffirmTrust Commercial,O=AffirmTrust,C=US
- # Serial Number:77:77:06:27:26:a9:b1:7c
- # Subject: CN=AffirmTrust Commercial,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:06:06 2010
- # Not Valid After : Tue Dec 31 14:06:06 2030
- # Fingerprint (MD5): 82:92:BA:5B:EF:CD:8A:6F:A6:3D:55:F9:84:F6:D6:B7
-@@ -15931,16 +16022,17 @@ CKA_VALUE MULTILINE_OCTAL
- \115\207\165\155\267\130\226\132\335\155\322\000\240\364\233\110
- \276\303\067\244\272\066\340\174\207\205\227\032\025\242\336\056
- \242\133\275\257\030\371\220\120\315\160\131\370\047\147\107\313
- \307\240\007\072\175\321\054\135\154\031\072\146\265\175\375\221
- \157\202\261\276\010\223\333\024\107\361\242\067\307\105\236\074
- \307\167\257\144\250\223\337\366\151\203\202\140\362\111\102\064
- \355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Networking"
- # Issuer: CN=AffirmTrust Networking,O=AffirmTrust,C=US
- # Serial Number:7c:4f:04:39:1c:d4:99:2d
- # Subject: CN=AffirmTrust Networking,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:08:24 2010
- # Not Valid After : Tue Dec 31 14:08:24 2030
- # Fingerprint (MD5): 42:65:CA:BE:01:9A:9A:4C:A9:8C:41:49:CD:C0:D5:7F
-@@ -16088,16 +16180,17 @@ CKA_VALUE MULTILINE_OCTAL
- \030\246\265\250\136\264\203\154\153\151\100\323\237\334\361\303
- \151\153\271\341\155\011\364\361\252\120\166\012\172\175\172\027
- \241\125\226\102\231\061\011\335\140\021\215\005\060\176\346\216
- \106\321\235\024\332\307\027\344\005\226\214\304\044\265\033\317
- \024\007\262\100\370\243\236\101\206\274\004\320\153\226\310\052
- \200\064\375\277\357\006\243\335\130\305\205\075\076\217\376\236
- \051\340\266\270\011\150\031\034\030\103
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Premium"
- # Issuer: CN=AffirmTrust Premium,O=AffirmTrust,C=US
- # Serial Number:6d:8c:14:46:b1:a6:0a:ee
- # Subject: CN=AffirmTrust Premium,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:10:36 2010
- # Not Valid After : Mon Dec 31 14:10:36 2040
- # Fingerprint (MD5): C4:5D:0E:48:B6:AC:28:30:4E:0A:BC:F9:38:16:87:57
-@@ -16193,16 +16286,17 @@ CKA_VALUE MULTILINE_OCTAL
- \027\011\363\207\210\120\132\257\310\300\102\277\107\137\365\154
- \152\206\340\304\047\164\344\070\123\327\005\177\033\064\343\306
- \057\263\312\011\074\067\235\327\347\270\106\361\375\241\342\161
- \002\060\102\131\207\103\324\121\337\272\323\011\062\132\316\210
- \176\127\075\234\137\102\153\365\007\055\265\360\202\223\371\131
- \157\256\144\372\130\345\213\036\343\143\276\265\201\315\157\002
- \214\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "AffirmTrust Premium ECC"
- # Issuer: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
- # Serial Number:74:97:25:8a:c7:3f:7a:54
- # Subject: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
- # Not Valid Before: Fri Jan 29 14:20:24 2010
- # Not Valid After : Mon Dec 31 14:20:24 2040
- # Fingerprint (MD5): 64:B0:09:55:CF:B1:D5:99:E2:BE:13:AB:A6:5D:EA:4D
-@@ -16331,16 +16425,17 @@ CKA_VALUE MULTILINE_OCTAL
- \227\306\166\350\047\226\243\146\335\341\256\362\101\133\312\230
- \126\203\163\160\344\206\032\322\061\101\272\057\276\055\023\132
- \166\157\116\350\116\201\016\077\133\003\042\240\022\276\146\130
- \021\112\313\003\304\264\052\052\055\226\027\340\071\124\274\110
- \323\166\047\235\232\055\006\246\311\354\071\322\253\333\237\232
- \013\047\002\065\051\261\100\225\347\371\350\234\125\210\031\106
- \326\267\064\365\176\316\071\232\331\070\361\121\367\117\054
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certum Trusted Network CA"
- # Issuer: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Serial Number: 279744 (0x444c0)
- # Subject: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Not Valid Before: Wed Oct 22 12:07:37 2008
- # Not Valid After : Mon Dec 31 12:07:37 2029
- # Fingerprint (MD5): D5:E9:81:40:C5:18:69:FC:46:2C:89:75:62:0F:AA:78
-@@ -16500,16 +16595,17 @@ CKA_VALUE MULTILINE_OCTAL
- \032\050\364\041\003\356\056\331\301\200\352\271\331\202\326\133
- \166\302\313\073\265\322\000\360\243\016\341\255\156\100\367\333
- \240\264\320\106\256\025\327\104\302\115\065\371\322\013\362\027
- \366\254\146\325\044\262\117\321\034\231\300\156\365\175\353\164
- \004\270\371\115\167\011\327\264\317\007\060\011\361\270\000\126
- \331\027\026\026\012\053\206\337\217\001\031\032\345\273\202\143
- \377\276\013\166\026\136\067\067\346\330\164\227\242\231\105\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Certinomis - Autorit Racine"
- # Issuer: CN=Certinomis - Autorit.. Racine,OU=0002 433998903,O=Certinomis,C=FR
- # Serial Number: 1 (0x1)
- # Subject: CN=Certinomis - Autorit.. Racine,OU=0002 433998903,O=Certinomis,C=FR
- # Not Valid Before: Wed Sep 17 08:28:59 2008
- # Not Valid After : Sun Sep 17 08:28:59 2028
- # Fingerprint (MD5): 7F:30:78:8C:03:E3:CA:C9:0A:E2:C9:EA:1E:AA:55:1A
-@@ -16634,16 +16730,17 @@ CKA_VALUE MULTILINE_OCTAL
- \172\162\132\203\263\171\157\357\264\374\320\012\245\130\117\106
- \337\373\155\171\131\362\204\042\122\256\017\314\373\174\073\347
- \152\312\107\141\303\172\370\323\222\004\037\270\040\204\341\066
- \124\026\307\100\336\073\212\163\334\337\306\011\114\337\354\332
- \377\324\123\102\241\311\362\142\035\042\203\074\227\305\371\031
- \142\047\254\145\042\327\323\074\306\345\216\262\123\314\111\316
- \274\060\376\173\016\063\220\373\355\322\024\221\037\007\257
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "TWCA Root Certification Authority"
- # Issuer: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
- # Serial Number: 1 (0x1)
- # Subject: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
- # Not Valid Before: Thu Aug 28 07:24:33 2008
- # Not Valid After : Tue Dec 31 15:59:59 2030
- # Fingerprint (MD5): AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79
-@@ -18024,16 +18121,17 @@ CKA_VALUE MULTILINE_OCTAL
- \273\233\051\126\074\376\000\067\317\043\154\361\116\252\266\164
- \106\022\154\221\356\064\325\354\232\221\347\104\276\220\061\162
- \325\111\002\366\002\345\364\037\353\174\331\226\125\251\377\354
- \212\371\231\107\377\065\132\002\252\004\313\212\133\207\161\051
- \221\275\244\264\172\015\275\232\365\127\043\000\007\041\027\077
- \112\071\321\005\111\013\247\266\067\201\245\135\214\252\063\136
- \201\050\174\247\175\047\353\000\256\215\067
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Security Communication RootCA2"
- # Issuer: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Serial Number: 0 (0x0)
- # Subject: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
- # Not Valid Before: Fri May 29 05:00:39 2009
- # Not Valid After : Tue May 29 05:00:39 2029
- # Fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43
-@@ -18206,16 +18304,17 @@ CKA_VALUE MULTILINE_OCTAL
- \234\211\333\151\070\276\354\134\016\126\307\145\121\345\120\210
- \210\277\102\325\053\075\345\371\272\236\056\263\312\364\163\222
- \002\013\276\114\146\353\040\376\271\313\265\231\177\346\266\023
- \372\312\113\115\331\356\123\106\006\073\306\116\255\223\132\201
- \176\154\052\113\152\005\105\214\362\041\244\061\220\207\154\145
- \234\235\245\140\225\072\122\177\365\321\253\010\156\363\356\133
- \371\210\075\176\270\157\156\003\344\102
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "EC-ACC"
- # Issuer: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES
- # Serial Number:ee:2b:3d:eb:d4:21:de:14:a8:62:ac:04:f3:dd:c4:01
- # Subject: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES
- # Not Valid Before: Tue Jan 07 23:00:00 2003
- # Not Valid After : Tue Jan 07 22:59:59 2031
- # Fingerprint (MD5): EB:F5:9D:29:0D:61:F9:42:1F:7C:C2:BA:6D:E3:15:09
-@@ -18368,16 +18467,17 @@ CKA_VALUE MULTILINE_OCTAL
- \372\363\003\022\226\170\006\215\261\147\355\216\077\276\237\117
- \002\365\263\011\057\363\114\207\337\052\313\225\174\001\314\254
- \066\172\277\242\163\172\367\217\301\265\232\241\024\262\217\063
- \237\015\357\042\334\146\173\204\275\105\027\006\075\074\312\271
- \167\064\217\312\352\317\077\061\076\343\210\343\200\111\045\310
- \227\265\235\232\231\115\260\074\370\112\000\233\144\335\237\071
- \113\321\047\327\270
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for Certificate "Hellenic Academic and Research Institutions RootCA 2011"
- # Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR
- # Not Valid Before: Tue Dec 06 13:49:52 2011
- # Not Valid After : Mon Dec 01 13:49:52 2031
- # Fingerprint (MD5): 73:9F:4C:4B:73:5B:79:E9:FA:BA:1C:EF:6E:CB:D5:C9
-@@ -18603,16 +18703,17 @@ CKA_VALUE MULTILINE_OCTAL
- \177\244\101\041\220\101\167\246\071\037\352\236\343\237\320\146
- \157\005\354\252\166\176\277\153\026\240\353\265\307\374\222\124
- \057\053\021\047\045\067\170\114\121\152\260\363\314\130\135\024
- \361\152\110\025\377\302\007\266\261\215\017\216\134\120\106\263
- \075\277\001\230\117\262\131\124\107\076\064\173\170\155\126\223
- \056\163\352\146\050\170\315\035\024\277\240\217\057\056\270\056
- \216\362\024\212\314\351\265\174\373\154\235\014\245\341\226
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Actalis Authentication Root CA"
- # Issuer: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
- # Serial Number:57:0a:11:97:42:c4:e3:cc
- # Subject: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
- # Not Valid Before: Thu Sep 22 11:22:02 2011
- # Not Valid After : Sun Sep 22 11:22:02 2030
- # Fingerprint (MD5): 69:C1:0D:4F:07:A3:1B:C3:FE:56:3D:04:BC:11:F6:A6
-@@ -18733,16 +18834,17 @@ CKA_VALUE MULTILINE_OCTAL
- \177\124\365\243\340\217\360\174\125\042\217\051\266\201\243\341
- \155\116\054\033\200\147\354\255\040\237\014\142\141\325\227\377
- \103\355\055\301\332\135\051\052\205\077\254\145\356\206\017\005
- \215\220\137\337\356\237\364\277\356\035\373\230\344\177\220\053
- \204\170\020\016\154\111\123\357\025\133\145\106\112\135\257\272
- \373\072\162\035\315\366\045\210\036\227\314\041\234\051\001\015
- \145\353\127\331\363\127\226\273\110\315\201
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Trustis FPS Root CA"
- # Issuer: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB
- # Serial Number:1b:1f:ad:b6:20:f9:24:d3:36:6b:f7:c7:f1:8c:a0:59
- # Subject: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB
- # Not Valid Before: Tue Dec 23 12:14:06 2003
- # Not Valid After : Sun Jan 21 11:36:54 2024
- # Fingerprint (MD5): 30:C9:E7:1E:6B:E6:14:EB:65:B2:16:69:20:31:67:4D
-@@ -18933,16 +19035,17 @@ CKA_VALUE MULTILINE_OCTAL
- \046\161\304\205\136\161\044\312\245\033\154\330\141\323\032\340
- \124\333\316\272\251\062\265\042\366\163\101\011\135\270\027\135
- \016\017\231\220\326\107\332\157\012\072\142\050\024\147\202\331
- \361\320\200\131\233\313\061\330\233\017\214\167\116\265\150\212
- \362\154\366\044\016\055\154\160\305\163\321\336\024\320\161\217
- \266\323\173\002\366\343\270\324\011\156\153\236\165\204\071\346
- \177\045\245\362\110\000\300\244\001\332\077
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "StartCom Certification Authority"
- # Issuer: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Serial Number: 45 (0x2d)
- # Subject: CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
- # Not Valid Before: Sun Sep 17 19:46:37 2006
- # Not Valid After : Wed Sep 17 19:46:36 2036
- # Fingerprint (MD5): C9:3B:0D:84:41:FC:A4:76:79:23:08:57:DE:10:19:16
-@@ -19097,16 +19200,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\056\055\304\011\072\003\147\151\204\232\341\131\220\212\050
- \205\325\135\164\261\321\016\040\130\233\023\245\260\143\246\355
- \173\107\375\105\125\060\244\356\232\324\346\342\207\357\230\311
- \062\202\021\051\042\274\000\012\061\136\055\017\300\216\351\153
- \262\217\056\006\330\321\221\307\306\022\364\114\375\060\027\303
- \301\332\070\133\343\251\352\346\241\272\171\357\163\330\266\123
- \127\055\366\320\341\327\110
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "StartCom Certification Authority G2"
- # Issuer: CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
- # Serial Number: 59 (0x3b)
- # Subject: CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
- # Not Valid Before: Fri Jan 01 01:00:01 2010
- # Not Valid After : Sat Dec 31 23:59:01 2039
- # Fingerprint (MD5): 78:4B:FB:9E:64:82:0A:D3:B8:4C:62:F3:64:F2:90:64
-@@ -19256,16 +19360,17 @@ CKA_VALUE MULTILINE_OCTAL
- \112\220\136\303\372\047\004\261\171\025\164\231\314\276\255\040
- \336\046\140\034\353\126\121\246\243\352\344\243\077\247\377\141
- \334\361\132\115\154\062\043\103\356\254\250\356\356\112\022\011
- \074\135\161\302\276\171\372\302\207\150\035\013\375\134\151\314
- \006\320\232\175\124\231\052\311\071\032\031\257\113\052\103\363
- \143\135\132\130\342\057\343\035\344\251\326\320\012\320\236\277
- \327\201\011\361\311\307\046\015\254\230\026\126\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Buypass Class 2 Root CA"
- # Issuer: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO
- # Serial Number: 2 (0x2)
- # Subject: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO
- # Not Valid Before: Tue Oct 26 08:38:03 2010
- # Not Valid After : Fri Oct 26 08:38:03 2040
- # Fingerprint (MD5): 46:A7:D2:FE:45:FB:64:5A:A8:59:90:9B:78:44:9B:29
-@@ -19414,16 +19519,17 @@ CKA_VALUE MULTILINE_OCTAL
- \105\310\114\161\331\274\311\231\122\127\106\057\120\317\275\065
- \151\364\075\025\316\006\245\054\017\076\366\201\272\224\273\303
- \273\277\145\170\322\206\171\377\111\073\032\203\014\360\336\170
- \354\310\362\115\114\032\336\202\051\370\301\132\332\355\356\346
- \047\136\350\105\320\235\034\121\250\150\253\104\343\320\213\152
- \343\370\073\273\334\115\327\144\362\121\276\346\252\253\132\351
- \061\356\006\274\163\277\023\142\012\237\307\271\227
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Buypass Class 3 Root CA"
- # Issuer: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
- # Serial Number: 2 (0x2)
- # Subject: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
- # Not Valid Before: Tue Oct 26 08:28:58 2010
- # Not Valid After : Fri Oct 26 08:28:58 2040
- # Fingerprint (MD5): 3D:3B:18:9E:2C:64:5A:E8:D5:88:CE:0E:F9:37:C2:EC
-@@ -19555,16 +19661,17 @@ CKA_VALUE MULTILINE_OCTAL
- \367\124\076\201\075\332\111\152\232\263\357\020\075\346\353\157
- \321\310\042\107\313\314\317\001\061\222\331\030\343\042\276\011
- \036\032\076\132\262\344\153\014\124\172\175\103\116\270\211\245
- \173\327\242\075\226\206\314\362\046\064\055\152\222\235\232\032
- \320\060\342\135\116\004\260\137\213\040\176\167\301\075\225\202
- \321\106\232\073\074\170\270\157\241\320\015\144\242\170\036\051
- \116\223\303\244\124\024\133
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "T-TeleSec GlobalRoot Class 3"
- # Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Serial Number: 1 (0x1)
- # Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Not Valid Before: Wed Oct 01 10:29:56 2008
- # Not Valid After : Sat Oct 01 23:59:59 2033
- # Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF
-@@ -19703,16 +19810,17 @@ CKA_VALUE MULTILINE_OCTAL
- \346\164\163\224\135\026\230\023\225\376\373\333\261\104\345\072
- \160\254\067\153\346\263\063\162\050\311\263\127\240\366\002\026
- \210\006\013\266\246\113\040\050\324\336\075\213\255\067\005\123
- \164\376\156\314\274\103\027\161\136\371\305\314\032\251\141\356
- \367\166\014\363\162\364\162\255\317\162\002\066\007\107\317\357
- \031\120\211\140\314\351\044\225\017\302\313\035\362\157\166\220
- \307\314\165\301\226\305\235
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "EE Certification Centre Root CA"
- # Issuer: E=pki(a)sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
- # Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a
- # Subject: E=pki(a)sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
- # Not Valid Before: Sat Oct 30 10:10:30 2010
- # Not Valid After : Tue Dec 17 23:59:59 2030
- # Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F
-@@ -19932,16 +20040,17 @@ CKA_VALUE MULTILINE_OCTAL
- \005\332\143\127\213\345\263\252\333\300\056\034\220\104\333\032
- \135\030\244\356\276\004\133\231\325\161\137\125\145\144\142\325
- \242\233\004\131\206\310\142\167\347\174\202\105\152\075\027\277
- \354\235\165\014\256\243\157\132\323\057\230\066\364\360\365\031
- \253\021\135\310\246\343\052\130\152\102\011\303\275\222\046\146
- \062\015\135\010\125\164\377\214\230\320\012\246\204\152\321\071
- \175
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TURKTRUST Certificate Services Provider Root 2007"
- # Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
- # Serial Number: 1 (0x1)
- # Subject: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
- # Not Valid Before: Tue Dec 25 18:37:19 2007
- # Not Valid After : Fri Dec 22 18:37:19 2017
- # Fingerprint (MD5): 2B:70:20:56:86:82:A0:18:C8:07:53:12:28:70:21:72
-@@ -20080,16 +20189,17 @@ CKA_VALUE MULTILINE_OCTAL
- \310\154\353\202\123\004\246\344\114\042\115\215\214\272\316\133
- \163\354\144\124\120\155\321\234\125\373\151\303\066\303\214\274
- \074\205\246\153\012\046\015\340\223\230\140\256\176\306\044\227
- \212\141\137\221\216\146\222\011\207\066\315\213\233\055\076\366
- \121\324\120\324\131\050\275\203\362\314\050\173\123\206\155\330
- \046\210\160\327\352\221\315\076\271\312\300\220\156\132\306\136
- \164\145\327\134\376\243\342
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "D-TRUST Root Class 3 CA 2 2009"
- # Issuer: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE
- # Serial Number: 623603 (0x983f3)
- # Subject: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE
- # Not Valid Before: Thu Nov 05 08:35:58 2009
- # Not Valid After : Mon Nov 05 08:35:58 2029
- # Fingerprint (MD5): CD:E0:25:69:8D:47:AC:9C:89:35:90:F7:FD:51:3D:2F
-@@ -20223,16 +20333,17 @@ CKA_VALUE MULTILINE_OCTAL
- \173\360\171\121\327\103\075\247\323\201\323\360\311\117\271\332
- \306\227\206\320\202\303\344\102\155\376\260\342\144\116\016\046
- \347\100\064\046\265\010\211\327\010\143\143\070\047\165\036\063
- \352\156\250\335\237\231\117\164\115\201\211\200\113\335\232\227
- \051\134\057\276\201\101\271\214\377\352\175\140\006\236\315\327
- \075\323\056\243\025\274\250\346\046\345\157\303\334\270\003\041
- \352\237\026\361\054\124\265
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "D-TRUST Root Class 3 CA 2 EV 2009"
- # Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
- # Serial Number: 623604 (0x983f4)
- # Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
- # Not Valid Before: Thu Nov 05 08:50:46 2009
- # Not Valid After : Mon Nov 05 08:50:46 2029
- # Fingerprint (MD5): AA:C6:43:2C:5E:2D:CD:C4:34:C0:50:4F:11:02:4F:B6
-@@ -20472,16 +20583,17 @@ CKA_VALUE MULTILINE_OCTAL
- \071\246\202\326\161\312\336\267\325\272\150\010\355\231\314\375
- \242\222\313\151\270\235\371\012\244\246\076\117\223\050\052\141
- \154\007\046\000\377\226\137\150\206\270\270\316\312\125\340\253
- \261\075\177\230\327\063\016\132\075\330\170\302\304\140\057\307
- \142\360\141\221\322\070\260\366\236\125\333\100\200\005\022\063
- \316\035\222\233\321\151\263\377\277\361\222\012\141\065\077\335
- \376\206\364\274\340\032\161\263\142\246
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "PSCProcert"
- # Issuer: E=acraiz(a)suscerte.gob.ve,OU=Superintendencia de Servicios de Certificacion Electronica,O=Sistema Nacional de Certificacion Electronica,ST=Distrito Capital,L=Caracas,C=VE,CN=Autoridad de Certificacion Raiz del Estado Venezolano
- # Serial Number: 11 (0xb)
- # Subject: CN=PSCProcert,C=VE,O=Sistema Nacional de Certificacion Electronica,OU=Proveedor de Certificados PROCERT,ST=Miranda,L=Chacao,E=contacto(a)procert.net.ve
- # Not Valid Before: Tue Dec 28 16:51:00 2010
- # Not Valid After : Fri Dec 25 23:59:59 2020
- # Fingerprint (MD5): E6:24:E9:12:01:AE:0C:DE:8E:85:C4:CE:A3:12:DD:EC
-@@ -20630,16 +20742,17 @@ CKA_VALUE MULTILINE_OCTAL
- \146\102\107\302\130\044\231\341\345\076\345\165\054\216\103\326
- \135\074\170\036\250\225\202\051\120\321\321\026\272\357\301\276
- \172\331\264\330\314\036\114\106\341\167\261\061\253\275\052\310
- \316\217\156\241\135\177\003\165\064\344\255\211\105\124\136\276
- \256\050\245\273\077\170\171\353\163\263\012\015\375\276\311\367
- \126\254\366\267\355\057\233\041\051\307\070\266\225\304\004\362
- \303\055\375\024\052\220\231\271\007\314\237
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "China Internet Network Information Center EV Certificates Root"
- # Issuer: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
- # Serial Number: 1218379777 (0x489f0001)
- # Subject: CN=China Internet Network Information Center EV Certificates Root,O=China Internet Network Information Center,C=CN
- # Not Valid Before: Tue Aug 31 07:11:25 2010
- # Not Valid After : Sat Aug 31 07:11:25 2030
- # Fingerprint (MD5): 55:5D:63:00:97:BD:6A:97:F5:67:AB:4B:FB:6E:63:15
-@@ -20805,16 +20918,17 @@ CKA_VALUE MULTILINE_OCTAL
- \361\377\246\100\005\205\005\134\312\007\031\134\013\023\050\114
- \130\177\302\245\357\105\332\140\323\256\145\141\235\123\203\164
- \302\256\362\134\302\026\355\222\076\204\076\163\140\210\274\166
- \364\054\317\320\175\175\323\270\136\321\221\022\020\351\315\335
- \312\045\343\325\355\231\057\276\165\201\113\044\371\105\106\224
- \311\051\041\123\234\046\105\252\023\027\344\347\315\170\342\071
- \301\053\022\236\246\236\033\305\346\016\331\061\331
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Swisscom Root CA 2"
- # Issuer: CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:1e:9e:28:e8:48:f2:e5:ef:c3:7c:4a:1e:5a:18:67:b6
- # Subject: CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Fri Jun 24 08:38:14 2011
- # Not Valid After : Wed Jun 25 07:38:14 2031
- # Fingerprint (MD5): 5B:04:69:EC:A5:83:94:63:18:A7:86:D0:E4:F2:6E:19
-@@ -20980,16 +21094,17 @@ CKA_VALUE MULTILINE_OCTAL
- \234\337\164\326\360\100\025\035\310\271\217\265\066\305\257\370
- \042\270\312\035\363\326\266\031\017\237\141\145\152\352\164\310
- \174\217\303\117\135\145\202\037\331\015\211\332\165\162\373\357
- \361\107\147\023\263\310\321\031\210\047\046\232\231\171\177\036
- \344\054\077\173\356\361\336\115\213\226\227\303\325\077\174\033
- \043\355\244\263\035\026\162\103\113\040\341\131\176\302\350\255
- \046\277\242\367
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Swisscom Root EV CA 2"
- # Issuer: CN=Swisscom Root EV CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Serial Number:00:f2:fa:64:e2:74:63:d3:8d:fd:10:1d:04:1f:76:ca:58
- # Subject: CN=Swisscom Root EV CA 2,OU=Digital Certificate Services,O=Swisscom,C=ch
- # Not Valid Before: Fri Jun 24 09:45:08 2011
- # Not Valid After : Wed Jun 25 08:45:08 2031
- # Fingerprint (MD5): 7B:30:34:9F:DD:0A:4B:6B:35:CA:31:51:28:5D:AE:EC
-@@ -21144,16 +21259,17 @@ CKA_VALUE MULTILINE_OCTAL
- \001\347\177\227\017\327\362\173\031\375\032\327\217\311\372\205
- \153\172\235\236\211\266\246\050\231\223\210\100\367\076\315\121
- \243\312\352\357\171\107\041\265\376\062\342\307\303\121\157\276
- \200\164\360\244\303\072\362\117\351\137\337\031\012\362\073\023
- \103\254\061\244\263\347\353\374\030\326\001\251\363\052\217\066
- \016\353\264\261\274\267\114\311\153\277\241\363\331\364\355\342
- \360\343\355\144\236\075\057\226\122\117\200\123\213
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA Disig Root R1"
- # Issuer: CN=CA Disig Root R1,O=Disig a.s.,L=Bratislava,C=SK
- # Serial Number:00:c3:03:9a:ee:50:90:6e:28
- # Subject: CN=CA Disig Root R1,O=Disig a.s.,L=Bratislava,C=SK
- # Not Valid Before: Thu Jul 19 09:06:56 2012
- # Not Valid After : Sat Jul 19 09:06:56 2042
- # Fingerprint (MD5): BE:EC:11:93:9A:F5:69:21:BC:D7:C1:C0:67:89:CC:2A
-@@ -21306,16 +21422,17 @@ CKA_VALUE MULTILINE_OCTAL
- \233\116\166\300\216\175\375\244\045\307\107\355\377\037\163\254
- \314\303\245\351\157\012\216\233\145\302\120\205\265\243\240\123
- \022\314\125\207\141\363\201\256\020\106\141\275\104\041\270\302
- \075\164\317\176\044\065\372\034\007\016\233\075\042\312\357\061
- \057\214\254\022\275\357\100\050\374\051\147\237\262\023\117\146
- \044\304\123\031\351\036\051\025\357\346\155\260\177\055\147\375
- \363\154\033\165\106\243\345\112\027\351\244\327\013
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA Disig Root R2"
- # Issuer: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK
- # Serial Number:00:92:b8:88:db:b0:8a:c1:63
- # Subject: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK
- # Not Valid Before: Thu Jul 19 09:15:30 2012
- # Not Valid After : Sat Jul 19 09:15:30 2042
- # Fingerprint (MD5): 26:01:FB:D8:27:A7:17:9A:45:54:38:1A:43:01:3B:03
-@@ -21505,16 +21622,17 @@ CKA_VALUE MULTILINE_OCTAL
- \346\301\232\351\036\002\107\237\052\250\155\251\133\317\354\105
- \167\177\230\047\232\062\135\052\343\204\356\305\230\146\057\226
- \040\035\335\330\303\047\327\260\371\376\331\175\315\320\237\217
- \013\024\130\121\237\057\213\303\070\055\336\350\217\326\215\207
- \244\365\126\103\026\231\054\364\244\126\264\064\270\141\067\311
- \302\130\200\033\240\227\241\374\131\215\351\021\366\321\017\113
- \125\064\106\052\213\206\073
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "ACCVRAIZ1"
- # Issuer: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1
- # Serial Number:5e:c3:b7:a6:43:7f:a4:e0
- # Subject: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1
- # Not Valid Before: Thu May 05 09:37:37 2011
- # Not Valid After : Tue Dec 31 09:37:37 2030
- # Fingerprint (MD5): D0:A0:5A:EE:05:B6:09:94:21:A1:7D:F1:B2:29:82:02
-@@ -21664,16 +21782,17 @@ CKA_VALUE MULTILINE_OCTAL
- \301\255\175\204\003\074\020\170\206\033\171\343\304\363\362\004
- \225\040\256\043\202\304\263\072\000\142\277\346\066\044\341\127
- \272\307\036\220\165\325\137\077\225\141\053\301\073\315\345\263
- \150\141\320\106\046\251\041\122\151\055\353\056\307\353\167\316
- \246\072\265\003\063\117\166\321\347\134\124\001\135\313\170\364
- \311\014\277\317\022\216\027\055\043\150\224\347\253\376\251\262
- \053\006\320\004\315
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TWCA Global Root CA"
- # Issuer: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
- # Serial Number: 3262 (0xcbe)
- # Subject: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
- # Not Valid Before: Wed Jun 27 06:28:33 2012
- # Not Valid After : Tue Dec 31 15:59:59 2030
- # Fingerprint (MD5): F9:03:7E:CF:E6:9E:3C:73:7A:2A:90:07:69:FF:2B:96
-@@ -21820,16 +21939,17 @@ CKA_VALUE MULTILINE_OCTAL
- \255\316\364\370\151\024\144\071\373\243\270\272\160\100\307\047
- \034\277\304\126\123\372\143\145\320\363\034\016\026\365\153\206
- \130\115\030\324\344\015\216\245\235\133\221\334\166\044\120\077
- \306\052\373\331\267\234\265\326\346\320\331\350\031\213\025\161
- \110\255\267\352\330\131\210\324\220\277\026\263\331\351\254\131
- \141\124\310\034\272\312\301\312\341\271\040\114\217\072\223\211
- \245\240\314\277\323\366\165\244\165\226\155\126
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TeliaSonera Root CA v1"
- # Issuer: CN=TeliaSonera Root CA v1,O=TeliaSonera
- # Serial Number:00:95:be:16:a0:f7:2e:46:f1:7b:39:82:72:fa:8b:cd:96
- # Subject: CN=TeliaSonera Root CA v1,O=TeliaSonera
- # Not Valid Before: Thu Oct 18 12:00:50 2007
- # Not Valid After : Mon Oct 18 12:00:50 2032
- # Fingerprint (MD5): 37:41:49:1B:18:56:9A:26:F5:AD:C2:66:FB:40:A5:4C
-@@ -22007,16 +22127,17 @@ CKA_VALUE MULTILINE_OCTAL
- \237\211\213\375\067\137\137\072\316\070\131\206\113\257\161\013
- \264\330\362\160\117\237\062\023\343\260\247\127\345\332\332\103
- \313\204\064\362\050\304\352\155\364\052\357\301\153\166\332\373
- \176\273\205\074\322\123\302\115\276\161\341\105\321\375\043\147
- \015\023\165\373\317\145\147\042\235\256\260\011\321\011\377\035
- \064\277\376\043\227\067\322\071\372\075\015\006\013\264\333\073
- \243\253\157\134\035\266\176\350\263\202\064\355\006\134\044
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "E-Tugra Certification Authority"
- # Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:6a:68:3e:9c:51:9b:cb:53
- # Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Tue Mar 05 12:09:48 2013
- # Not Valid After : Fri Mar 03 12:09:48 2023
- # Fingerprint (MD5): B8:A1:03:63:B0:BD:21:71:70:8A:6F:13:3A:BB:79:49
-@@ -22155,16 +22276,17 @@ CKA_VALUE MULTILINE_OCTAL
- \203\125\352\174\302\051\211\033\351\157\263\316\342\005\204\311
- \057\076\170\205\142\156\311\137\301\170\143\164\130\300\110\030
- \014\231\071\353\244\314\032\265\171\132\215\025\234\330\024\015
- \366\172\007\127\307\042\203\005\055\074\233\045\046\075\030\263
- \251\103\174\310\310\253\144\217\016\243\277\234\033\235\060\333
- \332\320\031\056\252\074\361\373\063\200\166\344\315\255\031\117
- \005\047\216\023\241\156\302
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "T-TeleSec GlobalRoot Class 2"
- # Issuer: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Serial Number: 1 (0x1)
- # Subject: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
- # Not Valid Before: Wed Oct 01 10:40:14 2008
- # Not Valid After : Sat Oct 01 23:59:59 2033
- # Fingerprint (MD5): 2B:9B:9E:E4:7B:6C:1F:00:72:1A:CC:C1:77:79:DF:6A
-@@ -22285,16 +22407,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\024\357\264\021\377\016\025\265\365\365\333\306\275\353\132
- \247\360\126\042\251\074\145\124\306\025\250\275\206\236\315\203
- \226\150\172\161\201\211\341\013\341\352\021\033\150\010\314\151
- \236\354\236\101\236\104\062\046\172\342\207\012\161\075\353\344
- \132\244\322\333\305\315\306\336\140\177\271\363\117\104\222\357
- \052\267\030\076\247\031\331\013\175\261\067\101\102\260\272\140
- \035\362\376\011\021\260\360\207\173\247\235
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Atos TrustedRoot 2011"
- # Issuer: C=DE,O=Atos,CN=Atos TrustedRoot 2011
- # Serial Number:5c:33:cb:62:2c:5f:b3:32
- # Subject: C=DE,O=Atos,CN=Atos TrustedRoot 2011
- # Not Valid Before: Thu Jul 07 14:58:30 2011
- # Not Valid After : Tue Dec 31 23:59:59 2030
- # Fingerprint (MD5): AE:B9:C4:32:4B:AC:7F:5D:66:CC:77:94:BB:2A:77:56
-@@ -22444,16 +22567,17 @@ CKA_VALUE MULTILINE_OCTAL
- \353\134\237\336\263\257\147\003\263\037\335\155\135\151\150\151
- \253\136\072\354\174\151\274\307\073\205\116\236\025\271\264\025
- \117\303\225\172\130\327\311\154\351\154\271\363\051\143\136\264
- \054\360\055\075\355\132\145\340\251\133\100\302\110\231\201\155
- \236\037\006\052\074\022\264\213\017\233\242\044\360\246\215\326
- \172\340\113\266\144\226\143\225\204\302\112\315\034\056\044\207
- \063\140\345\303
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 1 G3"
- # Issuer: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM
- # Serial Number:78:58:5f:2e:ad:2c:19:4b:e3:37:07:35:34:13:28:b5:96:d4:65:93
- # Subject: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 17:27:44 2012
- # Not Valid After : Sun Jan 12 17:27:44 2042
- # Fingerprint (SHA-256): 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74
-@@ -22605,16 +22729,17 @@ CKA_VALUE MULTILINE_OCTAL
- \374\267\003\111\002\133\310\045\346\342\124\070\365\171\207\214
- \035\123\262\116\205\173\006\070\307\054\370\370\260\162\215\045
- \345\167\122\364\003\034\110\246\120\137\210\040\060\156\362\202
- \103\253\075\227\204\347\123\373\041\301\117\017\042\232\206\270
- \131\052\366\107\075\031\210\055\350\205\341\236\354\205\010\152
- \261\154\064\311\035\354\110\053\073\170\355\146\304\216\171\151
- \203\336\177\214
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 2 G3"
- # Issuer: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
- # Serial Number:44:57:34:24:5b:81:89:9b:35:f2:ce:b8:2b:3b:5b:a7:26:f0:75:28
- # Subject: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 18:59:32 2012
- # Not Valid After : Sun Jan 12 18:59:32 2042
- # Fingerprint (SHA-256): 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40
-@@ -22766,16 +22891,17 @@ CKA_VALUE MULTILINE_OCTAL
- \046\350\354\266\013\055\247\205\065\315\375\131\310\237\321\315
- \076\132\051\064\271\075\204\316\261\145\324\131\221\221\126\165
- \041\301\167\236\371\172\341\140\235\323\255\004\030\364\174\353
- \136\223\217\123\112\042\051\370\110\053\076\115\206\254\133\177
- \313\006\231\131\140\330\130\145\225\215\104\321\367\177\176\047
- \177\175\256\200\365\007\114\266\076\234\161\124\231\004\113\375
- \130\371\230\364
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "QuoVadis Root CA 3 G3"
- # Issuer: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM
- # Serial Number:2e:f5:9b:02:28:a7:db:7a:ff:d5:a3:a9:ee:bd:03:a0:cf:12:6a:1d
- # Subject: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM
- # Not Valid Before: Thu Jan 12 20:26:32 2012
- # Not Valid After : Sun Jan 12 20:26:32 2042
- # Fingerprint (SHA-256): 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46
-@@ -22902,16 +23028,17 @@ CKA_VALUE MULTILINE_OCTAL
- \007\234\242\272\331\001\162\134\363\115\301\335\016\261\034\015
- \304\143\276\255\364\024\373\211\354\242\101\016\114\314\310\127
- \100\320\156\003\252\315\014\216\211\231\231\154\360\074\060\257
- \070\337\157\274\243\276\051\040\047\253\164\377\023\042\170\336
- \227\122\125\036\203\265\124\040\003\356\256\300\117\126\336\067
- \314\303\177\252\004\047\273\323\167\270\142\333\027\174\234\050
- \042\023\163\154\317\046\365\212\051\347
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Assured ID Root G2"
- # Issuer: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0b:93:1c:3a:d6:39:67:ea:67:23:bf:c3:af:9a:f4:4b
- # Subject: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85
-@@ -23019,16 +23146,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\147\000\060\144\002\060\045\244\201\105\002\153\022\113
- \165\164\117\310\043\343\160\362\165\162\336\174\211\360\317\221
- \162\141\236\136\020\222\131\126\271\203\307\020\347\070\351\130
- \046\066\175\325\344\064\206\071\002\060\174\066\123\360\060\345
- \142\143\072\231\342\266\243\073\233\064\372\036\332\020\222\161
- \136\221\023\247\335\244\156\222\314\062\326\365\041\146\307\057
- \352\226\143\152\145\105\222\225\001\264
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Assured ID Root G3"
- # Issuer: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:0b:a1:5a:fa:1d:df:a0:b5:49:44:af:cd:24:a0:6c:ec
- # Subject: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2
-@@ -23157,16 +23285,17 @@ CKA_VALUE MULTILINE_OCTAL
- \362\261\216\231\241\157\023\261\101\161\376\210\052\310\117\020
- \040\125\327\363\024\105\345\340\104\364\352\207\225\062\223\016
- \376\123\106\372\054\235\377\213\042\271\113\331\011\105\244\336
- \244\270\232\130\335\033\175\122\237\216\131\103\210\201\244\236
- \046\325\157\255\335\015\306\067\175\355\003\222\033\345\167\137
- \166\356\074\215\304\135\126\133\242\331\146\156\263\065\067\345
- \062\266
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Global Root G2"
- # Issuer: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:03:3a:f1:e6:a7:11:a9:a0:bb:28:64:b1:1d:09:fa:e5
- # Subject: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F
-@@ -23274,16 +23403,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\255\274\362\154\077\022\112\321\055\071\303\012\011\227\163
- \364\210\066\214\210\047\273\346\210\215\120\205\247\143\371\236
- \062\336\146\223\017\361\314\261\011\217\335\154\253\372\153\177
- \240\002\060\071\146\133\302\144\215\270\236\120\334\250\325\111
- \242\355\307\334\321\111\177\027\001\270\310\206\217\116\214\210
- \053\250\232\251\212\305\321\000\275\370\124\342\232\345\133\174
- \263\047\027
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Global Root G3"
- # Issuer: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:05:55:56:bc:f2:5e:a4:35:35:c3:a4:0f:d5:ab:45:72
- # Subject: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0
-@@ -23444,16 +23574,17 @@ CKA_VALUE MULTILINE_OCTAL
- \102\154\311\012\274\356\103\372\072\161\245\310\115\046\245\065
- \375\211\135\274\205\142\035\062\322\240\053\124\355\232\127\301
- \333\372\020\317\031\267\213\112\033\217\001\266\047\225\123\350
- \266\211\155\133\274\150\324\043\350\213\121\242\126\371\360\246
- \200\240\326\036\263\274\017\017\123\165\051\252\352\023\167\344
- \336\214\201\041\255\007\020\107\021\255\207\075\007\321\165\274
- \317\363\146\176
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "DigiCert Trusted Root G4"
- # Issuer: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Serial Number:05:9b:1b:57:9e:8e:21:32:e2:39:07:bd:a7:77:75:5c
- # Subject: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
- # Not Valid Before: Thu Aug 01 12:00:00 2013
- # Not Valid After : Fri Jan 15 12:00:00 2038
- # Fingerprint (SHA-256): 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88
-@@ -23610,16 +23741,17 @@ CKA_VALUE MULTILINE_OCTAL
- \047\274\172\277\340\333\364\332\122\275\336\014\124\160\061\221
- \103\225\310\274\360\076\335\011\176\060\144\120\355\177\001\244
- \063\147\115\150\117\276\025\357\260\366\002\021\242\033\023\045
- \072\334\302\131\361\343\134\106\273\147\054\002\106\352\036\110
- \246\346\133\331\265\274\121\242\222\226\333\252\306\067\042\246
- \376\314\040\164\243\055\251\056\153\313\300\202\021\041\265\223
- \171\356\104\206\276\327\036\344\036\373
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "WoSign"
- # Issuer: CN=Certification Authority of WoSign,O=WoSign CA Limited,C=CN
- # Serial Number:5e:68:d6:11:71:94:63:50:56:00:68:f3:3e:c9:c5:91
- # Subject: CN=Certification Authority of WoSign,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Aug 08 01:00:01 2009
- # Not Valid After : Mon Aug 08 01:00:01 2039
- # Fingerprint (SHA-256): 4B:22:D5:A6:AE:C9:9F:3C:DB:79:AA:5E:C0:68:38:47:9C:D5:EC:BA:71:64:F7:F2:2D:C1:D6:5F:63:D8:57:08
-@@ -23771,16 +23903,17 @@ CKA_VALUE MULTILINE_OCTAL
- \324\175\253\227\063\304\323\076\340\151\266\050\171\240\011\215
- \034\321\377\101\162\110\006\374\232\056\347\040\371\233\242\336
- \211\355\256\074\011\257\312\127\263\222\211\160\100\344\057\117
- \302\160\203\100\327\044\054\153\347\011\037\323\325\307\301\010
- \364\333\016\073\034\007\013\103\021\204\041\206\351\200\324\165
- \330\253\361\002\142\301\261\176\125\141\317\023\327\046\260\327
- \234\313\051\213\070\112\013\016\220\215\272\241
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "WoSign China"
- # Issuer: CN=CA ...............,O=WoSign CA Limited,C=CN
- # Serial Number:50:70:6b:cd:d8:13:fc:1b:4e:3b:33:72:d2:11:48:8d
- # Subject: CN=CA ...............,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Aug 08 01:00:01 2009
- # Not Valid After : Mon Aug 08 01:00:01 2039
- # Fingerprint (SHA-256): D6:F0:34:BD:94:AA:23:3F:02:97:EC:A4:24:5B:28:39:73:E4:47:AA:59:0F:31:0C:77:F4:8F:DF:83:11:22:54
-@@ -23947,16 +24080,17 @@ CKA_VALUE MULTILINE_OCTAL
- \100\350\123\262\047\235\112\271\300\167\041\215\377\207\362\336
- \274\214\357\027\337\267\111\013\321\362\156\060\013\032\016\116
- \166\355\021\374\365\351\126\262\175\277\307\155\012\223\214\245
- \320\300\266\035\276\072\116\224\242\327\156\154\013\302\212\174
- \372\040\363\304\344\345\315\015\250\313\221\222\261\174\205\354
- \265\024\151\146\016\202\347\315\316\310\055\246\121\177\041\301
- \065\123\205\006\112\135\237\255\273\033\137\164
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "COMODO RSA Certification Authority"
- # Issuer: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Serial Number:4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d
- # Subject: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
- # Not Valid Before: Tue Jan 19 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34
-@@ -24128,16 +24262,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\233\267\220\307\014\007\337\365\211\066\164\062\326\050\301
- \260\260\013\340\234\114\303\034\326\374\343\151\265\107\106\201
- \057\242\202\253\323\143\104\160\304\215\377\055\063\272\255\217
- \173\265\160\210\256\076\031\317\100\050\330\374\310\220\273\135
- \231\042\365\122\346\130\305\037\210\061\103\356\210\035\327\306
- \216\074\103\152\035\247\030\336\175\075\026\361\142\371\312\220
- \250\375
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "USERTrust RSA Certification Authority"
- # Issuer: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Serial Number:01:fd:6d:30:fc:a3:ca:51:a8:1b:bc:64:0e:35:03:2d
- # Subject: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Not Valid Before: Mon Feb 01 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2
-@@ -24256,16 +24391,17 @@ CKA_VALUE MULTILINE_OCTAL
- \066\147\241\026\010\334\344\227\000\101\035\116\276\341\143\001
- \317\073\252\102\021\144\240\235\224\071\002\021\171\134\173\035
- \372\144\271\356\026\102\263\277\212\302\011\304\354\344\261\115
- \002\061\000\351\052\141\107\214\122\112\113\116\030\160\366\326
- \104\326\156\365\203\272\155\130\275\044\331\126\110\352\357\304
- \242\106\201\210\152\072\106\321\251\233\115\311\141\332\321\135
- \127\152\030
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "USERTrust ECC Certification Authority"
- # Issuer: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Serial Number:5c:8b:99:c5:5a:94:c5:d2:71:56:de:cd:89:80:cc:26
- # Subject: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
- # Not Valid Before: Mon Feb 01 00:00:00 2010
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A
-@@ -24367,16 +24503,17 @@ CKA_VALUE MULTILINE_OCTAL
- \270\342\100\177\373\012\156\373\276\063\311\074\243\204\325\060
- \012\006\010\052\206\110\316\075\004\003\002\003\110\000\060\105
- \002\041\000\334\222\241\240\023\246\317\003\260\346\304\041\227
- \220\372\024\127\055\003\354\356\074\323\156\312\250\154\166\274
- \242\336\273\002\040\047\250\205\047\065\233\126\306\243\362\107
- \322\267\156\033\002\000\027\252\147\246\025\221\336\372\224\354
- \173\013\370\237\204
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "GlobalSign ECC Root CA - R4"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
- # Serial Number:2a:38:a4:1c:96:0a:04:de:42:b2:28:a5:0b:e8:34:98:02
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
- # Not Valid Before: Tue Nov 13 00:00:00 2012
- # Not Valid After : Tue Jan 19 03:14:07 2038
- # Fingerprint (SHA-256): BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C
-@@ -24479,16 +24616,17 @@ CKA_VALUE MULTILINE_OCTAL
- \345\151\022\311\156\333\306\061\272\011\101\341\227\370\373\375
- \232\342\175\022\311\355\174\144\323\313\005\045\213\126\331\240
- \347\136\135\116\013\203\234\133\166\051\240\011\046\041\152\142
- \002\060\161\322\265\217\134\352\073\341\170\011\205\250\165\222
- \073\310\134\375\110\357\015\164\042\250\010\342\156\305\111\316
- \307\014\274\247\141\151\361\367\073\341\052\313\371\053\363\146
- \220\067
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "GlobalSign ECC Root CA - R5"
- # Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
- # Serial Number:60:59:49:e0:26:2e:bb:55:f9:0a:77:8a:71:f9:4a:d8:6c
- # Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
- # Not Valid Before: Tue Nov 13 00:00:00 2012
- # Not Valid After : Tue Jan 19 03:14:07 2038
- # Fingerprint (SHA-256): 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24
-@@ -24653,16 +24791,17 @@ CKA_VALUE MULTILINE_OCTAL
- \107\234\167\307\045\341\254\064\005\115\363\202\176\101\043\272
- \264\127\363\347\306\001\145\327\115\211\231\034\151\115\136\170
- \366\353\162\161\075\262\304\225\001\237\135\014\267\057\045\246
- \134\171\101\357\236\304\147\074\241\235\177\161\072\320\225\227
- \354\170\102\164\230\156\276\076\150\114\127\074\250\223\101\207
- \013\344\271\257\221\373\120\114\014\272\300\044\047\321\025\333
- \145\110\041\012\057\327\334\176\240\314\145\176\171
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "VeriSign-C3SSA-G2-temporary-intermediate-after-1024bit-removal"
- # Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Serial Number:2f:00:6e:cd:17:70:66:e7:5f:a3:82:0a:79:1f:05:ae
- # Subject: CN=VeriSign Class 3 Secure Server CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
- # Not Valid Before: Thu Mar 26 00:00:00 2009
- # Not Valid After : Sun Mar 24 23:59:59 2019
- # Fingerprint (SHA-256): 0A:41:51:D5:E5:8B:84:B8:AC:E5:3A:5C:12:12:2A:C9:59:CD:69:91:FB:B3:8E:99:B5:76:C0:AB:DA:C3:58:14
-@@ -24824,16 +24963,17 @@ CKA_VALUE MULTILINE_OCTAL
- \325\131\242\211\164\323\237\276\036\113\327\306\155\267\210\044
- \157\140\221\244\202\205\133\126\101\274\320\104\253\152\023\276
- \321\054\130\267\022\063\130\262\067\143\334\023\365\224\035\077
- \100\121\365\117\365\072\355\310\305\353\302\036\035\026\225\172
- \307\176\102\161\223\156\113\025\267\060\337\252\355\127\205\110
- \254\035\152\335\071\151\344\341\171\170\276\316\005\277\241\014
- \367\200\173\041\147\047\060\131
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Staat der Nederlanden Root CA - G3"
- # Issuer: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL
- # Serial Number: 10003001 (0x98a239)
- # Subject: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Thu Nov 14 11:28:42 2013
- # Not Valid After : Mon Nov 13 23:00:00 2028
- # Fingerprint (SHA-256): 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28
-@@ -24987,16 +25127,17 @@ CKA_VALUE MULTILINE_OCTAL
- \170\157\120\202\104\120\077\146\006\212\253\103\204\126\112\017
- \040\055\206\016\365\322\333\322\172\212\113\315\245\350\116\361
- \136\046\045\001\131\043\240\176\322\366\176\041\127\327\047\274
- \025\127\114\244\106\301\340\203\036\014\114\115\037\117\006\031
- \342\371\250\364\072\202\241\262\171\103\171\326\255\157\172\047
- \220\003\244\352\044\207\077\331\275\331\351\362\137\120\111\034
- \356\354\327\056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Staat der Nederlanden EV Root CA"
- # Issuer: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL
- # Serial Number: 10000013 (0x98968d)
- # Subject: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL
- # Not Valid Before: Wed Dec 08 11:19:29 2010
- # Not Valid After : Thu Dec 08 11:10:28 2022
- # Fingerprint (SHA-256): 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A
-@@ -25148,16 +25289,17 @@ CKA_VALUE MULTILINE_OCTAL
- \312\112\201\153\136\013\363\121\341\164\053\351\176\047\247\331
- \231\111\116\370\245\200\333\045\017\034\143\142\212\311\063\147
- \153\074\020\203\306\255\336\250\315\026\216\215\360\007\067\161
- \237\362\253\374\101\365\301\213\354\000\067\135\011\345\116\200
- \357\372\261\134\070\006\245\033\112\341\334\070\055\074\334\253
- \037\220\032\325\112\234\356\321\160\154\314\356\364\127\370\030
- \272\204\156\207
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "IdenTrust Commercial Root CA 1"
- # Issuer: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
- # Serial Number:0a:01:42:80:00:00:01:45:23:c8:44:b5:00:00:00:02
- # Subject: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
- # Not Valid Before: Thu Jan 16 18:12:23 2014
- # Not Valid After : Mon Jan 16 18:12:23 2034
- # Fingerprint (SHA-256): 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE
-@@ -25309,16 +25451,17 @@ CKA_VALUE MULTILINE_OCTAL
- \150\011\061\161\360\155\370\116\107\373\326\205\356\305\130\100
- \031\244\035\247\371\113\103\067\334\150\132\117\317\353\302\144
- \164\336\264\025\331\364\124\124\032\057\034\327\227\161\124\220
- \216\331\040\235\123\053\177\253\217\342\352\060\274\120\067\357
- \361\107\265\175\174\054\004\354\150\235\264\111\104\020\364\162
- \113\034\144\347\374\346\153\220\335\151\175\151\375\000\126\245
- \267\254\266\255\267\312\076\001\357\234
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "IdenTrust Public Sector Root CA 1"
- # Issuer: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US
- # Serial Number:0a:01:42:80:00:00:01:45:23:cf:46:7c:00:00:00:02
- # Subject: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US
- # Not Valid Before: Thu Jan 16 17:53:32 2014
- # Not Valid After : Mon Jan 16 17:53:32 2034
- # Fingerprint (SHA-256): 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F
-@@ -25453,16 +25596,17 @@ CKA_VALUE MULTILINE_OCTAL
- \217\252\302\107\057\024\161\325\051\343\020\265\107\223\045\314
- \043\051\332\267\162\330\221\324\354\033\110\212\042\344\301\052
- \367\072\150\223\237\105\031\156\103\267\314\376\270\221\232\141
- \032\066\151\143\144\222\050\363\157\141\222\205\023\237\311\007
- \054\213\127\334\353\236\171\325\302\336\010\325\124\262\127\116
- \052\062\215\241\342\072\321\020\040\042\071\175\064\105\157\161
- \073\303\035\374\377\262\117\250\342\366\060\036
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "S-TRUST Universal Root CA"
- # Issuer: CN=S-TRUST Universal Root CA,OU=S-TRUST Certification Services,O=Deutscher Sparkassen Verlag GmbH,C=DE
- # Serial Number:60:56:c5:4b:23:40:5b:64:d4:ed:25:da:d9:d6:1e:1e
- # Subject: CN=S-TRUST Universal Root CA,OU=S-TRUST Certification Services,O=Deutscher Sparkassen Verlag GmbH,C=DE
- # Not Valid Before: Tue Oct 22 00:00:00 2013
- # Not Valid After : Thu Oct 21 23:59:59 2038
- # Fingerprint (SHA-256): D8:0F:EF:91:0A:E3:F1:04:72:3B:04:5C:EC:2D:01:9F:44:1C:E6:21:3A:DF:15:67:91:E7:0C:17:90:11:0A:31
-@@ -25615,16 +25759,17 @@ CKA_VALUE MULTILINE_OCTAL
- \274\075\320\204\350\352\006\162\260\115\071\062\170\277\076\021
- \234\013\244\235\232\041\363\360\233\013\060\170\333\301\334\207
- \103\376\274\143\232\312\305\302\034\311\307\215\377\073\022\130
- \010\346\266\075\354\172\054\116\373\203\226\316\014\074\151\207
- \124\163\244\163\302\223\377\121\020\254\025\124\001\330\374\005
- \261\211\241\177\164\203\232\111\327\334\116\173\212\110\157\213
- \105\366
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust Root Certification Authority - G2"
- # Issuer: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Serial Number: 1246989352 (0x4a538c28)
- # Subject: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Not Valid Before: Tue Jul 07 17:25:54 2009
- # Not Valid After : Sat Dec 07 17:55:54 2030
- # Fingerprint (SHA-256): 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
-@@ -25759,16 +25904,17 @@ CKA_VALUE MULTILINE_OCTAL
- \075\004\003\003\003\147\000\060\144\002\060\141\171\330\345\102
- \107\337\034\256\123\231\027\266\157\034\175\341\277\021\224\321
- \003\210\165\344\215\211\244\212\167\106\336\155\141\357\002\365
- \373\265\337\314\376\116\377\376\251\346\247\002\060\133\231\327
- \205\067\006\265\173\010\375\353\047\213\112\224\371\341\372\247
- \216\046\010\350\174\222\150\155\163\330\157\046\254\041\002\270
- \231\267\046\101\133\045\140\256\320\110\032\356\006
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Entrust Root Certification Authority - EC1"
- # Issuer: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Serial Number:00:a6:8b:79:29:00:00:00:00:50:d0:91:f9
- # Subject: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
- # Not Valid Before: Tue Dec 18 15:25:36 2012
- # Not Valid After : Fri Dec 18 15:55:36 2037
- # Fingerprint (SHA-256): 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5
-@@ -25931,16 +26077,17 @@ CKA_VALUE MULTILINE_OCTAL
- \110\171\140\212\303\327\023\134\370\162\100\337\112\313\317\231
- \000\012\000\013\021\225\332\126\105\003\210\012\237\147\320\325
- \171\261\250\215\100\155\015\302\172\100\372\363\137\144\107\222
- \313\123\271\273\131\316\117\375\320\025\123\001\330\337\353\331
- \346\166\357\320\043\273\073\251\171\263\325\002\051\315\211\243
- \226\017\112\065\347\116\102\300\165\315\007\317\346\054\353\173
- \056
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CFCA EV ROOT"
- # Issuer: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
- # Serial Number: 407555286 (0x184accd6)
- # Subject: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
- # Not Valid Before: Wed Aug 08 03:07:01 2012
- # Not Valid After : Mon Dec 31 03:07:01 2029
- # Fingerprint (SHA-256): 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD
-@@ -26228,16 +26375,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\346\025\204\067\360\302\362\145\226\222\220\167\360\255\364
- \220\351\021\170\327\223\211\300\075\013\272\051\364\350\231\235
- \162\216\355\235\057\356\222\175\241\361\377\135\272\063\140\205
- \142\376\007\002\241\204\126\106\276\226\012\232\023\327\041\114
- \267\174\007\237\116\116\077\221\164\373\047\235\021\314\335\346
- \261\312\161\115\023\027\071\046\305\051\041\053\223\051\152\226
- \372\253\101\341\113\266\065\013\300\233\025
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TRKTRUST Elektronik Sertifika Hizmet Salaycs H5"
- # Issuer: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H5,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:00:8e:17:fe:24:20:81
- # Subject: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H5,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Tue Apr 30 08:07:01 2013
- # Not Valid After : Fri Apr 28 08:07:01 2023
- # Fingerprint (SHA-256): 49:35:1B:90:34:44:C1:85:CC:DC:5C:69:3D:24:D8:55:5C:B2:08:D6:A8:14:13:07:69:9F:4A:F0:63:19:9D:78
-@@ -26388,16 +26536,17 @@ CKA_VALUE MULTILINE_OCTAL
- \200\216\255\176\121\000\116\307\226\206\373\103\230\167\175\050
- \307\217\330\052\156\347\204\157\227\101\051\000\026\136\115\342
- \023\352\131\300\143\147\072\104\373\230\374\004\323\060\162\246
- \366\207\011\127\255\166\246\035\143\232\375\327\145\310\170\203
- \053\165\073\245\133\270\015\135\177\276\043\256\126\125\224\130
- \357\037\201\214\052\262\315\346\233\143\236\030\274\345\153\006
- \264\013\230\113\050\136\257\210\130\313
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "TRKTRUST Elektronik Sertifika Hizmet Salaycs H6"
- # Issuer: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H6,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Serial Number:7d:a1:f2:65:ec:8a
- # Subject: CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s.. H6,O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A....,L=Ankara,C=TR
- # Not Valid Before: Wed Dec 18 09:04:10 2013
- # Not Valid After : Sat Dec 16 09:04:10 2023
- # Fingerprint (SHA-256): 8D:E7:86:55:E1:BE:7F:78:47:80:0B:93:F6:94:D2:1D:36:8C:C0:6E:03:3E:7F:AB:04:BB:5E:B9:9D:A6:B7:00
-@@ -26559,16 +26708,17 @@ CKA_VALUE MULTILINE_OCTAL
- \307\132\141\315\217\201\140\025\115\200\335\220\342\175\304\120
- \362\214\073\156\112\307\306\346\200\053\074\201\274\021\200\026
- \020\047\327\360\315\077\171\314\163\052\303\176\123\221\326\156
- \370\365\363\307\320\121\115\216\113\245\133\346\031\027\073\326
- \201\011\334\042\334\356\216\271\304\217\123\341\147\273\063\270
- \210\025\106\317\355\151\065\377\165\015\106\363\316\161\341\305
- \153\206\102\006\271\101
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certinomis - Root CA"
- # Issuer: CN=Certinomis - Root CA,OU=0002 433998903,O=Certinomis,C=FR
- # Serial Number: 1 (0x1)
- # Subject: CN=Certinomis - Root CA,OU=0002 433998903,O=Certinomis,C=FR
- # Not Valid Before: Mon Oct 21 09:17:18 2013
- # Not Valid After : Fri Oct 21 09:17:18 2033
- # Fingerprint (SHA-256): 2A:99:F5:BC:11:74:B7:3C:BB:1D:62:08:84:E0:1C:34:E5:1C:CB:39:78:DA:12:5F:0E:33:26:88:83:BF:41:58
-@@ -26697,16 +26847,17 @@ CKA_VALUE MULTILINE_OCTAL
- \265\253\226\300\264\113\242\035\227\236\172\362\156\100\161\337
- \150\361\145\115\316\174\005\337\123\145\251\245\360\261\227\004
- \160\025\106\003\230\324\322\277\124\264\240\130\175\122\157\332
- \126\046\142\324\330\333\211\061\157\034\360\042\302\323\142\034
- \065\315\114\151\025\124\032\220\230\336\353\036\137\312\167\307
- \313\216\075\103\151\234\232\130\320\044\073\337\033\100\226\176
- \065\255\201\307\116\161\272\210\023
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OISTE WISeKey Global Root GB CA"
- # Issuer: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
- # Serial Number:76:b1:20:52:74:f0:85:87:46:b3:f8:23:1a:f6:c2:c0
- # Subject: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
- # Not Valid Before: Mon Dec 01 15:00:32 2014
- # Not Valid After : Thu Dec 01 15:10:31 2039
- # Fingerprint (SHA-256): 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6
-@@ -26831,16 +26982,17 @@ CKA_VALUE MULTILINE_OCTAL
- \171\266\063\131\272\017\304\013\342\160\240\113\170\056\372\310
- \237\375\257\221\145\012\170\070\025\345\227\027\024\335\371\340
- \054\064\370\070\320\204\042\000\300\024\121\030\053\002\334\060
- \132\360\350\001\174\065\072\043\257\010\344\257\252\216\050\102
- \111\056\360\365\231\064\276\355\017\113\030\341\322\044\074\273
- \135\107\267\041\362\215\321\012\231\216\343\156\076\255\160\340
- \217\271\312\314\156\201\061\366\173\234\172\171\344\147\161\030
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certification Authority of WoSign G2"
- # Issuer: CN=Certification Authority of WoSign G2,O=WoSign CA Limited,C=CN
- # Serial Number:6b:25:da:8a:88:9d:7c:bc:0f:05:b3:b1:7a:61:45:44
- # Subject: CN=Certification Authority of WoSign G2,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Nov 08 00:58:58 2014
- # Not Valid After : Tue Nov 08 00:58:58 2044
- # Fingerprint (SHA-256): D4:87:A5:6F:83:B0:74:82:E8:5E:96:33:94:C1:EC:C2:C9:E5:1D:09:03:EE:94:6B:02:C3:01:58:1E:D9:9E:16
-@@ -26939,16 +27091,17 @@ CKA_VALUE MULTILINE_OCTAL
- \004\003\003\003\150\000\060\145\002\061\000\344\244\204\260\201
- \325\075\260\164\254\224\244\350\016\075\000\164\114\241\227\153
- \371\015\121\074\241\331\073\364\015\253\251\237\276\116\162\312
- \205\324\331\354\265\062\105\030\157\253\255\002\060\175\307\367
- \151\143\057\241\341\230\357\023\020\321\171\077\321\376\352\073
- \177\336\126\364\220\261\025\021\330\262\042\025\320\057\303\046
- \056\153\361\221\262\220\145\364\232\346\220\356\112
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "CA WoSign ECC Root"
- # Issuer: CN=CA WoSign ECC Root,O=WoSign CA Limited,C=CN
- # Serial Number:68:4a:58:70:80:6b:f0:8f:02:fa:f6:de:e8:b0:90:90
- # Subject: CN=CA WoSign ECC Root,O=WoSign CA Limited,C=CN
- # Not Valid Before: Sat Nov 08 00:58:58 2014
- # Not Valid After : Tue Nov 08 00:58:58 2044
- # Fingerprint (SHA-256): 8B:45:DA:1C:06:F7:91:EB:0C:AB:F2:6B:E5:88:F5:FB:23:16:5C:2E:61:4B:F8:85:56:2D:0D:CE:50:B2:9B:02
-@@ -27071,16 +27224,17 @@ CKA_VALUE MULTILINE_OCTAL
- \322\324\141\372\325\025\333\327\237\207\121\124\353\245\343\353
- \311\205\240\045\040\067\373\216\316\014\064\204\341\074\201\262
- \167\116\103\245\210\137\206\147\241\075\346\264\134\141\266\076
- \333\376\267\050\305\242\007\256\265\312\312\215\052\022\357\227
- \355\302\060\244\311\052\172\373\363\115\043\033\231\063\064\240
- \056\365\251\013\077\324\135\341\317\204\237\342\031\302\137\212
- \326\040\036\343\163\267
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "SZAFIR ROOT CA2"
- # Issuer: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL
- # Serial Number:3e:8a:5d:07:ec:55:d2:32:d5:b7:e3:b6:5f:01:eb:2d:dc:e4:d6:e4
- # Subject: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL
- # Not Valid Before: Mon Oct 19 07:43:30 2015
- # Not Valid After : Fri Oct 19 07:43:30 2035
- # Fingerprint (SHA-256): A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE
-@@ -27248,16 +27402,17 @@ CKA_VALUE MULTILINE_OCTAL
- \134\002\312\054\330\157\112\007\331\311\065\332\100\165\362\304
- \247\031\157\236\102\020\230\165\346\225\213\140\274\355\305\022
- \327\212\316\325\230\134\126\226\003\305\356\167\006\065\377\317
- \344\356\077\023\141\356\333\332\055\205\360\315\256\235\262\030
- \011\105\303\222\241\162\027\374\107\266\240\013\054\361\304\336
- \103\150\010\152\137\073\360\166\143\373\314\006\054\246\306\342
- \016\265\271\276\044\217
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certum Trusted Network CA 2"
- # Issuer: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Serial Number:21:d6:d0:4a:4f:25:0f:c9:32:37:fc:aa:5e:12:8d:e9
- # Subject: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
- # Not Valid Before: Thu Oct 06 08:39:56 2011
- # Not Valid After : Sat Oct 06 08:39:56 2046
- # Fingerprint (SHA-256): B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04
-@@ -27434,16 +27589,17 @@ CKA_VALUE MULTILINE_OCTAL
- \245\314\073\330\167\067\060\242\117\331\157\321\362\100\255\101
- \172\027\305\326\112\065\211\267\101\325\174\206\177\125\115\203
- \112\245\163\040\300\072\257\220\361\232\044\216\331\216\161\312
- \173\270\206\332\262\217\231\076\035\023\015\022\021\356\324\253
- \360\351\025\166\002\344\340\337\252\040\036\133\141\205\144\100
- \251\220\227\015\255\123\322\132\035\207\152\000\227\145\142\264
- \276\157\152\247\365\054\102\355\062\255\266\041\236\276\274
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Hellenic Academic and Research Institutions RootCA 2015"
- # Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Not Valid Before: Tue Jul 07 10:11:21 2015
- # Not Valid After : Sat Jun 30 10:11:21 2040
- # Fingerprint (SHA-256): A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36
-@@ -27569,16 +27725,17 @@ CKA_VALUE MULTILINE_OCTAL
- \000\060\144\002\060\147\316\026\142\070\242\254\142\105\247\251
- \225\044\300\032\047\234\062\073\300\300\325\272\251\347\370\004
- \103\123\205\356\122\041\336\235\365\045\203\076\236\130\113\057
- \327\147\023\016\041\002\060\005\341\165\001\336\150\355\052\037
- \115\114\011\010\015\354\113\255\144\027\050\347\165\316\105\145
- \162\041\027\313\042\101\016\214\023\230\070\232\124\155\233\312
- \342\174\352\002\130\042\221
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Hellenic Academic and Research Institutions ECC RootCA 2015"
- # Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Serial Number: 0 (0x0)
- # Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
- # Not Valid Before: Tue Jul 07 10:37:12 2015
- # Not Valid After : Sat Jun 30 10:37:12 2040
- # Fingerprint (SHA-256): 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33
-@@ -27733,16 +27890,17 @@ CKA_VALUE MULTILINE_OCTAL
- \040\222\334\102\204\277\001\253\207\300\325\040\202\333\306\271
- \203\205\102\134\017\103\073\152\111\065\325\230\364\025\277\372
- \141\201\014\011\040\030\322\320\027\014\313\110\000\120\351\166
- \202\214\144\327\072\240\007\125\314\036\061\300\357\072\264\145
- \373\343\277\102\153\236\017\250\275\153\230\334\330\333\313\213
- \244\335\327\131\364\156\335\376\252\303\221\320\056\102\007\300
- \014\115\123\315\044\261\114\133\036\121\364\337\351\222\372
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certplus Root CA G1"
- # Issuer: CN=Certplus Root CA G1,O=Certplus,C=FR
- # Serial Number:11:20:55:83:e4:2d:3e:54:56:85:2d:83:37:b7:2c:dc:46:11
- # Subject: CN=Certplus Root CA G1,O=Certplus,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 15:2A:40:2B:FC:DF:2C:D5:48:05:4D:22:75:B3:9C:7F:CA:3E:C0:97:80:78:B0:F0:EA:76:E5:61:A6:C7:43:3E
-@@ -27838,16 +27996,17 @@ CKA_VALUE MULTILINE_OCTAL
- \110\316\075\004\003\003\003\150\000\060\145\002\060\160\376\260
- \013\331\367\203\227\354\363\125\035\324\334\263\006\016\376\063
- \230\235\213\071\220\153\224\041\355\266\327\135\326\114\327\041
- \247\347\277\041\017\053\315\367\052\334\205\007\235\002\061\000
- \206\024\026\345\334\260\145\302\300\216\024\237\277\044\026\150
- \345\274\371\171\151\334\255\105\053\367\266\061\163\314\006\245
- \123\223\221\032\223\256\160\152\147\272\327\236\345\141\032\137
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Certplus Root CA G2"
- # Issuer: CN=Certplus Root CA G2,O=Certplus,C=FR
- # Serial Number:11:20:d9:91:ce:ae:a3:e8:c5:e7:ff:e9:02:af:cf:73:bc:55
- # Subject: CN=Certplus Root CA G2,O=Certplus,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 6C:C0:50:41:E6:44:5E:74:69:6C:4C:FB:C9:F8:0F:54:3B:7E:AB:BB:44:B4:CE:6F:78:7C:6A:99:71:C4:2F:17
-@@ -27999,16 +28158,17 @@ CKA_VALUE MULTILINE_OCTAL
- \076\355\154\275\375\016\235\146\163\260\075\264\367\277\250\340
- \021\244\304\256\165\011\112\143\000\110\040\246\306\235\013\011
- \212\264\340\346\316\076\307\076\046\070\351\053\336\246\010\111
- \003\004\220\212\351\217\277\350\266\264\052\243\043\215\034\034
- \262\071\222\250\217\002\134\100\071\165\324\163\101\002\167\336
- \315\340\103\207\326\344\272\112\303\154\022\177\376\052\346\043
- \326\214\161
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G1"
- # Issuer: CN=OpenTrust Root CA G1,O=OpenTrust,C=FR
- # Serial Number:11:20:b3:90:55:39:7d:7f:36:6d:64:c2:a7:9f:6b:63:8e:67
- # Subject: CN=OpenTrust Root CA G1,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 08:45:50 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 56:C7:71:28:D9:8C:18:D9:1B:4C:FD:FF:BC:25:EE:91:03:D4:75:8E:A2:AB:AD:82:6A:90:F3:45:7D:46:0E:B4
-@@ -28161,16 +28321,17 @@ CKA_VALUE MULTILINE_OCTAL
- \210\335\147\023\157\035\150\044\213\117\267\164\201\345\364\140
- \237\172\125\327\076\067\332\026\153\076\167\254\256\030\160\225
- \010\171\051\003\212\376\301\073\263\077\032\017\244\073\136\037
- \130\241\225\311\253\057\163\112\320\055\156\232\131\017\125\030
- \170\055\074\121\246\227\213\346\273\262\160\252\114\021\336\377
- \174\053\067\324\172\321\167\064\217\347\371\102\367\074\201\014
- \113\122\012
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G2"
- # Issuer: CN=OpenTrust Root CA G2,O=OpenTrust,C=FR
- # Serial Number:11:20:a1:69:1b:bf:bd:b9:bd:52:96:8f:23:e8:48:bf:26:11
- # Subject: CN=OpenTrust Root CA G2,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): 27:99:58:29:FE:6A:75:15:C1:BF:E8:48:F9:C4:76:1D:B1:6C:22:59:29:25:7B:F4:0D:08:94:F2:9E:A8:BA:F2
-@@ -28270,16 +28431,17 @@ CKA_VALUE MULTILINE_OCTAL
- \061\000\217\250\334\235\272\014\004\027\372\025\351\075\057\051
- \001\227\277\201\026\063\100\223\154\374\371\355\200\160\157\252
- \217\333\204\302\213\365\065\312\006\334\144\157\150\026\341\217
- \221\271\002\061\000\330\113\245\313\302\320\010\154\351\030\373
- \132\335\115\137\044\013\260\000\041\045\357\217\247\004\046\161
- \342\174\151\345\135\232\370\101\037\073\071\223\223\235\125\352
- \315\215\361\373\301
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "OpenTrust Root CA G3"
- # Issuer: CN=OpenTrust Root CA G3,O=OpenTrust,C=FR
- # Serial Number:11:20:e6:f8:4c:fc:24:b0:be:05:40:ac:da:83:1b:34:60:3f
- # Subject: CN=OpenTrust Root CA G3,O=OpenTrust,C=FR
- # Not Valid Before: Mon May 26 00:00:00 2014
- # Not Valid After : Fri Jan 15 00:00:00 2038
- # Fingerprint (SHA-256): B7:C3:62:31:70:6E:81:07:8C:36:7C:B8:96:19:8F:1E:32:08:DD:92:69:49:DD:8F:57:09:A4:10:F7:5B:62:92
-@@ -28433,16 +28595,17 @@ CKA_VALUE MULTILINE_OCTAL
- \242\320\141\070\341\226\270\254\135\213\067\327\165\325\063\300
- \231\021\256\235\101\301\162\165\204\276\002\101\102\137\147\044
- \110\224\321\233\047\276\007\077\271\270\117\201\164\121\341\172
- \267\355\235\043\342\276\340\325\050\004\023\074\061\003\236\335
- \172\154\217\306\007\030\306\177\336\107\216\077\050\236\004\006
- \317\245\124\064\167\275\354\211\233\351\027\103\337\133\333\137
- \376\216\036\127\242\315\100\235\176\142\042\332\336\030\047
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "ISRG Root X1"
- # Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US
- # Serial Number:00:82:10:cf:b0:d2:40:e3:59:44:63:e0:bb:63:82:8b:00
- # Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US
- # Not Valid Before: Thu Jun 04 11:04:38 2015
- # Not Valid After : Mon Jun 04 11:04:38 2035
- # Fingerprint (SHA-256): 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6
-@@ -28595,16 +28758,17 @@ CKA_VALUE MULTILINE_OCTAL
- \152\260\272\061\222\102\100\152\276\072\323\162\341\152\067\125
- \274\254\035\225\267\151\141\362\103\221\164\346\240\323\012\044
- \106\241\010\257\326\332\105\031\226\324\123\035\133\204\171\360
- \300\367\107\357\213\217\305\006\256\235\114\142\235\377\106\004
- \370\323\311\266\020\045\100\165\376\026\252\311\112\140\206\057
- \272\357\060\167\344\124\342\270\204\231\130\200\252\023\213\121
- \072\117\110\366\213\266\263
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "AC RAIZ FNMT-RCM"
- # Issuer: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES
- # Serial Number:5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07
- # Subject: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES
- # Not Valid Before: Wed Oct 29 15:59:56 2008
- # Not Valid After : Tue Jan 01 00:00:00 2030
- # Fingerprint (SHA-256): EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA
-@@ -28719,16 +28883,17 @@ CKA_VALUE MULTILINE_OCTAL
- \331\017\110\160\232\331\165\170\161\321\162\103\064\165\156\127
- \131\302\002\134\046\140\051\317\043\031\026\216\210\103\245\324
- \344\313\010\373\043\021\103\350\103\051\162\142\241\251\135\136
- \010\324\220\256\270\330\316\024\302\320\125\362\206\366\304\223
- \103\167\146\141\300\271\350\101\327\227\170\140\003\156\112\162
- \256\245\321\175\272\020\236\206\154\033\212\271\131\063\370\353
- \304\220\276\361\271
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 1"
- # Issuer: CN=Amazon Root CA 1,O=Amazon,C=US
- # Serial Number:06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca
- # Subject: CN=Amazon Root CA 1,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sun Jan 17 00:00:00 2038
- # Fingerprint (SHA-256): 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
-@@ -28875,16 +29040,17 @@ CKA_VALUE MULTILINE_OCTAL
- \357\242\245\134\214\167\051\247\150\300\153\256\100\322\250\264
- \352\315\360\215\113\070\234\031\232\033\050\124\270\211\220\357
- \312\165\201\076\036\362\144\044\307\030\257\116\377\107\236\007
- \366\065\145\244\323\012\126\377\365\027\144\154\357\250\042\045
- \111\223\266\337\000\027\332\130\176\135\356\305\033\260\321\321
- \137\041\020\307\371\363\272\002\012\047\007\305\361\326\307\323
- \340\373\011\140\154
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 2"
- # Issuer: CN=Amazon Root CA 2,O=Amazon,C=US
- # Serial Number:06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37
- # Subject: CN=Amazon Root CA 2,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
-@@ -28974,16 +29140,17 @@ CKA_VALUE MULTILINE_OCTAL
- \266\333\327\006\236\067\254\060\206\007\221\160\307\234\304\031
- \261\170\300\060\012\006\010\052\206\110\316\075\004\003\002\003
- \111\000\060\106\002\041\000\340\205\222\243\027\267\215\371\053
- \006\245\223\254\032\230\150\141\162\372\341\241\320\373\034\170
- \140\246\103\231\305\270\304\002\041\000\234\002\357\361\224\234
- \263\226\371\353\306\052\370\266\054\376\072\220\024\026\327\214
- \143\044\110\034\337\060\175\325\150\073
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 3"
- # Issuer: CN=Amazon Root CA 3,O=Amazon,C=US
- # Serial Number:06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a
- # Subject: CN=Amazon Root CA 3,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
-@@ -29077,16 +29244,17 @@ CKA_VALUE MULTILINE_OCTAL
- \145\002\060\072\213\041\361\275\176\021\255\320\357\130\226\057
- \326\353\235\176\220\215\053\317\146\125\303\054\343\050\251\160
- \012\107\016\360\067\131\022\377\055\231\224\050\116\052\117\065
- \115\063\132\002\061\000\352\165\000\116\073\304\072\224\022\221
- \311\130\106\235\041\023\162\247\210\234\212\344\114\112\333\226
- \324\254\213\153\153\111\022\123\063\255\327\344\276\044\374\265
- \012\166\324\245\274\020
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Amazon Root CA 4"
- # Issuer: CN=Amazon Root CA 4,O=Amazon,C=US
- # Serial Number:06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e
- # Subject: CN=Amazon Root CA 4,O=Amazon,C=US
- # Not Valid Before: Tue May 26 00:00:00 2015
- # Not Valid After : Sat May 26 00:00:00 2040
- # Fingerprint (SHA-256): E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
-@@ -29243,16 +29411,17 @@ CKA_VALUE MULTILINE_OCTAL
- \105\111\231\164\221\260\004\157\343\004\132\261\253\052\253\376
- \307\320\226\266\332\341\112\144\006\156\140\115\275\102\116\377
- \170\332\044\312\033\264\327\226\071\154\256\361\016\252\247\175
- \110\213\040\114\317\144\326\270\227\106\260\116\321\052\126\072
- \240\223\275\257\200\044\340\012\176\347\312\325\312\350\205\125
- \334\066\052\341\224\150\223\307\146\162\104\017\200\041\062\154
- \045\307\043\200\203\012\353
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "LuxTrust Global Root 2"
- # Issuer: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU
- # Serial Number:0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1
- # Subject: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU
- # Not Valid Before: Thu Mar 05 13:21:57 2015
- # Not Valid After : Mon Mar 05 13:21:57 2035
- # Fingerprint (SHA-256): 54:45:5F:71:29:C2:0B:14:47:C4:18:F9:97:16:8F:24:C5:8F:C5:02:3B:F5:DA:5B:E2:EB:6E:1D:D8:90:2E:D5
-@@ -29391,16 +29560,17 @@ CKA_VALUE MULTILINE_OCTAL
- \347\066\321\041\150\113\055\070\346\123\256\034\045\126\010\126
- \003\147\204\235\306\303\316\044\142\307\114\066\317\260\006\104
- \267\365\137\002\335\331\124\351\057\220\116\172\310\116\203\100
- \014\232\227\074\067\277\277\354\366\360\264\205\167\050\301\013
- \310\147\202\020\027\070\242\267\006\352\233\277\072\370\351\043
- \007\277\164\340\230\070\025\125\170\356\162\000\134\031\243\364
- \322\063\340\377\275\321\124\071\051\017
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 1 Public Primary Certification Authority - G6"
- # Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:24:32:75:f2:1d:2f:d2:09:33:f7:b4:6a:ca:d0:f3:98
- # Subject: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Tue Oct 18 00:00:00 2011
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (SHA-256): 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9
-@@ -29544,16 +29714,17 @@ CKA_VALUE MULTILINE_OCTAL
- \111\315\245\243\214\151\171\045\256\270\114\154\213\100\146\113
- \026\077\317\002\032\335\341\154\153\007\141\152\166\025\051\231
- \177\033\335\210\200\301\277\265\217\163\305\246\226\043\204\246
- \050\206\044\063\152\001\056\127\163\045\266\136\277\217\346\035
- \141\250\100\051\147\035\207\233\035\177\233\237\231\315\061\326
- \124\276\142\273\071\254\150\022\110\221\040\245\313\261\335\376
- \157\374\132\344\202\125\131\257\061\251
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 2 Public Primary Certification Authority - G6"
- # Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:64:82:9e:fc:37:1e:74:5d:fc:97:ff:97:c8:b1:ff:41
- # Subject: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Tue Oct 18 00:00:00 2011
- # Not Valid After : Tue Dec 01 23:59:59 2037
- # Fingerprint (SHA-256): CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0
-@@ -29676,16 +29847,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\245\256\343\106\123\370\230
- \066\343\042\372\056\050\111\015\356\060\176\063\363\354\077\161
- \136\314\125\211\170\231\254\262\375\334\034\134\063\216\051\271
- \153\027\310\021\150\265\334\203\007\002\061\000\234\310\104\332
- \151\302\066\303\124\031\020\205\002\332\235\107\357\101\347\154
- \046\235\011\075\367\155\220\321\005\104\057\260\274\203\223\150
- \362\014\105\111\071\277\231\004\034\323\020\240
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 1 Public Primary Certification Authority - G4"
- # Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8
- # Subject: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Wed Oct 05 00:00:00 2011
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): 36:3F:3C:84:9E:AB:03:B0:A2:A0:F6:36:D7:B8:6D:04:D3:AC:7F:CF:E2:6A:0A:91:21:AB:97:95:F6:E1:76:DF
-@@ -29808,16 +29980,17 @@ CKA_VALUE MULTILINE_OCTAL
- \003\003\151\000\060\146\002\061\000\310\246\251\257\101\177\265
- \311\021\102\026\150\151\114\134\270\047\030\266\230\361\300\177
- \220\155\207\323\214\106\027\360\076\117\374\352\260\010\304\172
- \113\274\010\057\307\342\247\157\145\002\061\000\326\131\336\206
- \316\137\016\312\124\325\306\320\025\016\374\213\224\162\324\216
- \000\130\123\317\176\261\113\015\345\120\206\353\236\153\337\377
- \051\246\330\107\331\240\226\030\333\362\105\263
- END
-+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
- # Trust for "Symantec Class 2 Public Primary Certification Authority - G4"
- # Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Serial Number:34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e
- # Subject: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US
- # Not Valid Before: Wed Oct 05 00:00:00 2011
- # Not Valid After : Mon Jan 18 23:59:59 2038
- # Fingerprint (SHA-256): FE:86:3D:08:22:FE:7A:23:53:FA:48:4D:59:24:E8:75:65:6D:3D:C9:FB:58:77:1F:6F:61:6F:9D:57:1B:C5:92
-diff --git a/lib/nss/nss.def b/lib/nss/nss.def
---- a/lib/nss/nss.def
-+++ b/lib/nss/nss.def
-@@ -1092,8 +1092,15 @@ SECMOD_CreateModuleEx;
- ;+};
- ;+NSS_3.22 { # NSS 3.22 release
- ;+ global:
- PK11_SignWithMechanism;
- PK11_VerifyWithMechanism;
- ;+ local:
- ;+ *;
- ;+};
-+;+NSS_3.30 { # NSS 3.30 release
-+;+ global:
-+CERT_CompareAVA;
-+PK11_HasAttributeSet;
-+;+ local:
-+;+ *;
-+;+};
-diff --git a/lib/util/pkcs11n.h b/lib/util/pkcs11n.h
---- a/lib/util/pkcs11n.h
-+++ b/lib/util/pkcs11n.h
-@@ -88,16 +88,18 @@
- #define CKA_NSS_JPAKE_PEERID (CKA_NSS + 27)
- #define CKA_NSS_JPAKE_GX1 (CKA_NSS + 28)
- #define CKA_NSS_JPAKE_GX2 (CKA_NSS + 29)
- #define CKA_NSS_JPAKE_GX3 (CKA_NSS + 30)
- #define CKA_NSS_JPAKE_GX4 (CKA_NSS + 31)
- #define CKA_NSS_JPAKE_X2 (CKA_NSS + 32)
- #define CKA_NSS_JPAKE_X2S (CKA_NSS + 33)
-
-+#define CKA_NSS_MOZILLA_CA_POLICY (CKA_NSS + 34)
-+
- /*
- * Trust attributes:
- *
- * If trust goes standard, these probably will too. So I'll
- * put them all in one place.
- */
-
- #define CKA_TRUST (CKA_NSS + 0x2000)
diff --git a/seamonkey-2.46-exthandler.patch b/seamonkey-2.46-exthandler.patch
deleted file mode 100644
index 60fe822..0000000
--- a/seamonkey-2.46-exthandler.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nrbu seamonkey-2.35/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp seamonkey-2.35-OK/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
---- seamonkey-2.35/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 2015-09-28 15:41:04.000000000 +0300
-+++ seamonkey-2.35-OK/comm-release/mozilla/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 2016-01-23 22:22:15.951365797 +0300
-@@ -118,11 +118,21 @@
- uri->GetSpec(uriSpec);
-
- nsCOMPtr<nsIGIOMimeApp> app;
-- if (NS_FAILED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) || !app) {
-- return NS_ERROR_FILE_NOT_FOUND;
-- }
-+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
-+ return app->Launch(uriSpec);
-
-+ // If we haven't got an app we try to get a valid one by searching for the
-+ // extension mapped type
-+ RefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromExtension(nativePath);
-+ if (mimeInfo) {
-+ nsAutoCString type;
-+ mimeInfo->GetType(type);
-+ nsCOMPtr<nsIGIOMimeApp> app;
-+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
- return app->Launch(uriSpec);
-+ }
-+
-+ return NS_ERROR_FILE_NOT_FOUND;
- }
-
- #if defined(MOZ_ENABLE_CONTENTACTION)
diff --git a/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch b/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
deleted file mode 100644
index 863cb2c..0000000
--- a/seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
+++ /dev/null
@@ -1,277 +0,0 @@
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/communicator/scrollbars.css 1970-01-01 03:00:00.000000000 +0300
-@@ -1,220 +0,0 @@
--/* This Source Code Form is subject to the terms of 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/. */
--
--/* ===== xulscrollbars.css ==============================================
-- == Styles used by XUL scrollbar-related elements.
-- ======================================================================= */
--
--@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
--@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
--
--/* ::::: scrollbar ::::: */
--
--scrollbar {
-- -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
-- cursor: default;
-- background: #888888;
-- border-left: 1px solid #555555;
-- border-right: 1px solid #555555;
--}
--
--scrollbar[orient="vertical"]
--{
-- -moz-appearance: scrollbar-vertical;
-- border-left: none;
-- border-right: none;
-- border-top: 1px solid #555555;
-- border-bottom: 1px solid #555555;
--}
--
--/* ::::: borders for thumb and buttons ::::: */
--
--thumb,
--scrollbarbutton {
-- border: 1px solid #555555;
-- background-color: -moz-Dialog;
--}
--
--/* ::::: thumb (horizontal) ::::: */
--
--thumb {
-- min-height: 8px;
--}
--
--thumb[orient="horizontal"] {
-- min-width: 8px;
--}
--
--/* ::::: scrollbar button ::::: */
--
--scrollbarbutton {
-- background: -moz-Dialog no-repeat 50% 50%;
-- min-width: 16px;
-- min-height: 16px;
--}
--
--scrollbarbutton:hover:active, scrollbarbutton[active="true"] {
-- border-color: #999999;
-- background-position: 60% 60%;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-bottom"],
--scrollbarbutton[sbattr="scrollbar-down-top"] {
-- display: none;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-top"],
--scrollbarbutton[sbattr="scrollbar-down-bottom"] {
-- display: -moz-box !important;
--}
--
--/* ::::: square at the corner of two scrollbars ::::: */
--
--scrollcorner {
-- /* XXX -moz-appearance: scrollcorner; */
-- -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
-- width: 16px;
-- cursor: default;
-- background-color: -moz-Dialog;
--}
--
--/* ..... increment .... */
--
--scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-right;
-- background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
--}
--
--scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-down;
-- background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
--}
--
--/* ..... decrement .... */
--
--scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-left;
-- background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
--}
--
--scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-up;
-- background-image: url("chrome://global/skin/arrow/arrow-up.gif")
--}
--
--scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
--}
--
--/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
--/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
--/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
--@media print {
-- /* ::::: scrollbar ::::: */
--
-- html|div scrollbar {
-- -moz-appearance: scrollbar-horizontal;
-- -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
-- cursor: default;
-- background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
-- }
--
-- html|div scrollbar[orient="vertical"]
-- {
-- -moz-appearance: scrollbar-vertical;
-- }
--
-- /* ::::: borders for thumb and buttons ::::: */
--
-- html|div thumb,
-- html|div scrollbarbutton {
-- border: 2px solid;
-- -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
-- -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
-- -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
-- -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
-- background-color: -moz-Dialog;
-- }
--
-- /* ::::: thumb (horizontal) ::::: */
--
-- html|div thumb {
-- -moz-appearance: scrollbarthumb-vertical;
-- min-height: 8px;
-- }
--
-- html|div thumb[orient="horizontal"] {
-- -moz-appearance: scrollbarthumb-horizontal;
-- min-width: 8px;
-- }
--
-- /* ::::: scrollbar button ::::: */
--
-- html|div scrollbarbutton {
-- background: -moz-Dialog no-repeat 50% 50%;
-- min-width: 16px;
-- min-height: 16px;
-- }
--
-- html|div scrollbarbutton:hover:active, html|div scrollbarbutton[active="true"] {
-- -moz-border-top-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-right-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
-- -moz-border-left-colors: ThreeDShadow -moz-Dialog;
-- background-position: 60% 60%;
-- }
--
-- /* ..... increment .... */
--
-- html|div scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-right;
-- background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
-- }
--
-- html|div scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-- -moz-appearance: scrollbarbutton-down;
-- background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
-- }
--
-- /* ..... decrement .... */
--
-- html|div scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-left;
-- background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
-- }
--
-- html|div scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-- -moz-appearance: scrollbarbutton-up;
-- background-image: url("chrome://global/skin/arrow/arrow-up.gif")
-- }
--
-- html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
-- background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
-- }
--
--}
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/jar.mn seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/jar.mn
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/jar.mn 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/jar.mn 2018-02-18 02:13:26.326949709 +0300
-@@ -64,7 +64,6 @@
- * skin/classic/communicator/communicator.css (communicator/communicator.css)
- skin/classic/communicator/config.css (communicator/config.css)
- skin/classic/communicator/toolbar.css (communicator/toolbar.css)
-- skin/classic/communicator/scrollbars.css (communicator/scrollbars.css)
- skin/classic/communicator/viewSourceOverlay.css (communicator/viewSourceOverlay.css)
- skin/classic/communicator/bookmarks/bookmark-folder-closed.png (communicator/bookmarks/bookmark-folder-closed.png)
- skin/classic/communicator/bookmarks/bookmark-folder-dis.png (communicator/bookmarks/bookmark-folder-dis.png)
-@@ -503,7 +502,3 @@
- #ifdef XP_WIN
- % override chrome://communicator/skin/console/console-toolbar.png chrome://communicator/skin/console/console-toolbar-XP.png osversion<6
- #endif
--
--#ifdef MOZ_WIDGET_GTK
--% override chrome://global/skin/scrollbars.css chrome://communicator/skin/scrollbars.css
--#endif
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/global/scrollbars.css 2018-02-18 02:13:26.326949709 +0300
-@@ -48,18 +48,6 @@
- -moz-border-left-colors: #111111 #D5FCF3 #D4DBE3;
- }
-
--%ifdef MOZ_WIDGET_GTK
--scrollbarbutton[sbattr="scrollbar-up-bottom"],
--scrollbarbutton[sbattr="scrollbar-down-top"] {
-- display: none;
--}
--
--scrollbarbutton[sbattr="scrollbar-up-top"],
--scrollbarbutton[sbattr="scrollbar-down-bottom"] {
-- display: -moz-box !important;
--}
--%endif
--
- /* ::::: thumb (horizontal) ::::: */
-
- thumb {
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/jar.mn seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/jar.mn
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/modern/jar.mn 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/modern/jar.mn 2018-02-18 02:13:26.362948332 +0300
-@@ -238,7 +238,7 @@
- skin/modern/global/toolbarbutton.css (global/toolbarbutton.css)
- skin/modern/global/tree.css (global/tree.css)
- skin/modern/global/wizard.css (global/wizard.css)
--* skin/modern/global/scrollbars.css (global/scrollbars.css)
-+ skin/modern/global/scrollbars.css (global/scrollbars.css)
- skin/modern/global/scrollbars-mini.css (global/scrollbars-mini.css)
- skin/modern/global/alerts/alert.css (global/alerts/alert.css)
- skin/modern/global/alerts/notification-48.png (global/alerts/notification-48.png)
diff --git a/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch b/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
deleted file mode 100644
index df77fad..0000000
--- a/seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Nrbu seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css
---- seamonkey-2.49.2/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css 2018-02-05 14:38:18.000000000 +0300
-+++ seamonkey-2.49.2-OK/seamonkey-2.49.2/suite/themes/classic/navigator/tabbrowser.css 2018-02-18 02:04:28.764239372 +0300
-@@ -50,14 +50,6 @@
- margin-bottom: 0px;
- padding-top: 2px; /* compensates the top margin of background tabs */
- padding-bottom: 3px; /* compensates the bottom margin of background tabs */
-- background-color: -moz-dialog;
-- -moz-border-top-colors: unset;
-- -moz-border-right-colors: unset;
-- color: -moz-dialogtext;
-- border: 1px solid Gray;
-- border-top: 2px solid RoyalBlue;
-- border-bottom: 0px none;
-- -moz-appearance: none;
- }
-
- .tabbrowser-tab:-moz-lwtheme {
diff --git a/seamonkey-2.49.5-crmf.patch b/seamonkey-2.49.5-crmf.patch
deleted file mode 100644
index 3736249..0000000
--- a/seamonkey-2.49.5-crmf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build 2019-05-06 20:30:52.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/security/manager/ssl/moz.build 2019-08-12 01:40:45.891454909 +0300
-@@ -184,10 +184,6 @@
-
- DEFINES['CERT_AddTempCertToPerm'] = '__CERT_AddTempCertToPerm'
-
--USE_LIBS += [
-- 'crmf',
--]
--
- include('/ipc/chromium/chromium-config.mozbuild')
-
- if CONFIG['GNU_CXX']:
diff --git a/seamonkey-2.49.5-mozilla-1559419 b/seamonkey-2.49.5-mozilla-1559419
deleted file mode 100644
index 9b272c0..0000000
--- a/seamonkey-2.49.5-mozilla-1559419
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/suite/app/Makefile.in seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/app/Makefile.in
---- seamonkey-2.49.5/seamonkey-2.49.5/suite/app/Makefile.in 2019-07-14 00:01:29.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/app/Makefile.in 2019-08-19 22:45:02.346141684 +0300
-@@ -97,6 +97,7 @@
- $(foreach dir,$(filter-out $(DONOTPACK),$(subst $(STAGEDIST)/,,$(wildcard $(STAGEDIST)/*))),$(_PACKAGE_EXTENSIONS))
-
- tools::
-+ $(NSINSTALL) -D $(DIST)/bin/distribution/extensions
- @$(MAKE) pack-ext STAGEDIST="$(DIST)/bin/extensions"
- @$(MAKE) pack-ext STAGEDIST="$(DIST)/bin/distribution/extensions"
-
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/suite/locales/Makefile.in seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/locales/Makefile.in
---- seamonkey-2.49.5/seamonkey-2.49.5/suite/locales/Makefile.in 2019-07-14 00:01:29.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/suite/locales/Makefile.in 2019-08-19 22:45:21.358643583 +0300
-@@ -123,7 +123,7 @@
- @$(MAKE) -C $(DEPTH)/toolkit/locales libs-$*
- @$(MAKE) -C $(DEPTH)/services/sync/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C ../../editor/ui/locales AB_CD=$* XPI_NAME=locale-$*
-- @$(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$*
-+ @$(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$* || :
- @$(MAKE) -C $(DEPTH)/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C $(DEPTH)/devtools/client/locales AB_CD=$* XPI_NAME=locale-$*
diff --git a/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch b/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
deleted file mode 100644
index 849ee74..0000000
--- a/seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.cpp 2019-08-12 02:24:31.969115146 +0300
-@@ -154,113 +154,6 @@
- const static bool kUseSimpleContextDefault = MOZ_WIDGET_GTK == 2;
-
- /******************************************************************************
-- * SelectionStyleProvider
-- *
-- * IME (e.g., fcitx, ~4.2.8.3) may look up selection colors of widget, which
-- * is related to the window associated with the IM context, to support any
-- * colored widgets. Our editor (like <input type="text">) is rendered as
-- * native GtkTextView as far as possible by default and if editor color is
-- * changed by web apps, nsTextFrame may swap background color of foreground
-- * color of composition string for making composition string is always
-- * visually distinct in normal text.
-- *
-- * So, we would like IME to set style of composition string to good colors
-- * in GtkTextView. Therefore, this class overwrites selection colors of
-- * our widget with selection colors of GtkTextView so that it's possible IME
-- * to refer selection colors of GtkTextView via our widget.
-- ******************************************************************************/
--
--class SelectionStyleProvider final
--{
--public:
-- static SelectionStyleProvider* GetInstance()
-- {
-- if (sHasShutDown) {
-- return nullptr;
-- }
-- if (!sInstance) {
-- sInstance = new SelectionStyleProvider();
-- }
-- return sInstance;
-- }
--
-- static void Shutdown()
-- {
-- if (sInstance) {
-- g_object_unref(sInstance->mProvider);
-- }
-- delete sInstance;
-- sInstance = nullptr;
-- sHasShutDown = true;
-- }
--
-- // aGDKWindow is a GTK window which will be associated with an IM context.
-- void AttachTo(GdkWindow* aGDKWindow)
-- {
-- GtkWidget* widget = nullptr;
-- // gdk_window_get_user_data() typically returns pointer to widget that
-- // window belongs to. If it's widget, fcitx retrieves selection colors
-- // of them. So, we need to overwrite its style.
-- gdk_window_get_user_data(aGDKWindow, (gpointer*)&widget);
-- if (GTK_IS_WIDGET(widget)) {
-- gtk_style_context_add_provider(
-- gtk_widget_get_style_context(widget),
-- GTK_STYLE_PROVIDER(mProvider),
-- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-- }
-- }
--
-- void OnThemeChanged()
-- {
-- // fcitx refers GtkStyle::text[GTK_STATE_SELECTED] and
-- // GtkStyle::bg[GTK_STATE_SELECTED] (although pair of text and *base*
-- // or *fg* and bg is correct). gtk_style_update_from_context() will
-- // set these colors using the widget's GtkStyleContext and so the
-- // colors can be controlled by a ":selected" CSS rule.
-- nsAutoCString style(":selected{");
-- // FYI: LookAndFeel always returns selection colors of GtkTextView.
-- nscolor selectionForegroundColor;
-- if (NS_SUCCEEDED(LookAndFeel::GetColor(
-- LookAndFeel::eColorID_TextSelectForeground,
-- &selectionForegroundColor))) {
-- double alpha =
-- static_cast<double>(NS_GET_A(selectionForegroundColor)) / 0xFF;
-- style.AppendPrintf("color:rgba(%u,%u,%u,%f);",
-- NS_GET_R(selectionForegroundColor),
-- NS_GET_G(selectionForegroundColor),
-- NS_GET_B(selectionForegroundColor), alpha);
-- }
-- nscolor selectionBackgroundColor;
-- if (NS_SUCCEEDED(LookAndFeel::GetColor(
-- LookAndFeel::eColorID_TextSelectBackground,
-- &selectionBackgroundColor))) {
-- double alpha =
-- static_cast<double>(NS_GET_A(selectionBackgroundColor)) / 0xFF;
-- style.AppendPrintf("background-color:rgba(%u,%u,%u,%f);",
-- NS_GET_R(selectionBackgroundColor),
-- NS_GET_G(selectionBackgroundColor),
-- NS_GET_B(selectionBackgroundColor), alpha);
-- }
-- style.AppendLiteral("}");
-- gtk_css_provider_load_from_data(mProvider, style.get(), -1, nullptr);
-- }
--
--private:
-- static SelectionStyleProvider* sInstance;
-- static bool sHasShutDown;
-- GtkCssProvider* const mProvider;
--
-- SelectionStyleProvider()
-- : mProvider(gtk_css_provider_new())
-- {
-- OnThemeChanged();
-- }
--};
--
--SelectionStyleProvider* SelectionStyleProvider::sInstance = nullptr;
--bool SelectionStyleProvider::sHasShutDown = false;
--
--/******************************************************************************
- * IMContextWrapper
- ******************************************************************************/
-
-@@ -310,11 +203,6 @@
- NS_PRECONDITION(container, "container is null");
- GdkWindow* gdkWindow = gtk_widget_get_window(GTK_WIDGET(container));
-
-- // Overwrite selection colors of the window before associating the window
-- // with IM context since IME may look up selection colors via IM context
-- // to support any colored widgets.
-- SelectionStyleProvider::GetInstance()->AttachTo(gdkWindow);
--
- // NOTE: gtk_im_*_new() abort (kill) the whole process when it fails.
- // So, we don't need to check the result.
-
-@@ -363,13 +251,6 @@
- gtk_im_context_set_client_window(mDummyContext, gdkWindow);
- }
-
--/* static */
--void
--IMContextWrapper::Shutdown()
--{
-- SelectionStyleProvider::Shutdown();
--}
--
- IMContextWrapper::~IMContextWrapper()
- {
- if (this == sLastFocusedContext) {
-@@ -1154,16 +1035,6 @@
-
- /* static */
- void
--IMContextWrapper::OnThemeChanged()
--{
-- if (!SelectionStyleProvider::GetInstance()) {
-- return;
-- }
-- SelectionStyleProvider::GetInstance()->OnThemeChanged();
--}
--
--/* static */
--void
- IMContextWrapper::OnStartCompositionCallback(GtkIMContext* aContext,
- IMContextWrapper* aModule)
- {
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h 2019-05-06 20:31:09.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/IMContextWrapper.h 2019-08-12 02:24:31.994127437 +0300
-@@ -47,9 +47,6 @@
- // used with the instance after that).
- explicit IMContextWrapper(nsWindow* aOwnerWindow);
-
-- // Called when the process is being shut down.
-- static void Shutdown();
--
- // "Enabled" means the users can use all IMEs.
- // I.e., the focus is in the normal editors.
- bool IsEnabled() const;
-@@ -68,8 +65,6 @@
- // in the focused editor.
- void OnSelectionChange(nsWindow* aCaller,
- const IMENotification& aIMENotification);
-- // OnThemeChanged is called when desktop theme is changed.
-- static void OnThemeChanged();
-
- // OnKeyEvent is called when aWindow gets a native key press event or a
- // native key release event. If this returns TRUE, the key event was
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c 2019-05-06 20:31:09.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/mozgtk/mozgtk.c 2019-08-12 02:24:31.994127437 +0300
-@@ -510,8 +510,6 @@
- #endif
-
- #ifdef GTK3_SYMBOLS
--STUB(gtk_css_provider_load_from_data)
--STUB(gtk_css_provider_new)
- STUB(gdk_device_get_source)
- STUB(gdk_device_manager_get_client_pointer)
- STUB(gdk_disable_multidevice)
-@@ -550,7 +548,6 @@
- STUB(gtk_scale_new)
- STUB(gtk_scrollbar_new)
- STUB(gtk_style_context_add_class)
--STUB(gtk_style_context_add_provider)
- STUB(gtk_style_context_add_region)
- STUB(gtk_style_context_get)
- STUB(gtk_style_context_get_background_color)
-@@ -577,7 +574,6 @@
- STUB(gtk_style_context_set_parent)
- STUB(gtk_style_context_set_state)
- STUB(gtk_style_properties_lookup_property)
--STUB(gtk_style_provider_get_type)
- STUB(gtk_tree_view_column_get_button)
- STUB(gtk_widget_get_preferred_size)
- STUB(gtk_widget_get_state_flags)
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWidgetFactory.cpp 2019-08-12 02:24:31.994127437 +0300
-@@ -17,7 +17,6 @@
- #include "nsWindow.h"
- #include "nsTransferable.h"
- #include "nsHTMLFormatConverter.h"
--#include "IMContextWrapper.h"
- #ifdef MOZ_X11
- #include "nsClipboardHelper.h"
- #include "nsClipboard.h"
-@@ -310,7 +309,6 @@
- nsFilePicker::Shutdown();
- nsSound::Shutdown();
- nsWindow::ReleaseGlobals();
-- IMContextWrapper::Shutdown();
- KeymapWrapper::Shutdown();
- nsGTKToolkit::Shutdown();
- nsAppShellShutdown();
-diff -Nrbu seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp
---- seamonkey-2.49.5/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp 2019-05-06 20:31:11.000000000 +0300
-+++ seamonkey-2.49.5-OK/seamonkey-2.49.5/mozilla/widget/gtk/nsWindow.cpp 2019-08-12 02:24:31.996128451 +0300
-@@ -3401,8 +3401,6 @@
-
- children = children->next;
- }
--
-- IMContextWrapper::OnThemeChanged();
- }
-
- void
diff --git a/seamonkey-2.53.1-mozilla-1533969.patch b/seamonkey-2.53.1-mozilla-1533969.patch
new file mode 100644
index 0000000..8a46a1f
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-1533969.patch
@@ -0,0 +1,39 @@
+diff -Nrup -U 8 a/tools/profiler/core/platform.h b/tools/profiler/core/platform.h
+--- a/tools/profiler/core/platform.h 2020-02-18 02:39:44.000000000 +0300
++++ b/tools/profiler/core/platform.h 2020-03-01 06:04:13.875681471 +0300
+@@ -38,32 +38,26 @@
+ #include "mozilla/StaticMutex.h"
+ #include "mozilla/TimeStamp.h"
+ #include "mozilla/UniquePtr.h"
+ #include "mozilla/Unused.h"
+ #include "PlatformMacros.h"
+ #include <vector>
+ #include "StackTop.h"
+
+-// We need a definition of gettid(), but glibc doesn't provide a
++// We need a definition of gettid(), but old glibc versions don't provide a
+ // wrapper for it.
+ #if defined(__GLIBC__)
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-static inline pid_t gettid()
+-{
+- return (pid_t) syscall(SYS_gettid);
+-}
++#define gettid() static_cast<pid_t>(syscall(SYS_gettid))
+ #elif defined(GP_OS_darwin)
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-static inline pid_t gettid()
+-{
+- return (pid_t) syscall(SYS_thread_selfid);
+-}
++#define gettid() static_cast<pid_t>(syscall(SYS_thread_selfid))
+ #elif defined(GP_OS_android)
+ #include <unistd.h>
+ #elif defined(GP_OS_windows)
+ #include <windows.h>
+ #include <process.h>
+ #ifndef getpid
+ #define getpid _getpid
+ #endif
diff --git a/seamonkey-2.53.1-mozilla-526293.patch b/seamonkey-2.53.1-mozilla-526293.patch
new file mode 100644
index 0000000..0e73abd
--- /dev/null
+++ b/seamonkey-2.53.1-mozilla-526293.patch
@@ -0,0 +1,13 @@
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/widget/gtk/nsFilePicker.cpp.orig 2020-01-03 01:35:33.934711196 +0300
++++ seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/widget/gtk/nsFilePicker.cpp 2020-01-03 01:39:14.120136390 +0300
+@@ -396,9 +396,7 @@
+
+ void *file_chooser = GtkFileChooserNew(title.get(), parent_widget, action, accept_button);
+
+- if (mAllowURLs) {
+- gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
+- }
++ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
+
+ if (action == GTK_FILE_CHOOSER_ACTION_OPEN || action == GTK_FILE_CHOOSER_ACTION_SAVE) {
+ GtkWidget *img_preview = gtk_image_new();
diff --git a/seamonkey-2.53.1-rhbz-1503632.patch b/seamonkey-2.53.1-rhbz-1503632.patch
new file mode 100644
index 0000000..c8fd6bc
--- /dev/null
+++ b/seamonkey-2.53.1-rhbz-1503632.patch
@@ -0,0 +1,18 @@
+diff -Nrbu seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp seamonkey-2.53.1-OK/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53.1-OK/seamonkey-2.53-comm-2_53_beta_01/mozilla/security/certverifier/NSSCertDBTrustDomain.cpp 2020-01-03 01:20:05.309371162 +0300
+@@ -1146,12 +1146,10 @@
+ if (!loadPKCS11Modules) {
+ flags |= NSS_INIT_NOMODDB;
+ }
+- nsAutoCString dbTypeAndDirectory("sql:");
+- dbTypeAndDirectory.Append(dir);
+ MOZ_LOG(gCertVerifierLog, LogLevel::Debug,
+- ("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), readOnly,
++ ("InitializeNSS(%s, %d, %d)", PromiseFlatCString(dir).get(), readOnly,
+ loadPKCS11Modules));
+- SECStatus srv = NSS_Initialize(dbTypeAndDirectory.get(), "", "",
++ SECStatus srv = NSS_Initialize(PromiseFlatCString(dir).get(), "", "",
+ SECMOD_DB, flags);
+ if (srv != SECSuccess) {
+ return srv;
diff --git a/seamonkey-2.53.1-rust140-nsstring.patch b/seamonkey-2.53.1-rust140-nsstring.patch
new file mode 100644
index 0000000..1e65a14
--- /dev/null
+++ b/seamonkey-2.53.1-rust140-nsstring.patch
@@ -0,0 +1,25 @@
+
+# rust-1.39 deprecated the "try!" call in favor of "?" which then breaks
+# nsstring because it treats warnings as errors.
+
+diff -Nrup -U 8 mozilla/xpcom/rust/nsstring/src/lib.rs mozilla-OK/xpcom/rust/nsstring/src/lib.rs
+--- mozilla/xpcom/rust/nsstring/src/lib.rs 2020-02-25 03:10:53.802918476 +0300
++++ mozilla-OK/xpcom/rust/nsstring/src/lib.rs 2020-02-25 00:30:21.593463335 +0300
+@@ -108,17 +108,16 @@
+ //! similar to an `ns[C]String<'static>`, however, it does not have a `Drop`
+ //! implementation.
+ //!
+ //! If this type is dropped in rust, it will not free its backing storage. This
+ //! can be useful when implementing FFI types which contain `ns[C]String` members
+ //! which invoke their member's destructors through C++ code.
+
+ #![allow(non_camel_case_types)]
+-#![deny(warnings)]
+
+ #[macro_use]
+ extern crate bitflags;
+
+ use std::ops::{Deref, DerefMut};
+ use std::marker::PhantomData;
+ use std::borrow;
+ use std::slice;
diff --git a/seamonkey-2.53.1-rust140-url_1_7_2.patch b/seamonkey-2.53.1-rust140-url_1_7_2.patch
new file mode 100644
index 0000000..e22a894
--- /dev/null
+++ b/seamonkey-2.53.1-rust140-url_1_7_2.patch
@@ -0,0 +1,4279 @@
+diff -Nrup a/netwerk/base/rust-url-capi/Cargo.toml b/netwerk/base/rust-url-capi/Cargo.toml
+--- a/netwerk/base/rust-url-capi/Cargo.toml 2020-02-18 02:37:59.000000000 +0300
++++ b/netwerk/base/rust-url-capi/Cargo.toml 2020-02-28 20:28:57.265406022 +0300
+@@ -8,6 +8,6 @@ name = "rust_url_capi"
+
+ [dependencies]
+ libc = "0.2.0"
+-url = "1.5.1"
++url = "1.7.2"
+ nsstring = { path = "../../../xpcom/rust/nsstring" }
+ nserror = { path = "../../../xpcom/rust/nserror" }
+diff -Nrup a/third_party/rust/url/.cargo-checksum.json b/third_party/rust/url/.cargo-checksum.json
+--- a/third_party/rust/url/.cargo-checksum.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/.cargo-checksum.json 2020-02-28 20:28:57.261406050 +0300
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"890af214187ffcba4732acb2d1af30d7adb9aade0679e9fdb06baae363240b8e","Cargo.toml":"ec586106c4d0625919a3591fe3ae915043e82c8bfdd1c9e747171ba5e21047e1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e","Makefile":"bffd75d34654b2955d4f005f1a5e85c821c90becf1a8a52cbe10121972f43148","README.md":"eb3f4694003f408cbe3c7f3e9fbbc71241defb940cc55a816981f0f0f144c8eb","UPGRADING.md":"fbcc2d39bdf17db0745793db6626fcd5c909dddd4ce13b27566cfabece22c368","appveyor.yml":"c78486dbfbe6ebbf3d808afb9a19f7ec18c4704ce451c6305f0716999b70a1a6","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","docs/index.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","github.png":"b432fd855efe7c430fe6a57ccf83935c1996f03a7cdc8d6e1b34154b8c43f6ec","rust-url-todo":"1192cee7b6cedf2133d97dc6074b593a1d19b0ee13fff6f28d6329855044e575","src/encoding.rs":"f3e109ca8ec5a9130da50cdfb3003530aedb6dd5a440f0790d76b71f6981119c","src/form_urlencoded.rs":"7ccaef7148e4bc2577154c50f8705db3a055b641269e24c22770f06222321e1e","src/host.rs":"281165d732ea87b6f01a98f7c68ffcb284c41f84b3ab6ed674fb8e57022d1019","src/lib.rs":"bd156e8bcfbd44f0cd52c8b394e03ec63fea012c0bf5ca554521352714838605","src/origin.rs":"7071dcc1070ccfae84cdcd43586b84a9706e35a9a099ff4dde128da0909bd0bc","src/parser.rs":"9d30868f0900586fec6f122a0322598a08116ab0b4c4d8caf5c35a720381a73a","src/path_segments.rs":"7bd3142eaa568863ef44e2255c181239141f9eeee337f889b9ffaaeab4ca669d","src/quirks.rs":"1231f965e22bb3632c22993e2a8d4c7470bcb4a8de25d049f31784303f0def03","src/slicing.rs":"4e539886b23945a92094625f3e531a4bff40daa44240b5d19ee8577478c4f7fe","tests/data.rs":"c333766897f6492fb6583ab5c8a511973b7a55f58ca550799432343da64d5ca7","tests/setters_tests.json":"ebcbdb52e9a4b5a565f8806d52ebc610d46a34df883e10b0be080d026468ff73","tests/unit.rs":"c2f206f433be619414d761d358a2a4a5a46cfe8a4fea5339adec5e9937d78de2","tests/urltestdata.json":"430c74aa3a31afaa57a92805544e00825f4dffe2def98c1e3c212c3db80268af"},"package":"eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"80d575ae6adad93cb0910b385b871e2d92d558078f58a3c8eafe95940d459f6b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e","README.md":"eb3f4694003f408cbe3c7f3e9fbbc71241defb940cc55a816981f0f0f144c8eb","UPGRADING.md":"fbcc2d39bdf17db0745793db6626fcd5c909dddd4ce13b27566cfabece22c368","appveyor.yml":"c78486dbfbe6ebbf3d808afb9a19f7ec18c4704ce451c6305f0716999b70a1a6","benches/parse_url.rs":"821ecb051c3c6c40eb3b268ba7337b2988333627d0af0c8e1afc84734ffbbf2b","docs/404.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","docs/index.html":"f61e6271c1ea1aa113b64b356e994595fa548f0433f89948d747503ad22195cd","src/encoding.rs":"f3e109ca8ec5a9130da50cdfb3003530aedb6dd5a440f0790d76b71f6981119c","src/form_urlencoded.rs":"d8c35e92375cafcd7e12c4f0d5374bab62aa1f333629d55b007a9c3d5c3cb615","src/host.rs":"66a2c0c77a8add2da16bc690fbc82b130cf1367ac655fc36990a214e193a4d6c","src/lib.rs":"e09dcba401018169ee26764e1c2bccf0855a5d935707c2100fd8d8e77a1bbc91","src/origin.rs":"6e4821eb9600a32ef54d05c8e1a7937f6d9b4dd1e3bda7f36c7988f6a2bef78b","src/parser.rs":"76368cbe93308123c014a3502024cf97d97ca61dcfc7b6ecd710073867d6deca","src/path_segments.rs":"7bd3142eaa568863ef44e2255c181239141f9eeee337f889b9ffaaeab4ca669d","src/quirks.rs":"6cf1697bad363532cbcc60917a9b126560ac3ab3e1a77da0abcf4f2a40c8233a","src/slicing.rs":"4e539886b23945a92094625f3e531a4bff40daa44240b5d19ee8577478c4f7fe","tests/data.rs":"f2c1c6d1823e8d21aeeae31c786d7f4ef0d97352a896f8c5aeb03a41fedb9a48","tests/setters_tests.json":"08ddaa632ad19c81e83b904bfaa94bc971f26e2bdfcef27d2f93fd033ad57340","tests/unit.rs":"ead7185710ce06c8d68ea18700618477867ee355656eabcad26cfcfaaad361a0","tests/urltestdata.json":"1b0c7c727d8d7e79dfb0d0aa347ff05675ddb68bc4ead38f83fd8e89bc59cc32"},"package":"dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"}
+\ No newline at end of file
+diff -Nrup a/third_party/rust/url/.travis.yml b/third_party/rust/url/.travis.yml
+--- a/third_party/rust/url/.travis.yml 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/.travis.yml 1970-01-01 03:00:00.000000000 +0300
+@@ -1,9 +0,0 @@
+-language: rust
+-rust:
+- - nightly
+- - beta
+- - stable
+- - 1.17.0
+-script: make test
+-notifications:
+- webhooks: http://build.servo.org:54856/travis
+diff -Nrup a/third_party/rust/url/Cargo.toml b/third_party/rust/url/Cargo.toml
+--- a/third_party/rust/url/Cargo.toml 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/Cargo.toml 2020-02-28 20:28:57.261406050 +0300
+@@ -1,24 +1,31 @@
+-[package]
++# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
++#
++# When uploading crates to the registry Cargo will automatically
++# "normalize" Cargo.toml files for maximal compatibility
++# with all versions of Cargo and also rewrite `path` dependencies
++# to registry (e.g. crates.io) dependencies
++#
++# If you believe there's an error in this file please file an
++# issue against the rust-lang/cargo repository. If you're
++# editing this file be aware that the upstream Cargo.toml
++# will likely look very different (and much more reasonable)
+
++[package]
+ name = "url"
+-# When updating version, also modify html_root_url in the lib.rs
+-version = "1.5.1"
++version = "1.7.2"
+ authors = ["The rust-url developers"]
+-
+ description = "URL library for Rust, based on the WHATWG URL Standard"
+ documentation = "https://docs.rs/url"
+-repository = "https://github.com/servo/rust-url"
+ readme = "README.md"
+ keywords = ["url", "parser"]
+ categories = ["parser-implementations", "web-programming", "encoding"]
+ license = "MIT/Apache-2.0"
++repository = "https://github.com/servo/rust-url"
++[package.metadata.docs.rs]
++features = ["query_encoding"]
+
+-[badges]
+-travis-ci = { repository = "servo/rust-url" }
+-appveyor = { repository = "servo/rust-url" }
+-
+-[workspace]
+-members = [".", "idna", "percent_encoding", "url_serde"]
++[lib]
++test = false
+
+ [[test]]
+ name = "unit"
+@@ -27,23 +34,50 @@ name = "unit"
+ name = "data"
+ harness = false
+
+-[lib]
+-test = false
++[[bench]]
++name = "parse_url"
++harness = false
++[dependencies.encoding]
++version = "0.2"
++optional = true
+
+-[dev-dependencies]
+-rustc-test = "0.1"
+-rustc-serialize = "0.3"
+-serde_json = ">=0.6.1, <0.9"
++[dependencies.heapsize]
++version = ">=0.4.1, <0.5"
++optional = true
++
++[dependencies.idna]
++version = "0.1.0"
++
++[dependencies.matches]
++version = "0.1"
++
++[dependencies.percent-encoding]
++version = "1.0.0"
++
++[dependencies.rustc-serialize]
++version = "0.3"
++optional = true
++
++[dependencies.serde]
++version = ">=0.6.1, <0.9"
++optional = true
++[dev-dependencies.bencher]
++version = "0.1"
++
++[dev-dependencies.rustc-serialize]
++version = "0.3"
++
++[dev-dependencies.rustc-test]
++version = "0.3"
++
++[dev-dependencies.serde_json]
++version = ">=0.6.1, <0.9"
+
+ [features]
+-query_encoding = ["encoding"]
+ heap_size = ["heapsize"]
++query_encoding = ["encoding"]
++[badges.appveyor]
++repository = "Manishearth/rust-url"
+
+-[dependencies]
+-encoding = {version = "0.2", optional = true}
+-heapsize = {version = ">=0.1.1, <0.5", optional = true}
+-idna = { version = "0.1.0", path = "./idna" }
+-matches = "0.1"
+-percent-encoding = { version = "1.0.0", path = "./percent_encoding" }
+-rustc-serialize = {version = "0.3", optional = true}
+-serde = {version = ">=0.6.1, <0.9", optional = true}
++[badges.travis-ci]
++repository = "servo/rust-url"
+diff -Nrup a/third_party/rust/url/Makefile b/third_party/rust/url/Makefile
+--- a/third_party/rust/url/Makefile 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/Makefile 1970-01-01 03:00:00.000000000 +0300
+@@ -1,6 +0,0 @@
+-test:
+- cargo test --features "query_encoding serde rustc-serialize heapsize"
+- (cd idna && cargo test)
+- (cd url_serde && cargo test)
+-
+-.PHONY: test
+diff -Nrup a/third_party/rust/url/benches/parse_url.rs b/third_party/rust/url/benches/parse_url.rs
+--- a/third_party/rust/url/benches/parse_url.rs 1970-01-01 03:00:00.000000000 +0300
++++ b/third_party/rust/url/benches/parse_url.rs 2020-02-28 20:28:57.261406050 +0300
+@@ -0,0 +1,18 @@
++#[macro_use]
++extern crate bencher;
++
++extern crate url;
++
++use bencher::{black_box, Bencher};
++
++use url::Url;
++
++fn short(bench: &mut Bencher) {
++ let url = "https://example.com/bench";
++
++ bench.bytes = url.len() as u64;
++ bench.iter(|| black_box(url).parse::<Url>().unwrap());
++}
++
++benchmark_group!(benches, short);
++benchmark_main!(benches);
+diff -Nrup a/third_party/rust/url/rust-url-todo b/third_party/rust/url/rust-url-todo
+--- a/third_party/rust/url/rust-url-todo 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/rust-url-todo 1970-01-01 03:00:00.000000000 +0300
+@@ -1,14 +0,0 @@
+-* standalone path parsing?
+-* Test setters
+- * Test trim C0/space
+- * Test remove tab & newline
+-
+-
+-
+-#[test]
+-fn test_path_segments() {
+- let mut url = Url::parse("http://example.net").unwrap();
+- url.push_path_segment("foo").unwrap();
+- url.extend_path_segments(&["bar", "b/az"]).unwrap();
+- assert_eq!(url.as_str(), "http://example.net/foo");
+-}
+diff -Nrup a/third_party/rust/url/src/form_urlencoded.rs b/third_party/rust/url/src/form_urlencoded.rs
+--- a/third_party/rust/url/src/form_urlencoded.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/form_urlencoded.rs 2020-02-28 20:28:57.262406043 +0300
+@@ -16,6 +16,7 @@
+ use encoding::EncodingOverride;
+ use percent_encoding::{percent_encode_byte, percent_decode};
+ use std::borrow::{Borrow, Cow};
++use std::fmt;
+ use std::str;
+
+
+@@ -216,6 +217,15 @@ pub struct Serializer<T: Target> {
+ target: Option<T>,
+ start_position: usize,
+ encoding: EncodingOverride,
++ custom_encoding: Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>,
++}
++
++struct SilentDebug<T>(T);
++
++impl<T> fmt::Debug for SilentDebug<T> {
++ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
++ f.write_str("")
++ }
+ }
+
+ pub trait Target {
+@@ -247,8 +257,16 @@ impl<'a> Target for &'a mut String {
+ // * `Serializer` keeps its target in a private field
+ // * Unlike in other `Target` impls, `UrlQuery::finished` does not return `Self`.
+ impl<'a> Target for ::UrlQuery<'a> {
+- fn as_mut_string(&mut self) -> &mut String { &mut self.url.serialization }
+- fn finish(self) -> &'a mut ::Url { self.url }
++ fn as_mut_string(&mut self) -> &mut String {
++ &mut self.url.as_mut().unwrap().serialization
++ }
++
++ fn finish(mut self) -> &'a mut ::Url {
++ let url = self.url.take().unwrap();
++ url.restore_already_parsed_fragment(self.fragment.take());
++ url
++ }
++
+ type Finished = &'a mut ::Url;
+ }
+
+@@ -272,6 +290,7 @@ impl<T: Target> Serializer<T> {
+ target: Some(target),
+ start_position: start_position,
+ encoding: EncodingOverride::utf8(),
++ custom_encoding: None,
+ }
+ }
+
+@@ -290,11 +309,20 @@ impl<T: Target> Serializer<T> {
+ self
+ }
+
++ /// Set the character encoding to be used for names and values before percent-encoding.
++ pub fn custom_encoding_override<F>(&mut self, encode: F) -> &mut Self
++ where F: FnMut(&str) -> Cow<[u8]> + 'static
++ {
++ self.custom_encoding = Some(SilentDebug(Box::new(encode)));
++ self
++ }
++
+ /// Serialize and append a name/value pair.
+ ///
+ /// Panics if called after `.finish()`.
+ pub fn append_pair(&mut self, name: &str, value: &str) -> &mut Self {
+- append_pair(string(&mut self.target), self.start_position, self.encoding, name, value);
++ append_pair(string(&mut self.target), self.start_position, self.encoding,
++ &mut self.custom_encoding, name, value);
+ self
+ }
+
+@@ -311,7 +339,8 @@ impl<T: Target> Serializer<T> {
+ let string = string(&mut self.target);
+ for pair in iter {
+ let &(ref k, ref v) = pair.borrow();
+- append_pair(string, self.start_position, self.encoding, k.as_ref(), v.as_ref());
++ append_pair(string, self.start_position, self.encoding,
++ &mut self.custom_encoding, k.as_ref(), v.as_ref());
+ }
+ }
+ self
+@@ -324,6 +353,8 @@ impl<T: Target> Serializer<T> {
+ /// Panics if called after `.finish()`.
+ #[cfg(feature = "query_encoding")]
+ pub fn append_charset(&mut self) -> &mut Self {
++ assert!(self.custom_encoding.is_none(),
++ "Cannot use both custom_encoding_override() and append_charset()");
+ {
+ let string = string(&mut self.target);
+ append_separator_if_needed(string, self.start_position);
+@@ -361,9 +392,20 @@ fn string<T: Target>(target: &mut Option
+ }
+
+ fn append_pair(string: &mut String, start_position: usize, encoding: EncodingOverride,
++ custom_encoding: &mut Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>,
+ name: &str, value: &str) {
+ append_separator_if_needed(string, start_position);
+- string.extend(byte_serialize(&encoding.encode(name.into())));
++ append_encoded(name, string, encoding, custom_encoding);
+ string.push('=');
+- string.extend(byte_serialize(&encoding.encode(value.into())));
++ append_encoded(value, string, encoding, custom_encoding);
++}
++
++fn append_encoded(s: &str, string: &mut String, encoding: EncodingOverride,
++ custom_encoding: &mut Option<SilentDebug<Box<FnMut(&str) -> Cow<[u8]>>>>) {
++ let bytes = if let Some(SilentDebug(ref mut custom)) = *custom_encoding {
++ custom(s)
++ } else {
++ encoding.encode(s.into())
++ };
++ string.extend(byte_serialize(&bytes));
+ }
+diff -Nrup a/third_party/rust/url/src/host.rs b/third_party/rust/url/src/host.rs
+--- a/third_party/rust/url/src/host.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/host.rs 2020-02-28 20:28:57.247406151 +0300
+@@ -13,7 +13,7 @@ use std::io;
+ use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
+ use std::vec;
+ use parser::{ParseResult, ParseError};
+-use percent_encoding::percent_decode;
++use percent_encoding::{percent_decode, utf8_percent_encode, SIMPLE_ENCODE_SET};
+ use idna;
+
+ #[derive(Copy, Clone, Debug, Eq, PartialEq)]
+@@ -73,7 +73,9 @@ impl<S> From<Host<S>> for HostInternal {
+ #[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
+ pub enum Host<S=String> {
+ /// A DNS domain name, as '.' dot-separated labels.
+- /// Non-ASCII labels are encoded in punycode per IDNA.
++ /// Non-ASCII labels are encoded in punycode per IDNA if this is the host of
++ /// a special URL, or percent encoded for non-special URLs. Hosts for
++ /// non-special URLs are also called opaque hosts.
+ Domain(S),
+
+ /// An IPv4 address.
+@@ -137,7 +139,7 @@ impl<'a> Host<&'a str> {
+ impl Host<String> {
+ /// Parse a host: either an IPv6 address in [] square brackets, or a domain.
+ ///
+- /// https://url.spec.whatwg.org/#host-parsing
++ /// <https://url.spec.whatwg.org/#host-parsing>
+ pub fn parse(input: &str) -> Result<Self, ParseError> {
+ if input.starts_with('[') {
+ if !input.ends_with(']') {
+@@ -158,6 +160,23 @@ impl Host<String> {
+ Ok(Host::Domain(domain.into()))
+ }
+ }
++
++ // <https://url.spec.whatwg.org/#concept-opaque-host-parser>
++ pub fn parse_opaque(input: &str) -> Result<Self, ParseError> {
++ if input.starts_with('[') {
++ if !input.ends_with(']') {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++ return parse_ipv6addr(&input[1..input.len() - 1]).map(Host::Ipv6)
++ }
++ if input.find(|c| matches!(c,
++ '\0' | '\t' | '\n' | '\r' | ' ' | '#' | '/' | ':' | '?' | '@' | '[' | '\\' | ']'
++ )).is_some() {
++ return Err(ParseError::InvalidDomainCharacter)
++ }
++ let s = utf8_percent_encode(input, SIMPLE_ENCODE_SET).to_string();
++ Ok(Host::Domain(s))
++ }
+ }
+
+ impl<S: AsRef<str>> fmt::Display for Host<S> {
+@@ -309,8 +328,8 @@ fn longest_zero_sequence(pieces: &[u16;
+ }
+ }
+
+-/// https://url.spec.whatwg.org/#ipv4-number-parser
+-fn parse_ipv4number(mut input: &str) -> Result<u32, ()> {
++/// <https://url.spec.whatwg.org/#ipv4-number-parser>
++fn parse_ipv4number(mut input: &str) -> Result<Option<u32>, ()> {
+ let mut r = 10;
+ if input.starts_with("0x") || input.starts_with("0X") {
+ input = &input[2..];
+@@ -319,19 +338,35 @@ fn parse_ipv4number(mut input: &str) ->
+ input = &input[1..];
+ r = 8;
+ }
++
++ // At the moment we can't know the reason why from_str_radix fails
++ // https://github.com/rust-lang/rust/issues/22639
++ // So instead we check if the input looks like a real number and only return
++ // an error when it's an overflow.
++ let valid_number = match r {
++ 8 => input.chars().all(|c| c >= '0' && c <='7'),
++ 10 => input.chars().all(|c| c >= '0' && c <='9'),
++ 16 => input.chars().all(|c| (c >= '0' && c <='9') || (c >='a' && c <= 'f') || (c >= 'A' && c <= 'F')),
++ _ => false
++ };
++
++ if !valid_number {
++ return Ok(None);
++ }
++
+ if input.is_empty() {
+- return Ok(0);
++ return Ok(Some(0));
+ }
+ if input.starts_with('+') {
+- return Err(())
++ return Ok(None);
+ }
+ match u32::from_str_radix(input, r) {
+- Ok(number) => Ok(number),
++ Ok(number) => Ok(Some(number)),
+ Err(_) => Err(()),
+ }
+ }
+
+-/// https://url.spec.whatwg.org/#concept-ipv4-parser
++/// <https://url.spec.whatwg.org/#concept-ipv4-parser>
+ fn parse_ipv4addr(input: &str) -> ParseResult<Option<Ipv4Addr>> {
+ if input.is_empty() {
+ return Ok(None)
+@@ -344,15 +379,19 @@ fn parse_ipv4addr(input: &str) -> ParseR
+ return Ok(None);
+ }
+ let mut numbers: Vec<u32> = Vec::new();
++ let mut overflow = false;
+ for part in parts {
+ if part == "" {
+ return Ok(None);
+ }
+- if let Ok(n) = parse_ipv4number(part) {
+- numbers.push(n);
+- } else {
+- return Ok(None);
+- }
++ match parse_ipv4number(part) {
++ Ok(Some(n)) => numbers.push(n),
++ Ok(None) => return Ok(None),
++ Err(()) => overflow = true
++ };
++ }
++ if overflow {
++ return Err(ParseError::InvalidIpv4Address);
+ }
+ let mut ipv4 = numbers.pop().expect("a non-empty list of numbers");
+ // Equivalent to: ipv4 >= 256 ** (4 numbers.len())
+@@ -368,7 +407,7 @@ fn parse_ipv4addr(input: &str) -> ParseR
+ Ok(Some(Ipv4Addr::from(ipv4)))
+ }
+
+-/// https://url.spec.whatwg.org/#concept-ipv6-parser
++/// <https://url.spec.whatwg.org/#concept-ipv6-parser>
+ fn parse_ipv6addr(input: &str) -> ParseResult<Ipv6Addr> {
+ let input = input.as_bytes();
+ let len = input.len();
+@@ -423,6 +462,9 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ return Err(ParseError::InvalidIpv6Address)
+ }
+ i = start;
++ if piece_pointer > 6 {
++ return Err(ParseError::InvalidIpv6Address)
++ }
+ is_ip_v4 = true;
+ },
+ b':' => {
+@@ -445,16 +487,24 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ if piece_pointer > 6 {
+ return Err(ParseError::InvalidIpv6Address)
+ }
+- let mut dots_seen = 0;
++ let mut numbers_seen = 0;
+ while i < len {
+- let mut value = None;
++ if numbers_seen > 0 {
++ if numbers_seen < 4 && (i < len && input[i] == b'.') {
++ i += 1
++ } else {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++ }
++
++ let mut ipv4_piece = None;
+ while i < len {
+ let digit = match input[i] {
+ c @ b'0' ... b'9' => c - b'0',
+ _ => break
+ };
+- match value {
+- None => value = Some(digit as u16),
++ match ipv4_piece {
++ None => ipv4_piece = Some(digit as u16),
+ Some(0) => return Err(ParseError::InvalidIpv6Address), // No leading zero
+ Some(ref mut v) => {
+ *v = *v * 10 + digit as u16;
+@@ -465,24 +515,28 @@ fn parse_ipv6addr(input: &str) -> ParseR
+ }
+ i += 1;
+ }
+- if dots_seen < 3 && !(i < len && input[i] == b'.') {
+- return Err(ParseError::InvalidIpv6Address)
+- }
+- pieces[piece_pointer] = if let Some(v) = value {
++
++ pieces[piece_pointer] = if let Some(v) = ipv4_piece {
+ pieces[piece_pointer] * 0x100 + v
+ } else {
+ return Err(ParseError::InvalidIpv6Address)
+ };
+- if dots_seen == 1 || dots_seen == 3 {
++ numbers_seen += 1;
++
++ if numbers_seen == 2 || numbers_seen == 4 {
+ piece_pointer += 1;
+ }
+- i += 1;
+- if dots_seen == 3 && i < len {
+- return Err(ParseError::InvalidIpv6Address)
+- }
+- dots_seen += 1;
++ }
++
++ if numbers_seen != 4 {
++ return Err(ParseError::InvalidIpv6Address)
+ }
+ }
++
++ if i < len {
++ return Err(ParseError::InvalidIpv6Address)
++ }
++
+ match compress_pointer {
+ Some(compress_pointer) => {
+ let mut swaps = piece_pointer - compress_pointer;
+diff -Nrup a/third_party/rust/url/src/lib.rs b/third_party/rust/url/src/lib.rs
+--- a/third_party/rust/url/src/lib.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/lib.rs 2020-02-28 20:28:57.262406043 +0300
+@@ -104,7 +104,7 @@ assert_eq!(css_url.as_str(), "http://ser
+ # run().unwrap();
+ */
+
+-#![doc(html_root_url = "https://docs.rs/url/1.5.1")]
++#![doc(html_root_url = "https://docs.rs/url/1.7.0")]
+
+ #[cfg(feature="rustc-serialize")] extern crate rustc_serialize;
+ #[macro_use] extern crate matches;
+@@ -112,12 +112,13 @@ assert_eq!(css_url.as_str(), "http://ser
+ #[cfg(feature="heapsize")] #[macro_use] extern crate heapsize;
+
+ pub extern crate idna;
++#[macro_use]
+ pub extern crate percent_encoding;
+
+ use encoding::EncodingOverride;
+ #[cfg(feature = "heapsize")] use heapsize::HeapSizeOf;
+ use host::HostInternal;
+-use parser::{Parser, Context, SchemeType, to_u32};
++use parser::{Parser, Context, SchemeType, to_u32, ViolationFn};
+ use percent_encoding::{PATH_SEGMENT_ENCODE_SET, USERINFO_ENCODE_SET,
+ percent_encode, percent_decode, utf8_percent_encode};
+ use std::borrow::Borrow;
+@@ -135,7 +136,7 @@ use std::str;
+ pub use origin::{Origin, OpaqueOrigin};
+ pub use host::{Host, HostAndPort, SocketAddrs};
+ pub use path_segments::PathSegmentsMut;
+-pub use parser::ParseError;
++pub use parser::{ParseError, SyntaxViolation};
+ pub use slicing::Position;
+
+ mod encoding;
+@@ -186,7 +187,7 @@ impl HeapSizeOf for Url {
+ pub struct ParseOptions<'a> {
+ base_url: Option<&'a Url>,
+ encoding_override: encoding::EncodingOverride,
+- log_syntax_violation: Option<&'a Fn(&'static str)>,
++ violation_fn: ViolationFn<'a>,
+ }
+
+ impl<'a> ParseOptions<'a> {
+@@ -209,9 +210,47 @@ impl<'a> ParseOptions<'a> {
+ self
+ }
+
+- /// Call the provided function or closure on non-fatal parse errors.
++ /// Call the provided function or closure on non-fatal parse errors, passing
++ /// a static string description. This method is deprecated in favor of
++ /// `syntax_violation_callback` and is implemented as an adaptor for the
++ /// latter, passing the `SyntaxViolation` description. Only the last value
++ /// passed to either method will be used by a parser.
++ #[deprecated]
+ pub fn log_syntax_violation(mut self, new: Option<&'a Fn(&'static str)>) -> Self {
+- self.log_syntax_violation = new;
++ self.violation_fn = match new {
++ Some(f) => ViolationFn::OldFn(f),
++ None => ViolationFn::NoOp
++ };
++ self
++ }
++
++ /// Call the provided function or closure for a non-fatal `SyntaxViolation`
++ /// when it occurs during parsing. Note that since the provided function is
++ /// `Fn`, the caller might need to utilize _interior mutability_, such as with
++ /// a `RefCell`, to collect the violations.
++ ///
++ /// ## Example
++ /// ```
++ /// use std::cell::RefCell;
++ /// use url::{Url, SyntaxViolation};
++ /// # use url::ParseError;
++ /// # fn run() -> Result<(), url::ParseError> {
++ /// let violations = RefCell::new(Vec::new());
++ /// let url = Url::options()
++ /// .syntax_violation_callback(Some(&|v| violations.borrow_mut().push(v)))
++ /// .parse("https:////example.com")?;
++ /// assert_eq!(url.as_str(), "https://example.com/");
++ /// assert_eq!(violations.into_inner(),
++ /// vec!(SyntaxViolation::ExpectedDoubleSlash));
++ /// # Ok(())
++ /// # }
++ /// # run().unwrap();
++ /// ```
++ pub fn syntax_violation_callback(mut self, new: Option<&'a Fn(SyntaxViolation)>) -> Self {
++ self.violation_fn = match new {
++ Some(f) => ViolationFn::NewFn(f),
++ None => ViolationFn::NoOp
++ };
+ self
+ }
+
+@@ -221,7 +260,7 @@ impl<'a> ParseOptions<'a> {
+ serialization: String::with_capacity(input.len()),
+ base_url: self.base_url,
+ query_encoding_override: self.encoding_override,
+- log_syntax_violation: self.log_syntax_violation,
++ violation_fn: self.violation_fn,
+ context: Context::UrlParser,
+ }.parse_url(input)
+ }
+@@ -229,11 +268,12 @@ impl<'a> ParseOptions<'a> {
+
+ impl<'a> Debug for ParseOptions<'a> {
+ fn fmt(&self, f: &mut Formatter) -> fmt::Result {
+- write!(f, "ParseOptions {{ base_url: {:?}, encoding_override: {:?}, log_syntax_violation: ", self.base_url, self.encoding_override)?;
+- match self.log_syntax_violation {
+- Some(_) => write!(f, "Some(Fn(&'static str)) }}"),
+- None => write!(f, "None }}")
+- }
++ write!(f,
++ "ParseOptions {{ base_url: {:?}, encoding_override: {:?}, \
++ violation_fn: {:?} }}",
++ self.base_url,
++ self.encoding_override,
++ self.violation_fn)
+ }
+ }
+
+@@ -252,6 +292,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an absolute URL from the given string,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn parse(input: &str) -> Result<Url, ::ParseError> {
+ Url::options().parse(input)
+@@ -274,6 +321,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an absolute URL from the given string,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn parse_with_params<I, K, V>(input: &str, iter: I) -> Result<Url, ::ParseError>
+ where I: IntoIterator,
+@@ -301,7 +355,7 @@ impl Url {
+ /// ```rust
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let base = Url::parse("https://example.net/a/b.html")?;
+ /// let url = base.join("c.png")?;
+@@ -314,6 +368,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If the function can not parse an URL from the given string
++ /// with this URL as the base URL, a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ #[inline]
+ pub fn join(&self, input: &str) -> Result<Url, ::ParseError> {
+ Url::options().base_url(Some(self)).parse(input)
+@@ -342,7 +403,7 @@ impl Url {
+ ParseOptions {
+ base_url: None,
+ encoding_override: EncodingOverride::utf8(),
+- log_syntax_violation: None,
++ violation_fn: ViolationFn::NoOp,
+ }
+ }
+
+@@ -500,7 +561,7 @@ impl Url {
+ Ok(())
+ }
+
+- /// Return the origin of this URL (https://url.spec.whatwg.org/#origin)
++ /// Return the origin of this URL (<https://url.spec.whatwg.org/#origin>)
+ ///
+ /// Note: this returns an opaque origin for `file:` URLs, which causes
+ /// `url.origin() != url.origin()`.
+@@ -1156,11 +1217,11 @@ impl Url {
+ /// assert_eq!(url.as_str(), "https://example.com/data.csv");
+
+ /// url.set_fragment(Some("cell=4,1-6,2"));
+- /// assert_eq!(url.as_str(), "https://example.com/data.csv#cell=4,1-6,2");
++ /// assert_eq!(url.as_str(), "https://example.com/data.csv#cell=4,1-6,2");
+ /// assert_eq!(url.fragment(), Some("cell=4,1-6,2"));
+ ///
+ /// url.set_fragment(None);
+- /// assert_eq!(url.as_str(), "https://example.com/data.csv");
++ /// assert_eq!(url.as_str(), "https://example.com/data.csv");
+ /// assert!(url.fragment().is_none());
+ /// # Ok(())
+ /// # }
+@@ -1213,7 +1274,7 @@ impl Url {
+ /// assert_eq!(url.as_str(), "https://example.com/products");
+ ///
+ /// url.set_query(Some("page=2"));
+- /// assert_eq!(url.as_str(), "https://example.com/products?page=2");
++ /// assert_eq!(url.as_str(), "https://example.com/products?page=2");
+ /// assert_eq!(url.query(), Some("page=2"));
+ /// # Ok(())
+ /// # }
+@@ -1283,7 +1344,7 @@ impl Url {
+ self.serialization.push('?');
+ }
+
+- let query = UrlQuery { url: self, fragment: fragment };
++ let query = UrlQuery { url: Some(self), fragment: fragment };
+ form_urlencoded::Serializer::for_suffix(query, query_start + "?".len())
+ }
+
+@@ -1309,12 +1370,12 @@ impl Url {
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.com")?;
+ /// url.set_path("api/comments");
+- /// assert_eq!(url.as_str(), "https://example.com/api/comments");
++ /// assert_eq!(url.as_str(), "https://example.com/api/comments");
+ /// assert_eq!(url.path(), "/api/comments");
+ ///
+ /// let mut url = Url::parse("https://example.com/api")?;
+ /// url.set_path("data/report.csv");
+- /// assert_eq!(url.as_str(), "https://example.com/data/report.csv");
++ /// assert_eq!(url.as_str(), "https://example.com/data/report.csv");
+ /// assert_eq!(url.path(), "/data/report.csv");
+ /// # Ok(())
+ /// # }
+@@ -1406,7 +1467,8 @@ impl Url {
+ /// # run().unwrap();
+ /// ```
+ pub fn set_port(&mut self, mut port: Option<u16>) -> Result<(), ()> {
+- if !self.has_host() || self.scheme() == "file" {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ if port.is_some() && port == parser::default_port(self.scheme()) {
+@@ -1448,9 +1510,6 @@ impl Url {
+
+ /// Change this URLs host.
+ ///
+- /// If this URL is cannot-be-a-base or there is an error parsing the given `host`,
+- /// do nothing and return `Err`.
+- ///
+ /// Removing the host (calling this with `None`)
+ /// will also remove any username, password, and port number.
+ ///
+@@ -1477,7 +1536,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("foo://example.net")?;
+ /// let result = url.set_host(None);
+@@ -1493,7 +1552,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_host(None);
+@@ -1509,7 +1568,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("mailto:rms@example.net")?;
+ ///
+@@ -1524,6 +1583,13 @@ impl Url {
+ /// # }
+ /// # run().unwrap();
+ /// ```
++ ///
++ /// # Errors
++ ///
++ /// If this URL is cannot-be-a-base or there is an error parsing the given `host`,
++ /// a [`ParseError`] variant will be returned.
++ ///
++ /// [`ParseError`]: enum.ParseError.html
+ pub fn set_host(&mut self, host: Option<&str>) -> Result<(), ParseError> {
+ if self.cannot_be_a_base() {
+ return Err(ParseError::SetHostOnCannotBeABaseUrl)
+@@ -1533,7 +1599,11 @@ impl Url {
+ if host == "" && SchemeType::from(self.scheme()).is_special() {
+ return Err(ParseError::EmptyHost);
+ }
+- self.set_host_internal(Host::parse(host)?, None)
++ if SchemeType::from(self.scheme()).is_special() {
++ self.set_host_internal(Host::parse(host)?, None)
++ } else {
++ self.set_host_internal(Host::parse_opaque(host)?, None)
++ }
+ } else if self.has_host() {
+ if SchemeType::from(self.scheme()).is_special() {
+ return Err(ParseError::EmptyHost)
+@@ -1666,7 +1736,8 @@ impl Url {
+ /// # run().unwrap();
+ /// ```
+ pub fn set_password(&mut self, password: Option<&str>) -> Result<(), ()> {
+- if !self.has_host() {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ if let Some(password) = password {
+@@ -1732,21 +1803,23 @@ impl Url {
+ /// ```
+ ///
+ /// Setup username to user1
++ ///
+ /// ```rust
+ /// use url::{Url, ParseError};
+ ///
+ /// # fn run() -> Result<(), ParseError> {
+- /// let mut url = Url::parse("ftp://:secre1@example.com")?;
++ /// let mut url = Url::parse("ftp://:secre1@example.com/")?;
+ /// let result = url.set_username("user1");
+ /// assert!(result.is_ok());
+ /// assert_eq!(url.username(), "user1");
+- /// assert_eq!(url.as_str(), "ftp://user1:secre1@example.com");
++ /// assert_eq!(url.as_str(), "ftp://user1:secre1@example.com/");
+ /// # Ok(())
+ /// # }
+ /// # run().unwrap();
+ /// ```
+ pub fn set_username(&mut self, username: &str) -> Result<(), ()> {
+- if !self.has_host() {
++ // has_host implies !cannot_be_a_base
++ if !self.has_host() || self.host() == Some(Host::Domain("")) || self.scheme() == "file" {
+ return Err(())
+ }
+ let username_start = self.scheme_end + 3;
+@@ -1805,7 +1878,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_scheme("foo");
+@@ -1822,7 +1895,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("https://example.net")?;
+ /// let result = url.set_scheme("fo");
+@@ -1838,7 +1911,7 @@ impl Url {
+ /// ```
+ /// use url::Url;
+ /// # use url::ParseError;
+- ///
++ ///
+ /// # fn run() -> Result<(), ParseError> {
+ /// let mut url = Url::parse("mailto:rms@example.net")?;
+ /// let result = url.set_scheme("https");
+@@ -1887,7 +1960,7 @@ impl Url {
+ /// ```
+ /// # if cfg!(unix) {
+ /// use url::Url;
+- ///
++ ///
+ /// # fn run() -> Result<(), ()> {
+ /// let url = Url::from_file_path("/tmp/foo.txt")?;
+ /// assert_eq!(url.as_str(), "file:///tmp/foo.txt");
+@@ -1902,6 +1975,7 @@ impl Url {
+ /// # run().unwrap();
+ /// # }
+ /// ```
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn from_file_path<P: AsRef<Path>>(path: P) -> Result<Url, ()> {
+ let mut serialization = "file://".to_owned();
+ let host_start = serialization.len() as u32;
+@@ -1937,6 +2011,7 @@ impl Url {
+ ///
+ /// Note that `std::path` does not consider trailing slashes significant
+ /// and usually does not include them (e.g. in `Path::parent()`).
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn from_directory_path<P: AsRef<Path>>(path: P) -> Result<Url, ()> {
+ let mut url = Url::from_file_path(path)?;
+ if !url.serialization.ends_with('/') {
+@@ -2018,6 +2093,7 @@ impl Url {
+ /// (That is, if the percent-decoded path contains a NUL byte or,
+ /// for a Windows path, is not UTF-8.)
+ #[inline]
++ #[cfg(any(unix, windows, target_os="redox"))]
+ pub fn to_file_path(&self) -> Result<PathBuf, ()> {
+ if let Some(segments) = self.path_segments() {
+ let host = match self.host() {
+@@ -2264,6 +2340,7 @@ fn path_to_file_url_segments_windows(pat
+ Ok((host_end, host_internal))
+ }
+
++
+ #[cfg(any(unix, target_os = "redox"))]
+ fn file_url_segments_to_pathbuf(host: Option<&str>, segments: str::Split<char>) -> Result<PathBuf, ()> {
+ use std::ffi::OsStr;
+@@ -2347,13 +2424,15 @@ fn io_error<T>(reason: &str) -> io::Resu
+ /// Implementation detail of `Url::query_pairs_mut`. Typically not used directly.
+ #[derive(Debug)]
+ pub struct UrlQuery<'a> {
+- url: &'a mut Url,
++ url: Option<&'a mut Url>,
+ fragment: Option<String>,
+ }
+
+ impl<'a> Drop for UrlQuery<'a> {
+ fn drop(&mut self) {
+- self.url.restore_already_parsed_fragment(self.fragment.take())
++ if let Some(url) = self.url.take() {
++ url.restore_already_parsed_fragment(self.fragment.take())
++ }
+ }
+ }
+
+diff -Nrup a/third_party/rust/url/src/origin.rs b/third_party/rust/url/src/origin.rs
+--- a/third_party/rust/url/src/origin.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/origin.rs 2020-02-28 20:28:57.238406216 +0300
+@@ -49,7 +49,7 @@ pub fn url_origin(url: &Url) -> Origin {
+ /// - If the scheme is anything else, the origin is opaque, meaning
+ /// the URL does not have the same origin as any other URL.
+ ///
+-/// For more information see https://url.spec.whatwg.org/#origin
++/// For more information see <https://url.spec.whatwg.org/#origin>
+ #[derive(PartialEq, Eq, Hash, Clone, Debug)]
+ pub enum Origin {
+ /// A globally unique identifier
+@@ -86,7 +86,7 @@ impl Origin {
+ matches!(*self, Origin::Tuple(..))
+ }
+
+- /// https://html.spec.whatwg.org/multipage/#ascii-serialisation-of-an-origin
++ /// <https://html.spec.whatwg.org/multipage/#ascii-serialisation-of-an-origin>
+ pub fn ascii_serialization(&self) -> String {
+ match *self {
+ Origin::Opaque(_) => "null".to_owned(),
+@@ -100,7 +100,7 @@ impl Origin {
+ }
+ }
+
+- /// https://html.spec.whatwg.org/multipage/#unicode-serialisation-of-an-origin
++ /// <https://html.spec.whatwg.org/multipage/#unicode-serialisation-of-an-origin>
+ pub fn unicode_serialization(&self) -> String {
+ match *self {
+ Origin::Opaque(_) => "null".to_owned(),
+diff -Nrup a/third_party/rust/url/src/parser.rs b/third_party/rust/url/src/parser.rs
+--- a/third_party/rust/url/src/parser.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/parser.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -6,7 +6,9 @@
+ // option. This file may not be copied, modified, or distributed
+ // except according to those terms.
+
++#[allow(unused_imports, deprecated)]
+ use std::ascii::AsciiExt;
++
+ use std::error::Error;
+ use std::fmt::{self, Formatter, Write};
+ use std::str;
+@@ -20,6 +22,12 @@ use percent_encoding::{
+ PATH_SEGMENT_ENCODE_SET
+ };
+
++define_encode_set! {
++ // The backslash (\) character is treated as a path separator in special URLs
++ // so it needs to be additionally escaped in that case.
++ pub SPECIAL_PATH_SEGMENT_ENCODE_SET = [PATH_SEGMENT_ENCODE_SET] | {'\\'}
++}
++
+ pub type ParseResult<T> = Result<T, ParseError>;
+
+ macro_rules! simple_enum_error {
+@@ -70,6 +78,54 @@ impl From<::idna::uts46::Errors> for Par
+ fn from(_: ::idna::uts46::Errors) -> ParseError { ParseError::IdnaError }
+ }
+
++macro_rules! syntax_violation_enum {
++ ($($name: ident => $description: expr,)+) => {
++ /// Non-fatal syntax violations that can occur during parsing.
++ #[derive(PartialEq, Eq, Clone, Copy, Debug)]
++ pub enum SyntaxViolation {
++ $(
++ $name,
++ )+
++ }
++
++ impl SyntaxViolation {
++ pub fn description(&self) -> &'static str {
++ match *self {
++ $(
++ SyntaxViolation::$name => $description,
++ )+
++ }
++ }
++ }
++ }
++}
++
++syntax_violation_enum! {
++ Backslash => "backslash",
++ C0SpaceIgnored =>
++ "leading or trailing control or space character are ignored in URLs",
++ EmbeddedCredentials =>
++ "embedding authentication information (username or password) \
++ in an URL is not recommended",
++ ExpectedDoubleSlash => "expected //",
++ ExpectedFileDoubleSlash => "expected // after file:",
++ FileWithHostAndWindowsDrive => "file: with host and Windows drive letter",
++ NonUrlCodePoint => "non-URL code point",
++ NullInFragment => "NULL characters are ignored in URL fragment identifiers",
++ PercentDecode => "expected 2 hex digits after %",
++ TabOrNewlineIgnored => "tabs or newlines are ignored in URLs",
++ UnencodedAtSign => "unencoded @ sign in username or password",
++}
++
++#[cfg(feature = "heapsize")]
++known_heap_size!(0, SyntaxViolation);
++
++impl fmt::Display for SyntaxViolation {
++ fn fmt(&self, fmt: &mut Formatter) -> fmt::Result {
++ self.description().fmt(fmt)
++ }
++}
++
+ #[derive(Copy, Clone)]
+ pub enum SchemeType {
+ File,
+@@ -112,18 +168,17 @@ pub struct Input<'i> {
+
+ impl<'i> Input<'i> {
+ pub fn new(input: &'i str) -> Self {
+- Input::with_log(input, None)
++ Input::with_log(input, ViolationFn::NoOp)
+ }
+
+- pub fn with_log(original_input: &'i str, log_syntax_violation: Option<&Fn(&'static str)>)
+- -> Self {
++ pub fn with_log(original_input: &'i str, vfn: ViolationFn) -> Self {
+ let input = original_input.trim_matches(c0_control_or_space);
+- if let Some(log) = log_syntax_violation {
++ if vfn.is_set() {
+ if input.len() < original_input.len() {
+- log("leading or trailing control or space character are ignored in URLs")
++ vfn.call(SyntaxViolation::C0SpaceIgnored)
+ }
+ if input.chars().any(|c| matches!(c, '\t' | '\n' | '\r')) {
+- log("tabs or newlines are ignored in URLs")
++ vfn.call(SyntaxViolation::TabOrNewlineIgnored)
+ }
+ }
+ Input { chars: input.chars() }
+@@ -216,11 +271,60 @@ impl<'i> Iterator for Input<'i> {
+ }
+ }
+
++/// Wrapper for syntax violation callback functions.
++#[derive(Copy, Clone)]
++pub enum ViolationFn<'a> {
++ NewFn(&'a (Fn(SyntaxViolation) + 'a)),
++ OldFn(&'a (Fn(&'static str) + 'a)),
++ NoOp
++}
++
++impl<'a> ViolationFn<'a> {
++ /// Call with a violation.
++ pub fn call(self, v: SyntaxViolation) {
++ match self {
++ ViolationFn::NewFn(f) => f(v),
++ ViolationFn::OldFn(f) => f(v.description()),
++ ViolationFn::NoOp => {}
++ }
++ }
++
++ /// Call with a violation, if provided test returns true. Avoids
++ /// the test entirely if `NoOp`.
++ pub fn call_if<F>(self, v: SyntaxViolation, test: F)
++ where F: Fn() -> bool
++ {
++ match self {
++ ViolationFn::NewFn(f) => if test() { f(v) },
++ ViolationFn::OldFn(f) => if test() { f(v.description()) },
++ ViolationFn::NoOp => {} // avoid test
++ }
++ }
++
++ /// True if not `NoOp`
++ pub fn is_set(self) -> bool {
++ match self {
++ ViolationFn::NoOp => false,
++ _ => true
++ }
++ }
++}
++
++impl<'a> fmt::Debug for ViolationFn<'a> {
++ fn fmt(&self, f: &mut Formatter) -> fmt::Result {
++ match *self {
++ ViolationFn::NewFn(_) => write!(f, "NewFn(Fn(SyntaxViolation))"),
++ ViolationFn::OldFn(_) => write!(f, "OldFn(Fn(&'static str))"),
++ ViolationFn::NoOp => write!(f, "NoOp")
++ }
++ }
++}
++
+ pub struct Parser<'a> {
+ pub serialization: String,
+ pub base_url: Option<&'a Url>,
+ pub query_encoding_override: EncodingOverride,
+- pub log_syntax_violation: Option<&'a Fn(&'static str)>,
++ pub violation_fn: ViolationFn<'a>,
+ pub context: Context,
+ }
+
+@@ -237,29 +341,14 @@ impl<'a> Parser<'a> {
+ serialization: serialization,
+ base_url: None,
+ query_encoding_override: EncodingOverride::utf8(),
+- log_syntax_violation: None,
++ violation_fn: ViolationFn::NoOp,
+ context: Context::Setter,
+ }
+ }
+
+- fn syntax_violation(&self, reason: &'static str) {
+- if let Some(log) = self.log_syntax_violation {
+- log(reason)
+- }
+- }
+-
+- fn syntax_violation_if<F: Fn() -> bool>(&self, reason: &'static str, test: F) {
+- // Skip test if not logging.
+- if let Some(log) = self.log_syntax_violation {
+- if test() {
+- log(reason)
+- }
+- }
+- }
+-
+ /// https://url.spec.whatwg.org/#concept-basic-url-parser
+ pub fn parse_url(mut self, input: &str) -> ParseResult<Url> {
+- let input = Input::with_log(input, self.log_syntax_violation);
++ let input = Input::with_log(input, self.violation_fn);
+ if let Ok(remaining) = self.parse_scheme(input.clone()) {
+ return self.parse_with_scheme(remaining)
+ }
+@@ -310,12 +399,13 @@ impl<'a> Parser<'a> {
+ }
+
+ fn parse_with_scheme(mut self, input: Input) -> ParseResult<Url> {
++ use SyntaxViolation::{ExpectedFileDoubleSlash, ExpectedDoubleSlash};
+ let scheme_end = to_u32(self.serialization.len())?;
+ let scheme_type = SchemeType::from(&self.serialization);
+ self.serialization.push(':');
+ match scheme_type {
+ SchemeType::File => {
+- self.syntax_violation_if("expected // after file:", || !input.starts_with("//"));
++ self.violation_fn.call_if(ExpectedFileDoubleSlash, || !input.starts_with("//"));
+ let base_file_url = self.base_url.and_then(|base| {
+ if base.scheme() == "file" { Some(base) } else { None }
+ });
+@@ -335,7 +425,7 @@ impl<'a> Parser<'a> {
+ }
+ }
+ // special authority slashes state
+- self.syntax_violation_if("expected //", || {
++ self.violation_fn.call_if(ExpectedDoubleSlash, || {
+ input.clone().take_while(|&c| matches!(c, '/' | '\\'))
+ .collect::<String>() != "//"
+ });
+@@ -371,6 +461,7 @@ impl<'a> Parser<'a> {
+ }
+
+ fn parse_file(mut self, input: Input, mut base_file_url: Option<&Url>) -> ParseResult<Url> {
++ use SyntaxViolation::Backslash;
+ // file state
+ debug_assert!(self.serialization.is_empty());
+ let (first_char, input_after_first_char) = input.split_first();
+@@ -451,6 +542,7 @@ impl<'a> Parser<'a> {
+ let scheme_end = "file".len() as u32;
+ let path_start = "file://".len() as u32;
+ let fragment_start = "file:///".len() as u32;
++ self.serialization.push('#');
+ self.parse_fragment(input_after_first_char);
+ Ok(Url {
+ serialization: self.serialization,
+@@ -467,18 +559,18 @@ impl<'a> Parser<'a> {
+ }
+ }
+ Some('/') | Some('\\') => {
+- self.syntax_violation_if("backslash", || first_char == Some('\\'));
++ self.violation_fn.call_if(Backslash, || first_char == Some('\\'));
+ // file slash state
+ let (next_char, input_after_next_char) = input_after_first_char.split_first();
+- self.syntax_violation_if("backslash", || next_char == Some('\\'));
++ self.violation_fn.call_if(Backslash, || next_char == Some('\\'));
+ if matches!(next_char, Some('/') | Some('\\')) {
+ // file host state
+ self.serialization.push_str("file://");
+ let scheme_end = "file".len() as u32;
+ let host_start = "file://".len() as u32;
+- let (path_start, host, remaining) =
++ let (path_start, mut host, remaining) =
+ self.parse_file_host(input_after_next_char)?;
+- let host_end = to_u32(self.serialization.len())?;
++ let mut host_end = to_u32(self.serialization.len())?;
+ let mut has_host = !matches!(host, HostInternal::None);
+ let remaining = if path_start {
+ self.parse_path_start(SchemeType::File, &mut has_host, remaining)
+@@ -487,7 +579,13 @@ impl<'a> Parser<'a> {
+ self.serialization.push('/');
+ self.parse_path(SchemeType::File, &mut has_host, path_start, remaining)
+ };
+- // FIXME: deal with has_host
++ // For file URLs that have a host and whose path starts
++ // with the windows drive letter we just remove the host.
++ if !has_host {
++ self.serialization.drain(host_start as usize..host_end as usize);
++ host_end = host_start;
++ host = HostInternal::None;
++ }
+ let (query_start, fragment_start) =
+ self.parse_query_and_fragment(scheme_end, remaining)?;
+ Ok(Url {
+@@ -616,7 +714,7 @@ impl<'a> Parser<'a> {
+ Some('/') | Some('\\') => {
+ let (slashes_count, remaining) = input.count_matching(|c| matches!(c, '/' | '\\'));
+ if slashes_count >= 2 {
+- self.syntax_violation_if("expected //", || {
++ self.violation_fn.call_if(SyntaxViolation::ExpectedDoubleSlash, || {
+ input.clone().take_while(|&c| matches!(c, '/' | '\\'))
+ .collect::<String>() != "//"
+ });
+@@ -680,11 +778,9 @@ impl<'a> Parser<'a> {
+ match c {
+ '@' => {
+ if last_at.is_some() {
+- self.syntax_violation("unencoded @ sign in username or password")
++ self.violation_fn.call(SyntaxViolation::UnencodedAtSign)
+ } else {
+- self.syntax_violation(
+- "embedding authentification information (username or password) \
+- in an URL is not recommended")
++ self.violation_fn.call(SyntaxViolation::EmbeddedCredentials)
+ }
+ last_at = Some((char_count, remaining.clone()))
+ },
+@@ -701,14 +797,23 @@ impl<'a> Parser<'a> {
+ };
+
+ let mut username_end = None;
++ let mut has_password = false;
++ let mut has_username = false;
+ while userinfo_char_count > 0 {
+ let (c, utf8_c) = input.next_utf8().unwrap();
+ userinfo_char_count -= 1;
+ if c == ':' && username_end.is_none() {
+ // Start parsing password
+ username_end = Some(to_u32(self.serialization.len())?);
+- self.serialization.push(':');
++ // We don't add a colon if the password is empty
++ if userinfo_char_count > 0 {
++ self.serialization.push(':');
++ has_password = true;
++ }
+ } else {
++ if !has_password {
++ has_username = true;
++ }
+ self.check_url_code_point(c, &input);
+ self.serialization.extend(utf8_percent_encode(utf8_c, USERINFO_ENCODE_SET));
+ }
+@@ -717,7 +822,9 @@ impl<'a> Parser<'a> {
+ Some(i) => i,
+ None => to_u32(self.serialization.len())?,
+ };
+- self.serialization.push('@');
++ if has_username || has_password {
++ self.serialization.push('@');
++ }
+ Ok((username_end, remaining))
+ }
+
+@@ -783,6 +890,10 @@ impl<'a> Parser<'a> {
+ if scheme_type.is_special() && host_str.is_empty() {
+ return Err(ParseError::EmptyHost)
+ }
++ if !scheme_type.is_special() {
++ let host = Host::parse_opaque(host_str)?;
++ return Ok((host, input));
++ }
+ let host = Host::parse(host_str)?;
+ Ok((host, input))
+ }
+@@ -867,7 +978,7 @@ impl<'a> Parser<'a> {
+ match input.split_first() {
+ (Some('/'), remaining) => input = remaining,
+ (Some('\\'), remaining) => if scheme_type.is_special() {
+- self.syntax_violation("backslash");
++ self.violation_fn.call(SyntaxViolation::Backslash);
+ input = remaining
+ },
+ _ => {}
+@@ -895,7 +1006,7 @@ impl<'a> Parser<'a> {
+ },
+ '\\' if self.context != Context::PathSegmentSetter &&
+ scheme_type.is_special() => {
+- self.syntax_violation("backslash");
++ self.violation_fn.call(SyntaxViolation::Backslash);
+ ends_with_slash = true;
+ break
+ },
+@@ -905,18 +1016,14 @@ impl<'a> Parser<'a> {
+ },
+ _ => {
+ self.check_url_code_point(c, &input);
+- if c == '%' {
+- let after_percent_sign = input.clone();
+- if matches!(input.next(), Some('2')) &&
+- matches!(input.next(), Some('E') | Some('e')) {
+- self.serialization.push('.');
+- continue
+- }
+- input = after_percent_sign
+- }
+ if self.context == Context::PathSegmentSetter {
+- self.serialization.extend(utf8_percent_encode(
+- utf8_c, PATH_SEGMENT_ENCODE_SET));
++ if scheme_type.is_special() {
++ self.serialization.extend(utf8_percent_encode(
++ utf8_c, SPECIAL_PATH_SEGMENT_ENCODE_SET));
++ } else {
++ self.serialization.extend(utf8_percent_encode(
++ utf8_c, PATH_SEGMENT_ENCODE_SET));
++ }
+ } else {
+ self.serialization.extend(utf8_percent_encode(
+ utf8_c, DEFAULT_ENCODE_SET));
+@@ -925,7 +1032,7 @@ impl<'a> Parser<'a> {
+ }
+ }
+ match &self.serialization[segment_start..] {
+- ".." => {
++ ".." | "%2e%2e" | "%2e%2E" | "%2E%2e" | "%2E%2E" | "%2e." | "%2E." | ".%2e" | ".%2E" => {
+ debug_assert!(self.serialization.as_bytes()[segment_start - 1] == b'/');
+ self.serialization.truncate(segment_start - 1); // Truncate "/.."
+ self.pop_path(scheme_type, path_start);
+@@ -933,7 +1040,7 @@ impl<'a> Parser<'a> {
+ self.serialization.push('/')
+ }
+ },
+- "." => {
++ "." | "%2e" | "%2E" => {
+ self.serialization.truncate(segment_start);
+ },
+ _ => {
+@@ -945,7 +1052,7 @@ impl<'a> Parser<'a> {
+ self.serialization.push(':');
+ }
+ if *has_host {
+- self.syntax_violation("file: with host and Windows drive letter");
++ self.violation_fn.call(SyntaxViolation::FileWithHostAndWindowsDrive);
+ *has_host = false; // FIXME account for this in callers
+ }
+ }
+@@ -1087,7 +1194,7 @@ impl<'a> Parser<'a> {
+ pub fn parse_fragment(&mut self, mut input: Input) {
+ while let Some((c, utf8_c)) = input.next_utf8() {
+ if c == '\0' {
+- self.syntax_violation("NULL characters are ignored in URL fragment identifiers")
++ self.violation_fn.call(SyntaxViolation::NullInFragment)
+ } else {
+ self.check_url_code_point(c, &input);
+ self.serialization.extend(utf8_percent_encode(utf8_c,
+@@ -1097,15 +1204,16 @@ impl<'a> Parser<'a> {
+ }
+
+ fn check_url_code_point(&self, c: char, input: &Input) {
+- if let Some(log) = self.log_syntax_violation {
++ let vfn = self.violation_fn;
++ if vfn.is_set() {
+ if c == '%' {
+ let mut input = input.clone();
+ if !matches!((input.next(), input.next()), (Some(a), Some(b))
+ if is_ascii_hex_digit(a) && is_ascii_hex_digit(b)) {
+- log("expected 2 hex digits after %")
++ vfn.call(SyntaxViolation::PercentDecode)
+ }
+ } else if !is_url_code_point(c) {
+- log("non-URL code point")
++ vfn.call(SyntaxViolation::NonUrlCodePoint)
+ }
+ }
+ }
+diff -Nrup a/third_party/rust/url/src/quirks.rs b/third_party/rust/url/src/quirks.rs
+--- a/third_party/rust/url/src/quirks.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/src/quirks.rs 2020-02-28 20:28:57.249406137 +0300
+@@ -46,7 +46,7 @@ pub fn set_href(url: &mut Url, value: &s
+
+ /// Getter for https://url.spec.whatwg.org/#dom-url-origin
+ pub fn origin(url: &Url) -> String {
+- url.origin().unicode_serialization()
++ url.origin().ascii_serialization()
+ }
+
+ /// Getter for https://url.spec.whatwg.org/#dom-url-protocol
+@@ -152,7 +152,7 @@ pub fn set_port(url: &mut Url, new_port:
+ {
+ // has_host implies !cannot_be_a_base
+ let scheme = url.scheme();
+- if !url.has_host() || scheme == "file" {
++ if !url.has_host() || url.host() == Some(Host::Domain("")) || scheme == "file" {
+ return Err(())
+ }
+ result = Parser::parse_port(Input::new(new_port), || default_port(scheme), Context::Setter)
+diff -Nrup a/third_party/rust/url/tests/data.rs b/third_party/rust/url/tests/data.rs
+--- a/third_party/rust/url/tests/data.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/data.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -9,7 +9,7 @@
+ //! Data-driven tests
+
+ extern crate rustc_serialize;
+-extern crate test;
++extern crate rustc_test as test;
+ extern crate url;
+
+ use rustc_serialize::json::{self, Json};
+@@ -29,6 +29,7 @@ fn check_invariants(url: &Url) {
+ fn run_parsing(input: &str, base: &str, expected: Result<ExpectedAttributes, ()>) {
+ let base = match Url::parse(&base) {
+ Ok(base) => base,
++ Err(_) if expected.is_err() => return,
+ Err(message) => panic!("Error parsing base {:?}: {}", base, message)
+ };
+ let (url, expected) = match (base.join(&input), expected) {
+@@ -188,11 +189,7 @@ fn main() {
+ {
+ let mut add_one = |name: String, run: test::TestFn| {
+ tests.push(test::TestDescAndFn {
+- desc: test::TestDesc {
+- name: test::DynTestName(name),
+- ignore: false,
+- should_panic: test::ShouldPanic::No,
+- },
++ desc: test::TestDesc::new(test::DynTestName(name)),
+ testfn: run,
+ })
+ };
+diff -Nrup a/third_party/rust/url/tests/setters_tests.json b/third_party/rust/url/tests/setters_tests.json
+--- a/third_party/rust/url/tests/setters_tests.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/setters_tests.json 2020-02-28 20:28:57.250406130 +0300
+@@ -102,6 +102,31 @@
+ }
+ },
+ {
++ "comment": "Cant switch from file URL with no host",
++ "href": "file://localhost/",
++ "new_value": "http",
++ "expected": {
++ "href": "file:///",
++ "protocol": "file:"
++ }
++ },
++ {
++ "href": "file:///test",
++ "new_value": "gopher",
++ "expected": {
++ "href": "file:///test",
++ "protocol": "file:"
++ }
++ },
++ {
++ "href": "file:",
++ "new_value": "wss",
++ "expected": {
++ "href": "file:///",
++ "protocol": "file:"
++ }
++ },
++ {
+ "comment": "Spec deviation: from special scheme to not is not problematic. https://github.com/whatwg/url/issues/104",
+ "href": "http://example.net",
+ "new_value": "b",
+@@ -176,6 +201,14 @@
+ }
+ },
+ {
++ "href": "javascript:alert(1)",
++ "new_value": "wario",
++ "expected": {
++ "href": "javascript:alert(1)",
++ "username": ""
++ }
++ },
++ {
+ "href": "http://example.net",
+ "new_value": "me",
+ "expected": {
+@@ -224,6 +257,30 @@
+ "href": "http://%c3%89t%C3%A9@example.net/",
+ "username": "%c3%89t%C3%A9"
+ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "x",
++ "expected": {
++ "href": "sc:///",
++ "username": ""
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "test",
++ "expected": {
++ "href": "file://test/",
++ "username": ""
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "wario",
++ "expected": {
++ "href": "javascript://wario@x/",
++ "username": "wario"
++ }
+ }
+ ],
+ "password": [
+@@ -303,10 +360,106 @@
+ "href": "http://:%c3%89t%C3%A9@example.net/",
+ "password": "%c3%89t%C3%A9"
+ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "x",
++ "expected": {
++ "href": "sc:///",
++ "password": ""
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "test",
++ "expected": {
++ "href": "file://test/",
++ "password": ""
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "bowser",
++ "expected": {
++ "href": "javascript://:bowser@x/",
++ "password": "bowser"
++ }
+ }
+ ],
+ "host": [
+ {
++ "href": "sc://x/",
++ "new_value": "\u0009",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000A",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000D",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "#",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "/",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "?",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "@",
++ "expected": {
++ "href": "sc://x/",
++ "host": "x",
++ "hostname": "x"
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "",
++ "expected": {
++ "href": "sc://%C3%9F/",
++ "host": "%C3%9F",
++ "hostname": "%C3%9F"
++ }
++ },
++ {
+ "comment": "Cannot-be-a-base means no host",
+ "href": "mailto:me@example.net",
+ "new_value": "example.com",
+@@ -384,15 +537,6 @@
+ }
+ },
+ {
+- "comment": "Path-only URLs can gain a host",
+- "href": "a:/foo",
+- "new_value": "example.net",
+- "expected": {
+- "href": "a://example.net/foo",
+- "host": "example.net"
+- }
+- },
+- {
+ "comment": "IPv4 address syntax is normalized",
+ "href": "http://example.net",
+ "new_value": "0x7F000001:8080",
+@@ -536,7 +680,7 @@
+ }
+ },
+ {
+- "comment": "\\ is not a delimiter for non-special schemes, and its invalid in a domain",
++ "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts",
+ "href": "view-source+http://example.net/path",
+ "new_value": "example.com\\stuff",
+ "expected": {
+@@ -600,10 +744,119 @@
+ "hostname": "example.com",
+ "port": ""
+ }
++ },
++ {
++ "comment": "Broken IPv6",
++ "href": "http://example.net/",
++ "new_value": "[google.com]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.4x]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
+ }
+ ],
+ "hostname": [
+ {
++ "href": "sc://x/",
++ "new_value": "\u0009",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000A",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "\u000D",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "#",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "/",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "?",
++ "expected": {
++ "href": "sc:///",
++ "host": "",
++ "hostname": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "@",
++ "expected": {
++ "href": "sc://x/",
++ "host": "x",
++ "hostname": "x"
++ }
++ },
++ {
+ "comment": "Cannot-be-a-base means no host",
+ "href": "mailto:me@example.net",
+ "new_value": "example.com",
+@@ -659,15 +912,6 @@
+ }
+ },
+ {
+- "comment": "Path-only URLs can gain a host",
+- "href": "a:/foo",
+- "new_value": "example.net",
+- "expected": {
+- "href": "a://example.net/foo",
+- "host": "example.net"
+- }
+- },
+- {
+ "comment": "IPv4 address syntax is normalized",
+ "href": "http://example.net:8080",
+ "new_value": "0x7F000001",
+@@ -756,7 +1000,7 @@
+ }
+ },
+ {
+- "comment": "\\ is not a delimiter for non-special schemes, and its invalid in a domain",
++ "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts",
+ "href": "view-source+http://example.net/path",
+ "new_value": "example.com\\stuff",
+ "expected": {
+@@ -765,6 +1009,52 @@
+ "hostname": "example.net",
+ "port": ""
+ }
++ },
++ {
++ "comment": "Broken IPv6",
++ "href": "http://example.net/",
++ "new_value": "[google.com]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.4x]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.3.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.2.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
++ },
++ {
++ "href": "http://example.net/",
++ "new_value": "[::1.]",
++ "expected": {
++ "href": "http://example.net/",
++ "host": "example.net",
++ "hostname": "example.net"
++ }
+ }
+ ],
+ "port": [
+@@ -779,7 +1069,7 @@
+ }
+ },
+ {
+- "comment": "Port number is removed if empty in the new value: https://github.com/whatwg/url/pull/113",
++ "comment": "Port number is removed if empty is the new value",
+ "href": "http://example.net:8080",
+ "new_value": "",
+ "expected": {
+@@ -920,6 +1210,65 @@
+ "hostname": "example.net",
+ "port": "8080"
+ }
++ },
++ {
++ "comment": "Port numbers are 16 bit integers, overflowing is an error",
++ "href": "non-special://example.net:8080/path",
++ "new_value": "65536",
++ "expected": {
++ "href": "non-special://example.net:8080/path",
++ "host": "example.net:8080",
++ "hostname": "example.net",
++ "port": "8080"
++ }
++ },
++ {
++ "href": "file://test/",
++ "new_value": "12",
++ "expected": {
++ "href": "file://test/",
++ "port": ""
++ }
++ },
++ {
++ "href": "file://localhost/",
++ "new_value": "12",
++ "expected": {
++ "href": "file:///",
++ "port": ""
++ }
++ },
++ {
++ "href": "non-base:value",
++ "new_value": "12",
++ "expected": {
++ "href": "non-base:value",
++ "port": ""
++ }
++ },
++ {
++ "href": "sc:///",
++ "new_value": "12",
++ "expected": {
++ "href": "sc:///",
++ "port": ""
++ }
++ },
++ {
++ "href": "sc://x/",
++ "new_value": "12",
++ "expected": {
++ "href": "sc://x:12/",
++ "port": "12"
++ }
++ },
++ {
++ "href": "javascript://x/",
++ "new_value": "12",
++ "expected": {
++ "href": "javascript://x:12/",
++ "port": "12"
++ }
+ }
+ ],
+ "pathname": [
+@@ -970,8 +1319,8 @@
+ "href": "view-source+http://example.net/home?lang=fr#nav",
+ "new_value": "\\a\\%2E\\b\\%2e.\\c",
+ "expected": {
+- "href": "view-source+http://example.net/\\a\\.\\b\\..\\c?lang=fr#nav",
+- "pathname": "/\\a\\.\\b\\..\\c"
++ "href": "view-source+http://example.net/\\a\\%2E\\b\\%2e.\\c?lang=fr#nav",
++ "pathname": "/\\a\\%2E\\b\\%2e.\\c"
+ }
+ },
+ {
+@@ -984,12 +1333,48 @@
+ }
+ },
+ {
+- "comment": "Bytes already percent-encoded are left as-is, except %2E.",
++ "comment": "Bytes already percent-encoded are left as-is, including %2E outside dotted segments.",
+ "href": "http://example.net",
+ "new_value": "%2e%2E%c3%89t",
+ "expected": {
+- "href": "http://example.net/..%c3%89t%C3%A9",
+- "pathname": "/..%c3%89t%C3%A9"
++ "href": "http://example.net/%2e%2E%c3%89t%C3%A9",
++ "pathname": "/%2e%2E%c3%89t%C3%A9"
++ }
++ },
++ {
++ "comment": "? needs to be encoded",
++ "href": "http://example.net",
++ "new_value": "?",
++ "expected": {
++ "href": "http://example.net/%3F",
++ "pathname": "/%3F"
++ }
++ },
++ {
++ "comment": "# needs to be encoded",
++ "href": "http://example.net",
++ "new_value": "#",
++ "expected": {
++ "href": "http://example.net/%23",
++ "pathname": "/%23"
++ }
++ },
++ {
++ "comment": "? needs to be encoded, non-special scheme",
++ "href": "sc://example.net",
++ "new_value": "?",
++ "expected": {
++ "href": "sc://example.net/%3F",
++ "pathname": "/%3F"
++ }
++ },
++ {
++ "comment": "# needs to be encoded, non-special scheme",
++ "href": "sc://example.net",
++ "new_value": "#",
++ "expected": {
++ "href": "sc://example.net/%23",
++ "pathname": "/%23"
+ }
+ }
+ ],
+diff -Nrup a/third_party/rust/url/tests/unit.rs b/third_party/rust/url/tests/unit.rs
+--- a/third_party/rust/url/tests/unit.rs 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/unit.rs 2020-02-28 20:28:57.263406036 +0300
+@@ -11,7 +11,9 @@
+ #[macro_use]
+ extern crate url;
+
++use std::ascii::AsciiExt;
+ use std::borrow::Cow;
++use std::cell::{Cell, RefCell};
+ use std::net::{Ipv4Addr, Ipv6Addr};
+ use std::path::{Path, PathBuf};
+ use url::{Host, HostAndPort, Url, form_urlencoded};
+@@ -108,6 +110,17 @@ fn new_directory_paths() {
+ }
+
+ #[test]
++fn path_backslash_fun() {
++ let mut special_url = "http://foobar.com".parse::<Url>().unwrap();
++ special_url.path_segments_mut().unwrap().push("foo\\bar");
++ assert_eq!(special_url.as_str(), "http://foobar.com/foo%5Cbar");
++
++ let mut nonspecial_url = "thing://foobar.com".parse::<Url>().unwrap();
++ nonspecial_url.path_segments_mut().unwrap().push("foo\\bar");
++ assert_eq!(nonspecial_url.as_str(), "thing://foobar.com/foo\\bar");
++}
++
++#[test]
+ fn from_str() {
+ assert!("http://testing.com/this".parse::<Url>().is_ok());
+ }
+@@ -221,7 +234,7 @@ fn test_serialization() {
+ ("http://example.com/", "http://example.com/"),
+ ("http://addslash.com", "http://addslash.com/"),
+ ("http://@emptyuser.com/", "http://emptyuser.com/"),
+- ("http://:@emptypass.com/", "http://:@emptypass.com/"),
++ ("http://:@emptypass.com/", "http://emptypass.com/"),
+ ("http://user@user.com/", "http://user@user.com/"),
+ ("http://user:pass@userpass.com/", "http://user:pass@userpass.com/"),
+ ("http://slashquery.com/path/?q=something", "http://slashquery.com/path/?q=something"),
+@@ -256,6 +269,15 @@ fn test_form_serialize() {
+ }
+
+ #[test]
++fn form_urlencoded_custom_encoding_override() {
++ let encoded = form_urlencoded::Serializer::new(String::new())
++ .custom_encoding_override(|s| s.as_bytes().to_ascii_uppercase().into())
++ .append_pair("foo", "bar")
++ .finish();
++ assert_eq!(encoded, "FOO=BAR");
++}
++
++#[test]
+ fn host_and_port_display() {
+ assert_eq!(
+ format!(
+@@ -286,22 +308,6 @@ fn host_and_port_display() {
+ }
+
+ #[test]
+-/// https://github.com/servo/rust-url/issues/25
+-fn issue_25() {
+- let filename = if cfg!(windows) { r"C:\run\pg.sock" } else { "/run/pg.sock" };
+- let mut url = Url::from_file_path(filename).unwrap();
+- url.check_invariants().unwrap();
+- url.set_scheme("postgres").unwrap();
+- url.check_invariants().unwrap();
+- url.set_host(Some("")).unwrap();
+- url.check_invariants().unwrap();
+- url.set_username("me").unwrap();
+- url.check_invariants().unwrap();
+- let expected = format!("postgres://me@/{}run/pg.sock", if cfg!(windows) { "C:/" } else { "" });
+- assert_eq!(url.as_str(), expected);
+-}
+-
+-#[test]
+ /// https://github.com/servo/rust-url/issues/61
+ fn issue_61() {
+ let mut url = Url::parse("http://mozilla.org").unwrap();
+@@ -372,6 +378,11 @@ fn test_set_host() {
+ let mut url = Url::parse("foobar://example.net/hello").unwrap();
+ url.set_host(None).unwrap();
+ assert_eq!(url.as_str(), "foobar:/hello");
++
++ let mut url = Url::parse("foo://").unwrap();
++ assert_eq!(url.as_str(), "foo://%C8%99/");
++ url.set_host(Some("gou.ro")).unwrap();
++ assert_eq!(url.as_str(), "foo://go%C8%99u.ro/");
+ }
+
+ #[test]
+@@ -478,3 +489,68 @@ fn test_windows_unc_path() {
+ let url = Url::from_file_path(Path::new(r"\\.\some\path\file.txt"));
+ assert!(url.is_err());
+ }
++
++// Test the now deprecated log_syntax_violation method for backward
++// compatibility
++#[test]
++#[allow(deprecated)]
++fn test_old_log_violation_option() {
++ let violation = Cell::new(None);
++ let url = Url::options()
++ .log_syntax_violation(Some(&|s| violation.set(Some(s.to_owned()))))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++
++ let violation = violation.take();
++ assert_eq!(violation, Some("expected //".to_string()));
++}
++
++#[test]
++fn test_syntax_violation_callback() {
++ use url::SyntaxViolation::*;
++ let violation = Cell::new(None);
++ let url = Url::options()
++ .syntax_violation_callback(Some(&|v| violation.set(Some(v))))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++
++ let v = violation.take().unwrap();
++ assert_eq!(v, ExpectedDoubleSlash);
++ assert_eq!(v.description(), "expected //");
++}
++
++#[test]
++fn test_syntax_violation_callback_lifetimes() {
++ use url::SyntaxViolation::*;
++ let violation = Cell::new(None);
++ let vfn = |s| violation.set(Some(s));
++
++ let url = Url::options()
++ .syntax_violation_callback(Some(&vfn))
++ .parse("http:////mozilla.org:42").unwrap();
++ assert_eq!(url.port(), Some(42));
++ assert_eq!(violation.take(), Some(ExpectedDoubleSlash));
++
++ let url = Url::options()
++ .syntax_violation_callback(Some(&vfn))
++ .parse("http://mozilla.org\\path").unwrap();
++ assert_eq!(url.path(), "/path");
++ assert_eq!(violation.take(), Some(Backslash));
++}
++
++#[test]
++fn test_options_reuse() {
++ use url::SyntaxViolation::*;
++ let violations = RefCell::new(Vec::new());
++ let vfn = |v| violations.borrow_mut().push(v);
++
++ let options = Url::options()
++ .syntax_violation_callback(Some(&vfn));
++ let url = options.parse("http:////mozilla.org").unwrap();
++
++ let options = options.base_url(Some(&url));
++ let url = options.parse("/sub\\path").unwrap();
++ assert_eq!(url.as_str(), "http://mozilla.org/sub/path");
++ assert_eq!(*violations.borrow(),
++ vec!(ExpectedDoubleSlash, Backslash));
++}
+diff -Nrup a/third_party/rust/url/tests/urltestdata.json b/third_party/rust/url/tests/urltestdata.json
+--- a/third_party/rust/url/tests/urltestdata.json 2020-02-18 02:39:21.000000000 +0300
++++ b/third_party/rust/url/tests/urltestdata.json 2020-02-28 20:28:57.252406115 +0300
+@@ -31,6 +31,66 @@
+ "hash": "#c"
+ },
+ {
++ "input": "https://test:@test",
++ "base": "about:blank",
++ "href": "https://test@test/",
++ "origin": "https://test",
++ "protocol": "https:",
++ "username": "test",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://:@test",
++ "base": "about:blank",
++ "href": "https://test/",
++ "origin": "https://test",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://test:@test/x",
++ "base": "about:blank",
++ "href": "non-special://test@test/x",
++ "origin": "null",
++ "protocol": "non-special:",
++ "username": "test",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://:@test/x",
++ "base": "about:blank",
++ "href": "non-special://test/x",
++ "origin": "null",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "test",
++ "hostname": "test",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
++ {
+ "input": "http:foo.com",
+ "base": "http://example.org/foo/bar",
+ "href": "http://example.org/foo/foo.com",
+@@ -106,6 +166,20 @@
+ "hash": "# e"
+ },
+ {
++ "input": "lolscheme:x x#x x",
++ "base": "about:blank",
++ "href": "lolscheme:x x#x x",
++ "protocol": "lolscheme:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "x x",
++ "search": "",
++ "hash": "#x x"
++ },
++ {
+ "input": "http://f:/c",
+ "base": "http://example.org/foo/bar",
+ "href": "http://f/c",
+@@ -201,6 +275,11 @@
+ "failure": true
+ },
+ {
++ "input": "non-special://f:999999/c",
++ "base": "http://example.org/foo/bar",
++ "failure": true
++ },
++ {
+ "input": "http://f: 21 / b ? d # e ",
+ "base": "http://example.org/foo/bar",
+ "failure": true
+@@ -960,6 +1039,26 @@
+ "hash": ""
+ },
+ {
++ "input": "file://example:1/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://example:test/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://example%/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "file://[example]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
+ "input": "ftps:/example.com/",
+ "base": "http://example.org/foo/bar",
+ "href": "ftps:/example.com/",
+@@ -1785,7 +1884,7 @@
+ {
+ "input": "http://example.com/foo/%2e%2",
+ "base": "about:blank",
+- "href": "http://example.com/foo/.%2",
++ "href": "http://example.com/foo/%2e%2",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -1793,14 +1892,14 @@
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+- "pathname": "/foo/.%2",
++ "pathname": "/foo/%2e%2",
+ "search": "",
+ "hash": ""
+ },
+ {
+ "input": "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar",
+ "base": "about:blank",
+- "href": "http://example.com/..bar",
++ "href": "http://example.com/%2e.bar",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -1808,7 +1907,7 @@
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+- "pathname": "/..bar",
++ "pathname": "/%2e.bar",
+ "search": "",
+ "hash": ""
+ },
+@@ -2189,11 +2288,6 @@
+ "hash": "# %C2%BB"
+ },
+ {
+- "input": "http://[www.google.com]/",
+- "base": "about:blank",
+- "failure": true
+- },
+- {
+ "input": "http://www.google.com",
+ "base": "about:blank",
+ "href": "http://www.google.com/",
+@@ -2226,7 +2320,7 @@
+ {
+ "input": "http://www/foo%2Ehtml",
+ "base": "about:blank",
+- "href": "http://www/foo.html",
++ "href": "http://www/foo%2Ehtml",
+ "origin": "http://www",
+ "protocol": "http:",
+ "username": "",
+@@ -2234,7 +2328,7 @@
+ "host": "www",
+ "hostname": "www",
+ "port": "",
+- "pathname": "/foo.html",
++ "pathname": "/foo%2Ehtml",
+ "search": "",
+ "hash": ""
+ },
+@@ -3096,7 +3190,7 @@
+ {
+ "input": "http:a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3111,7 +3205,7 @@
+ {
+ "input": "http:/a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3126,7 +3220,7 @@
+ {
+ "input": "http://a:@www.example.com",
+ "base": "about:blank",
+- "href": "http://a:@www.example.com/",
++ "href": "http://a@www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "a",
+@@ -3171,7 +3265,7 @@
+ {
+ "input": "http://:@www.example.com",
+ "base": "about:blank",
+- "href": "http://:@www.example.com/",
++ "href": "http://www.example.com/",
+ "origin": "http://www.example.com",
+ "protocol": "http:",
+ "username": "",
+@@ -3465,6 +3559,22 @@
+ "search": "",
+ "hash": ""
+ },
++ "Leading and trailing C0 control or space",
++ {
++ "input": "\u0000\u001b\u0004\u0012 http://example.com/\u001f \u000d ",
++ "base": "about:blank",
++ "href": "http://example.com/",
++ "origin": "http://example.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.com",
++ "hostname": "example.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Ideographic full stop (full-width period for Chinese, etc.) should be treated as a dot. U+3002 is mapped to U+002E (dot)",
+ {
+ "input": "http://www.foobar.com",
+@@ -3493,6 +3603,32 @@
+ "base": "http://other.com/",
+ "failure": true
+ },
++ "U+FFFD",
++ {
++ "input": "https://\ufffd",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://%EF%BF%BD",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://x/\ufffd?\ufffd#\ufffd",
++ "base": "about:blank",
++ "href": "https://x/%EF%BF%BD?%EF%BF%BD#%EF%BF%BD",
++ "origin": "https://x",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "x",
++ "hostname": "x",
++ "port": "",
++ "pathname": "/%EF%BF%BD",
++ "search": "?%EF%BF%BD",
++ "hash": "#%EF%BF%BD"
++ },
+ "Test name prepping, fullwidth input should be converted to ASCII and NOT IDN-ized. This is 'Go' in fullwidth UTF-8/UTF-16.",
+ {
+ "input": "http://.com",
+@@ -3536,7 +3672,7 @@
+ "input": "http://",
+ "base": "http://other.com/",
+ "href": "http://xn--6qqa088eba/",
+- "origin": "http://",
++ "origin": "http://xn--6qqa088eba",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+@@ -3547,6 +3683,36 @@
+ "search": "",
+ "hash": ""
+ },
++ {
++ "input": "https://fa.ExAmPlE/",
++ "base": "about:blank",
++ "href": "https://xn--fa-hia.example/",
++ "origin": "https://xn--fa-hia.example",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "xn--fa-hia.example",
++ "hostname": "xn--fa-hia.example",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://fa.ExAmPlE/",
++ "base": "about:blank",
++ "href": "sc://fa%C3%9F.ExAmPlE/",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "fa%C3%9F.ExAmPlE",
++ "hostname": "fa%C3%9F.ExAmPlE",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Invalid escaped characters should fail and the percents should be escaped. https://www.w3.org/Bugs/Public/show_bug.cgi?id=24191",
+ {
+ "input": "http://%zz%66%a.com",
+@@ -3600,18 +3766,23 @@
+ "base": "http://other.com/",
+ "failure": true
+ },
+- "Invalid escaping should trigger the regular host error handling",
++ "Invalid escaping in hosts causes failure",
+ {
+ "input": "http://%3g%78%63%30%2e%30%32%35%30%2E.01",
+ "base": "http://other.com/",
+ "failure": true
+ },
+- "Something that isn't exactly an IP should get treated as a host and spaces escaped",
++ "A space in a host causes failure",
+ {
+ "input": "http://192.168.0.1 hello",
+ "base": "http://other.com/",
+ "failure": true
+ },
++ {
++ "input": "https://x x:12",
++ "base": "about:blank",
++ "failure": true
++ },
+ "Fullwidth and escaped UTF-8 fullwidth should still be treated as IP",
+ {
+ "input": "http://",
+@@ -3628,12 +3799,83 @@
+ "search": "",
+ "hash": ""
+ },
++ "Domains with empty labels",
++ {
++ "input": "http://./",
++ "base": "about:blank",
++ "href": "http://./",
++ "origin": "http://.",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": ".",
++ "hostname": ".",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://../",
++ "base": "about:blank",
++ "href": "http://../",
++ "origin": "http://..",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "..",
++ "hostname": "..",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://0..0x300/",
++ "base": "about:blank",
++ "href": "http://0..0x300/",
++ "origin": "http://0..0x300",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "0..0x300",
++ "hostname": "0..0x300",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "Broken IPv6",
+ {
++ "input": "http://[www.google.com]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
+ "input": "http://[google.com]",
+ "base": "http://other.com/",
+ "failure": true
+ },
++ {
++ "input": "http://[::1.2.3.4x]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.2.3.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.2.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://[::1.]",
++ "base": "http://other.com/",
++ "failure": true
++ },
+ "Misc Unicode",
+ {
+ "input": "http://foo:@example.com/bar",
+@@ -4176,22 +4418,91 @@
+ "search": "",
+ "hash": ""
+ },
+- "# unknown schemes and non-ASCII domains",
++ "# unknown schemes and their hosts",
+ {
+ "input": "sc://.test/",
+ "base": "about:blank",
+- "href": "sc://xn--ida.test/",
++ "href": "sc://%C3%B1.test/",
+ "origin": "null",
+ "protocol": "sc:",
+ "username": "",
+ "password": "",
+- "host": "xn--ida.test",
+- "hostname": "xn--ida.test",
++ "host": "%C3%B1.test",
++ "hostname": "%C3%B1.test",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+ "hash": ""
+ },
++ {
++ "input": "sc://\u001F!\"$&'()*+,-.;<=>^_`{|}~/",
++ "base": "about:blank",
++ "href": "sc://%1F!\"$&'()*+,-.;<=>^_`{|}~/",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%1F!\"$&'()*+,-.;<=>^_`{|}~",
++ "hostname": "%1F!\"$&'()*+,-.;<=>^_`{|}~",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://\u0000/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc:// /",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://%/",
++ "base": "about:blank",
++ "href": "sc://%/",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%",
++ "hostname": "%",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "sc://[/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://\\/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "sc://]/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "x",
++ "base": "sc://",
++ "href": "sc://%C3%B1/x",
++ "origin": "null",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "%C3%B1",
++ "hostname": "%C3%B1",
++ "port": "",
++ "pathname": "/x",
++ "search": "",
++ "hash": ""
++ },
+ "# unknown schemes and backslashes",
+ {
+ "input": "sc:\\../",
+@@ -4224,6 +4535,88 @@
+ "search": "",
+ "hash": ""
+ },
++ "# unknown scheme with bogus percent-encoding",
++ {
++ "input": "wow:%NBD",
++ "base": "about:blank",
++ "href": "wow:%NBD",
++ "origin": "null",
++ "protocol": "wow:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "%NBD",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "wow:%1G",
++ "base": "about:blank",
++ "href": "wow:%1G",
++ "origin": "null",
++ "protocol": "wow:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "%1G",
++ "search": "",
++ "hash": ""
++ },
++ "# Hosts and percent-encoding",
++ {
++ "input": "ftp://example.com%80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "ftp://example.com%A0/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://example.com%80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://example.com%A0/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "ftp://%e2%98%83",
++ "base": "about:blank",
++ "href": "ftp://xn--n3h/",
++ "origin": "ftp://xn--n3h",
++ "protocol": "ftp:",
++ "username": "",
++ "password": "",
++ "host": "xn--n3h",
++ "hostname": "xn--n3h",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://%e2%98%83",
++ "base": "about:blank",
++ "href": "https://xn--n3h/",
++ "origin": "https://xn--n3h",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "xn--n3h",
++ "hostname": "xn--n3h",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
+ "# tests from jsdom/whatwg-url designed for code coverage",
+ {
+ "input": "http://127.0.0.1:10100/relative_import.html",
+@@ -4371,75 +4764,1385 @@
+ "port": "",
+ "pathname": "/baz",
+ "search": "?qux",
+- "searchParams": "",
++ "searchParams": "qux=",
+ "hash": "#foo%08bar"
+ },
+- "# IPv6 compression and serialization",
++ "# IPv4 parsing (via https://github.com/nodejs/node/pull/10317)",
++ {
++ "input": "http://192.168.257",
++ "base": "http://other.com/",
++ "href": "http://192.168.1.1/",
++ "origin": "http://192.168.1.1",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "192.168.1.1",
++ "hostname": "192.168.1.1",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://192.168.257.com",
++ "base": "http://other.com/",
++ "href": "http://192.168.257.com/",
++ "origin": "http://192.168.257.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "192.168.257.com",
++ "hostname": "192.168.257.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://256",
++ "base": "http://other.com/",
++ "href": "http://0.0.1.0/",
++ "origin": "http://0.0.1.0",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "0.0.1.0",
++ "hostname": "0.0.1.0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://256.com",
++ "base": "http://other.com/",
++ "href": "http://256.com/",
++ "origin": "http://256.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "256.com",
++ "hostname": "256.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://999999999",
++ "base": "http://other.com/",
++ "href": "http://59.154.201.255/",
++ "origin": "http://59.154.201.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "59.154.201.255",
++ "hostname": "59.154.201.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://999999999.com",
++ "base": "http://other.com/",
++ "href": "http://999999999.com/",
++ "origin": "http://999999999.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "999999999.com",
++ "hostname": "999999999.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://10000000000",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://10000000000.com",
++ "base": "http://other.com/",
++ "href": "http://10000000000.com/",
++ "origin": "http://10000000000.com",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "10000000000.com",
++ "hostname": "10000000000.com",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://4294967295",
++ "base": "http://other.com/",
++ "href": "http://255.255.255.255/",
++ "origin": "http://255.255.255.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "255.255.255.255",
++ "hostname": "255.255.255.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://4294967296",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://0xffffffff",
++ "base": "http://other.com/",
++ "href": "http://255.255.255.255/",
++ "origin": "http://255.255.255.255",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "255.255.255.255",
++ "hostname": "255.255.255.255",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://0xffffffff1",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://256.256.256.256",
++ "base": "http://other.com/",
++ "failure": true
++ },
++ {
++ "input": "http://256.256.256.256.256",
++ "base": "http://other.com/",
++ "href": "http://256.256.256.256.256/",
++ "origin": "http://256.256.256.256.256",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "256.256.256.256.256",
++ "hostname": "256.256.256.256.256",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "https://0x.0x.0",
++ "base": "about:blank",
++ "href": "https://0.0.0.0/",
++ "origin": "https://0.0.0.0",
++ "protocol": "https:",
++ "username": "",
++ "password": "",
++ "host": "0.0.0.0",
++ "hostname": "0.0.0.0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "More IPv4 parsing (via https://github.com/jsdom/whatwg-url/issues/92)",
++ {
++ "input": "https://256.0.0.1/test",
++ "base": "about:blank",
++ "failure": true
++ },
++ "# file URLs containing percent-encoded Windows drive letters (shouldn't work)",
++ {
++ "input": "file:///C%3A/",
++ "base": "about:blank",
++ "href": "file:///C%3A/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C%3A/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file:///C%7C/",
++ "base": "about:blank",
++ "href": "file:///C%7C/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C%7C/",
++ "search": "",
++ "hash": ""
++ },
++ "# file URLs relative to other file URLs (via https://github.com/jsdom/whatwg-url/pull/60)",
++ {
++ "input": "pix/submit.gif",
++ "base": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html",
++ "href": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///C:/",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "# More file URL tests by zcorpan and annevk",
++ {
++ "input": "/",
++ "base": "file:///C:/a/b",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "//d:",
++ "base": "file:///C:/a/b",
++ "href": "file:///d:",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/d:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "//d:/..",
++ "base": "file:///C:/a/b",
++ "href": "file:///d:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/d:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///ab:/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "..",
++ "base": "file:///1:/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": ""
++ },
++ {
++ "input": "file:",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": ""
++ },
++ {
++ "input": "?x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?x",
++ "hash": ""
++ },
++ {
++ "input": "file:?x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?x",
++ "hash": ""
++ },
++ {
++ "input": "#x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test#x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": "#x"
++ },
++ {
++ "input": "file:#x",
++ "base": "file:///test?test#test",
++ "href": "file:///test?test#x",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test",
++ "search": "?test",
++ "hash": "#x"
++ },
++ "# File URLs and many (back)slashes",
++ {
++ "input": "file:///localhost//cat",
++ "base": "about:blank",
++ "href": "file:///localhost//cat",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/localhost//cat",
++ "search": "",
++ "hash": ""
++ },
+ {
+- "input": "http://[fe80:cd00::1257:0:211e:729c]/",
++ "input": "\\//pig",
++ "base": "file://lion/",
++ "href": "file:///pig",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/pig",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://",
++ "base": "file://ape/",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter handling with the 'file:' base URL",
++ {
++ "input": "C|#",
++ "base": "file://host/dir/file",
++ "href": "file:///C:#",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|?",
++ "base": "file://host/dir/file",
++ "href": "file:///C:?",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|/",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|\n/",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|\\",
++ "base": "file://host/dir/file",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C",
++ "base": "file://host/dir/file",
++ "href": "file://host/dir/C",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "host",
++ "hostname": "host",
++ "port": "",
++ "pathname": "/dir/C",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "C|a",
++ "base": "file://host/dir/file",
++ "href": "file://host/dir/C|a",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "host",
++ "hostname": "host",
++ "port": "",
++ "pathname": "/dir/C|a",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk in the file slash state",
++ {
++ "input": "/c:/foo/bar",
++ "base": "file://host/path",
++ "href": "file:///c:/foo/bar",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/c:/foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk (no host)",
++ {
++ "input": "file:/C|/",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00::1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00::1257:0:211e:729c]",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://C|/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ "# Windows drive letter quirk with not empty host",
++ {
++ "input": "file://example.net/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://1.2.3.4/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file://[1::8]/C:/",
++ "base": "about:blank",
++ "href": "file:///C:/",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/C:/",
++ "search": "",
++ "hash": ""
++ },
++ "# file URLs without base URL by Rimas Miseviius",
++ {
++ "input": "file:",
++ "base": "about:blank",
++ "href": "file:///",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "file:?q=v",
++ "base": "about:blank",
++ "href": "file:///?q=v",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "?q=v",
++ "hash": ""
++ },
++ {
++ "input": "file:#frag",
++ "base": "about:blank",
++ "href": "file:///#frag",
++ "protocol": "file:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": "#frag"
++ },
++ "# IPv6 tests",
++ {
++ "input": "http://[1:0::]",
++ "base": "http://example.net/",
++ "href": "http://[1::]/",
++ "origin": "http://[1::]",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00::1257:0:211e:729c]",
+- "hostname": "[fe80:cd00::1257:0:211e:729c]",
++ "host": "[1::]",
++ "hostname": "[1::]",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Compress sequences of two or more zeroes",
+ {
+- "input": "http://[fe80:cd00:0:0:1257:0:211e:729c]/",
++ "input": "http://[0:1:2:3:4:5:6:7:8]",
++ "base": "http://example.net/",
++ "failure": true
++ },
++ {
++ "input": "https://[0::0::0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:0:]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1:2:3:4:5:6:7.0.0.0.1]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.00.0.0.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.290.0.0.0]",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "https://[0:1.23.23]",
++ "base": "about:blank",
++ "failure": true
++ },
++ "# Empty host",
++ {
++ "input": "http://?",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00::1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00::1257:0:211e:729c]",
++ "failure": true
++ },
++ {
++ "input": "http://#",
++ "base": "about:blank",
++ "failure": true
++ },
++ "Port overflow (2^32 + 81)",
++ {
++ "input": "http://f:4294967377/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "Port overflow (2^64 + 81)",
++ {
++ "input": "http://f:18446744073709551697/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "Port overflow (2^128 + 81)",
++ {
++ "input": "http://f:340282366920938463463374607431768211537/c",
++ "base": "http://example.org/",
++ "failure": true
++ },
++ "# Non-special-URL path tests",
++ {
++ "input": "///",
++ "base": "sc://x/",
++ "href": "sc:///",
++ "protocol": "sc:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "tftp://foobar.com/someconfig;mode=netascii",
++ "base": "about:blank",
++ "href": "tftp://foobar.com/someconfig;mode=netascii",
++ "origin": "null",
++ "protocol": "tftp:",
++ "username": "",
++ "password": "",
++ "host": "foobar.com",
++ "hostname": "foobar.com",
++ "port": "",
++ "pathname": "/someconfig;mode=netascii",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "telnet://user:pass@foobar.com:23/",
++ "base": "about:blank",
++ "href": "telnet://user:pass@foobar.com:23/",
++ "origin": "null",
++ "protocol": "telnet:",
++ "username": "user",
++ "password": "pass",
++ "host": "foobar.com:23",
++ "hostname": "foobar.com",
++ "port": "23",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "ut2004://10.10.10.10:7777/Index.ut2",
++ "base": "about:blank",
++ "href": "ut2004://10.10.10.10:7777/Index.ut2",
++ "origin": "null",
++ "protocol": "ut2004:",
++ "username": "",
++ "password": "",
++ "host": "10.10.10.10:7777",
++ "hostname": "10.10.10.10",
++ "port": "7777",
++ "pathname": "/Index.ut2",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz",
++ "base": "about:blank",
++ "href": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz",
++ "origin": "null",
++ "protocol": "redis:",
++ "username": "foo",
++ "password": "bar",
++ "host": "somehost:6379",
++ "hostname": "somehost",
++ "port": "6379",
++ "pathname": "/0",
++ "search": "?baz=bam&qux=baz",
++ "hash": ""
++ },
++ {
++ "input": "rsync://foo@host:911/sup",
++ "base": "about:blank",
++ "href": "rsync://foo@host:911/sup",
++ "origin": "null",
++ "protocol": "rsync:",
++ "username": "foo",
++ "password": "",
++ "host": "host:911",
++ "hostname": "host",
++ "port": "911",
++ "pathname": "/sup",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "git://github.com/foo/bar.git",
++ "base": "about:blank",
++ "href": "git://github.com/foo/bar.git",
++ "origin": "null",
++ "protocol": "git:",
++ "username": "",
++ "password": "",
++ "host": "github.com",
++ "hostname": "github.com",
++ "port": "",
++ "pathname": "/foo/bar.git",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "irc://myserver.com:6999/channel?passwd",
++ "base": "about:blank",
++ "href": "irc://myserver.com:6999/channel?passwd",
++ "origin": "null",
++ "protocol": "irc:",
++ "username": "",
++ "password": "",
++ "host": "myserver.com:6999",
++ "hostname": "myserver.com",
++ "port": "6999",
++ "pathname": "/channel",
++ "search": "?passwd",
++ "hash": ""
++ },
++ {
++ "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT",
++ "base": "about:blank",
++ "href": "dns://fw.example.org:9999/foo.bar.org?type=TXT",
++ "origin": "null",
++ "protocol": "dns:",
++ "username": "",
++ "password": "",
++ "host": "fw.example.org:9999",
++ "hostname": "fw.example.org",
++ "port": "9999",
++ "pathname": "/foo.bar.org",
++ "search": "?type=TXT",
++ "hash": ""
++ },
++ {
++ "input": "ldap://localhost:389/ou=People,o=JNDITutorial",
++ "base": "about:blank",
++ "href": "ldap://localhost:389/ou=People,o=JNDITutorial",
++ "origin": "null",
++ "protocol": "ldap:",
++ "username": "",
++ "password": "",
++ "host": "localhost:389",
++ "hostname": "localhost",
++ "port": "389",
++ "pathname": "/ou=People,o=JNDITutorial",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "git+https://github.com/foo/bar",
++ "base": "about:blank",
++ "href": "git+https://github.com/foo/bar",
++ "origin": "null",
++ "protocol": "git+https:",
++ "username": "",
++ "password": "",
++ "host": "github.com",
++ "hostname": "github.com",
++ "port": "",
++ "pathname": "/foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "urn:ietf:rfc:2648",
++ "base": "about:blank",
++ "href": "urn:ietf:rfc:2648",
++ "origin": "null",
++ "protocol": "urn:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "ietf:rfc:2648",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "tag:joe@example.org,2001:foo/bar",
++ "base": "about:blank",
++ "href": "tag:joe@example.org,2001:foo/bar",
++ "origin": "null",
++ "protocol": "tag:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "joe@example.org,2001:foo/bar",
++ "search": "",
++ "hash": ""
++ },
++ "# percent encoded hosts in non-special-URLs",
++ {
++ "input": "non-special://%E2%80%A0/",
++ "base": "about:blank",
++ "href": "non-special://%E2%80%A0/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "%E2%80%A0",
++ "hostname": "%E2%80%A0",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://H%4fSt/path",
++ "base": "about:blank",
++ "href": "non-special://H%4fSt/path",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "H%4fSt",
++ "hostname": "H%4fSt",
++ "port": "",
++ "pathname": "/path",
++ "search": "",
++ "hash": ""
++ },
++ "# IPv6 in non-special-URLs",
++ {
++ "input": "non-special://[1:2:0:0:5:0:0:0]/",
++ "base": "about:blank",
++ "href": "non-special://[1:2:0:0:5::]/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2:0:0:5::]",
++ "hostname": "[1:2:0:0:5::]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[1:2:0:0:0:0:0:3]/",
++ "base": "about:blank",
++ "href": "non-special://[1:2::3]/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2::3]",
++ "hostname": "[1:2::3]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[1:2::3]:80/",
++ "base": "about:blank",
++ "href": "non-special://[1:2::3]:80/",
++ "protocol": "non-special:",
++ "username": "",
++ "password": "",
++ "host": "[1:2::3]:80",
++ "hostname": "[1:2::3]",
++ "port": "80",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "non-special://[:80/",
++ "base": "about:blank",
++ "failure": true
++ },
++ {
++ "input": "blob:https://example.com:443/",
++ "base": "about:blank",
++ "href": "blob:https://example.com:443/",
++ "protocol": "blob:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "https://example.com:443/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "base": "about:blank",
++ "href": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "protocol": "blob:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "d3958f5c-0777-0845-9dcf-2cb28783acaf",
++ "search": "",
++ "hash": ""
++ },
++ "Invalid IPv4 radix digits",
++ {
++ "input": "http://0177.0.0.0189",
++ "base": "about:blank",
++ "href": "http://0177.0.0.0189/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00::1257:0:211e:729c]",
+- "hostname": "[fe80:cd00::1257:0:211e:729c]",
++ "host": "0177.0.0.0189",
++ "hostname": "0177.0.0.0189",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Compress longest sequence of zeroes",
+ {
+- "input": "http://[fe80:0:0:1257:0:0:0:cd00]/",
++ "input": "http://0x7f.0.0.0x7g",
+ "base": "about:blank",
+- "href": "http://[fe80:0:0:1257::cd00]/",
+- "origin": "http://[fe80:0:0:1257::cd00]",
++ "href": "http://0x7f.0.0.0x7g/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:0:0:1257::cd00]",
+- "hostname": "[fe80:0:0:1257::cd00]",
++ "host": "0x7f.0.0.0x7g",
++ "hostname": "0x7f.0.0.0x7g",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
+ },
+- "# IPv6 compression and serialization: Do not compress lone zeroes",
+ {
+- "input": "http://[fe80:cd00:0:cde:1257:0:211e:729c]/",
++ "input": "http://0X7F.0.0.0X7G",
+ "base": "about:blank",
+- "href": "http://[fe80:cd00:0:cde:1257:0:211e:729c]/",
+- "origin": "http://[fe80:cd00:0:cde:1257:0:211e:729c]",
++ "href": "http://0x7f.0.0.0x7g/",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+- "host": "[fe80:cd00:0:cde:1257:0:211e:729c]",
+- "hostname": "[fe80:cd00:0:cde:1257:0:211e:729c]",
++ "host": "0x7f.0.0.0x7g",
++ "hostname": "0x7f.0.0.0x7g",
+ "port": "",
+ "pathname": "/",
+ "search": "",
+- "searchParams": "",
+ "hash": ""
++ },
++ "Invalid IPv4 portion of IPv6 address",
++ {
++ "input": "http://[::127.0.0.0.1]",
++ "base": "about:blank",
++ "failure": true
++ },
++ "Uncompressed IPv6 addresses with 0",
++ {
++ "input": "http://[0:1:0:1:0:1:0:1]",
++ "base": "about:blank",
++ "href": "http://[0:1:0:1:0:1:0:1]/",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "[0:1:0:1:0:1:0:1]",
++ "hostname": "[0:1:0:1:0:1:0:1]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://[1:0:1:0:1:0:1:0]",
++ "base": "about:blank",
++ "href": "http://[1:0:1:0:1:0:1:0]/",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "[1:0:1:0:1:0:1:0]",
++ "hostname": "[1:0:1:0:1:0:1:0]",
++ "port": "",
++ "pathname": "/",
++ "search": "",
++ "hash": ""
++ },
++ "Percent-encoded query and fragment",
++ {
++ "input": "http://example.org/test?\u0022",
++ "base": "about:blank",
++ "href": "http://example.org/test?%22",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%22",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u0023",
++ "base": "about:blank",
++ "href": "http://example.org/test?#",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u003C",
++ "base": "about:blank",
++ "href": "http://example.org/test?%3C",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%3C",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u003E",
++ "base": "about:blank",
++ "href": "http://example.org/test?%3E",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%3E",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?\u2323",
++ "base": "about:blank",
++ "href": "http://example.org/test?%E2%8C%A3",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%E2%8C%A3",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?%23%23",
++ "base": "about:blank",
++ "href": "http://example.org/test?%23%23",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%23%23",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?%GH",
++ "base": "about:blank",
++ "href": "http://example.org/test?%GH",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?%GH",
++ "hash": ""
++ },
++ {
++ "input": "http://example.org/test?a#%EF",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#%EF",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#%EF"
++ },
++ {
++ "input": "http://example.org/test?a#%GH",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#%GH",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#%GH"
++ },
++ "Bad bases",
++ {
++ "input": "test-a.html",
++ "base": "a",
++ "failure": true
++ },
++ {
++ "input": "test-a-slash.html",
++ "base": "a/",
++ "failure": true
++ },
++ {
++ "input": "test-a-slash-slash.html",
++ "base": "a//",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon.html",
++ "base": "a:",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon-slash.html",
++ "base": "a:/",
++ "href": "a:/test-a-colon-slash.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-slash-slash.html",
++ "base": "a://",
++ "href": "a:///test-a-colon-slash-slash.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash-slash.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-b.html",
++ "base": "a:b",
++ "failure": true
++ },
++ {
++ "input": "test-a-colon-slash-b.html",
++ "base": "a:/b",
++ "href": "a:/test-a-colon-slash-b.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "",
++ "hostname": "",
++ "port": "",
++ "pathname": "/test-a-colon-slash-b.html",
++ "search": "",
++ "hash": ""
++ },
++ {
++ "input": "test-a-colon-slash-slash-b.html",
++ "base": "a://b",
++ "href": "a://b/test-a-colon-slash-slash-b.html",
++ "protocol": "a:",
++ "username": "",
++ "password": "",
++ "host": "b",
++ "hostname": "b",
++ "port": "",
++ "pathname": "/test-a-colon-slash-slash-b.html",
++ "search": "",
++ "hash": ""
++ },
++ "Null code point in fragment",
++ {
++ "input": "http://example.org/test?a#b\u0000c",
++ "base": "about:blank",
++ "href": "http://example.org/test?a#bc",
++ "protocol": "http:",
++ "username": "",
++ "password": "",
++ "host": "example.org",
++ "hostname": "example.org",
++ "port": "",
++ "pathname": "/test",
++ "search": "?a",
++ "hash": "#bc"
+ }
+ ]
+diff -Nrup a/toolkit/library/rust/Cargo.lock b/toolkit/library/rust/Cargo.lock
+--- a/toolkit/library/rust/Cargo.lock 2020-02-18 02:39:43.000000000 +0300
++++ b/toolkit/library/rust/Cargo.lock 2020-02-28 20:28:57.266406014 +0300
+@@ -808,7 +808,7 @@ dependencies = [
+ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "nserror 0.1.0",
+ "nsstring 0.1.0",
+- "url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+@@ -1154,7 +1154,7 @@ dependencies = [
+
+ [[package]]
+ name = "url"
+-version = "1.5.1"
++version = "1.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1383,7 +1383,7 @@ dependencies = [
+ "checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
+ "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+ "checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91"
+-"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"
++"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+ "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
+ "checksum vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c"
+ "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
diff --git a/seamonkey-2.53.1-rust141-encoding_rs.patch b/seamonkey-2.53.1-rust141-encoding_rs.patch
new file mode 100644
index 0000000..ca22efc
--- /dev/null
+++ b/seamonkey-2.53.1-rust141-encoding_rs.patch
@@ -0,0 +1,29 @@
+diff -Nrup -U 8 a/third_party/rust/encoding_rs/.cargo-checksum.json b/third_party/rust/encoding_rs/.cargo-checksum.json
+--- a/third_party/rust/encoding_rs/.cargo-checksum.json 2019-12-29 20:38:43.000000000 +0300
++++ b/third_party/rust/encoding_rs/.cargo-checksum.json 2020-02-24 19:55:59.483772898 +0300
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4d1af7257c9619f7ae66fc271ba2c1be5f063640ae8ceaa235c8c8aaf32f44ea","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"b74676e1affb0a2b528507be488bd9588db646b3b05807dada63cbe7b0747fc6","Ideas.md":"c1be4cc91621f52f38ea7febda7a4bb68086189cacc834c7edac4ba1a9da02fe","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"276d801faf4d6347c3ea32ae252cab95df653c846beaac535c5d70cf32094f5e","generate-encoding-data.py":"0b62de6d3b6368166b78a9259f06dc8d0f558504a0ed866dbe75dc2efb4bf464","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"240c607d3bad850c57d1e96871d5c0371278ed3923c38354bbb4c8a876c9a515","src/big5.rs":"614d479aabc63007f778d1f776a37b885e13d20b7c6c7a2818a729bde342f8a6","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"23e08359ccbe7602f3a90fce78dc76fd4065c236820ac0d11c9d9325045da0e6","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"8b0691ab21d638bd20078e33247f13afbc8012ff4b843a2fd03e3314353e8520","src/iso_2022_jp.rs":"285e7cea6df41d182a345a0f394a2348b1c313f0d55ed48c349824f2a6aff526","src/lib.rs":"dad6465f541ccdb171312879999d842dcbf11bc09119d81963df3a20f7d4e474","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"ff30e10bfb58fb8f56f0cc0b4dbcc4af6b343487562ee279ace8b31afd7bcccc","src/single_byte.rs":"0342a921427ed160f5cbe4532490aff5db00886a36b70273f54d8f6a9dcf6974","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"0bcf7eeb8bb33cbc88bd3bd8462437501a43055db02c40a12a15fae8e68dd1cb","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"8155c1c0acaab2826ee9f99ba911fbd3125707d797327e630977bc2f3f9b1064","src/utf_8.rs":"14cd64de87d8fc5f814f52f76390bda0b4c705da98e73e376fb424ca02119ba5","src/utf_8_core.rs":"0229de223eef17ad16751a646bcd3839c24f24069d660a4dc61b8a5fad19d16f","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"420fae797ea94e7a51eb005b97621ab32d68a8532c565afc60ecce6bdd84b6bd"},"package":"e00a1b1e95eb46988805ceee6f34cd95c46a6753e290cb3ff0486931989d4a4c"}
+\ No newline at end of file
++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4d1af7257c9619f7ae66fc271ba2c1be5f063640ae8ceaa235c8c8aaf32f44ea","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"b74676e1affb0a2b528507be488bd9588db646b3b05807dada63cbe7b0747fc6","Ideas.md":"c1be4cc91621f52f38ea7febda7a4bb68086189cacc834c7edac4ba1a9da02fe","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"276d801faf4d6347c3ea32ae252cab95df653c846beaac535c5d70cf32094f5e","generate-encoding-data.py":"0b62de6d3b6368166b78a9259f06dc8d0f558504a0ed866dbe75dc2efb4bf464","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"240c607d3bad850c57d1e96871d5c0371278ed3923c38354bbb4c8a876c9a515","src/big5.rs":"614d479aabc63007f778d1f776a37b885e13d20b7c6c7a2818a729bde342f8a6","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"23e08359ccbe7602f3a90fce78dc76fd4065c236820ac0d11c9d9325045da0e6","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"8b0691ab21d638bd20078e33247f13afbc8012ff4b843a2fd03e3314353e8520","src/iso_2022_jp.rs":"285e7cea6df41d182a345a0f394a2348b1c313f0d55ed48c349824f2a6aff526","src/lib.rs":"dad6465f541ccdb171312879999d842dcbf11bc09119d81963df3a20f7d4e474","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"ff30e10bfb58fb8f56f0cc0b4dbcc4af6b343487562ee279ace8b31afd7bcccc","src/single_byte.rs":"0342a921427ed160f5cbe4532490aff5db00886a36b70273f54d8f6a9dcf6974","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"0bcf7eeb8bb33cbc88bd3bd8462437501a43055db02c40a12a15fae8e68dd1cb","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"1d2c40857c946f6eecf724efc60a196865b4d84a59b08b42fbe4576fa8308fd0","src/utf_8.rs":"14cd64de87d8fc5f814f52f76390bda0b4c705da98e73e376fb424ca02119ba5","src/utf_8_core.rs":"0229de223eef17ad16751a646bcd3839c24f24069d660a4dc61b8a5fad19d16f","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"420fae797ea94e7a51eb005b97621ab32d68a8532c565afc60ecce6bdd84b6bd"},"package":"e00a1b1e95eb46988805ceee6f34cd95c46a6753e290cb3ff0486931989d4a4c"}
+diff -Nrup -U 8 a/third_party/rust/encoding_rs/src/utf_16.rs b/third_party/rust/encoding_rs/src/utf_16.rs
+--- a/third_party/rust/encoding_rs/src/utf_16.rs 2019-12-29 20:38:43.000000000 +0300
++++ b/third_party/rust/encoding_rs/src/utf_16.rs 2020-02-24 19:53:49.973548797 +0300
+@@ -25,17 +25,17 @@ impl Utf16Decoder {
+ lead_surrogate: 0,
+ lead_byte: None,
+ be: big_endian,
+ pending_bmp: false,
+ }
+ )
+ }
+
+- pub fn additional_from_state(&self) -> usize() {
++ pub fn additional_from_state(&self) -> usize {
+ 1 + if self.lead_byte.is_some() { 1 } else { 0 } +
+ if self.lead_surrogate == 0 { 0 } else { 2 }
+ }
+
+ pub fn max_utf16_buffer_length(&self, byte_length: usize) -> Option<usize> {
+ checked_add(
+ 1,
+ checked_div(byte_length.checked_add(self.additional_from_state()), 2),
diff --git a/seamonkey-2.53.1-startupcache.patch b/seamonkey-2.53.1-startupcache.patch
new file mode 100644
index 0000000..bd7d9fc
--- /dev/null
+++ b/seamonkey-2.53.1-startupcache.patch
@@ -0,0 +1,102 @@
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/startupcache/StartupCache.cpp seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/startupcache/StartupCache.cpp
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/startupcache/StartupCache.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/startupcache/StartupCache.cpp 2020-02-24 01:24:52.935332070 +0300
+@@ -76,21 +76,22 @@ StartupCache::CollectReports(nsIHandleRe
+
+ StartupCache*
+ StartupCache::GetSingleton()
+ {
+ if (!gStartupCache) {
+ if (!XRE_IsParentProcess()) {
+ return nullptr;
+ }
+-#ifdef MOZ_DISABLE_STARTUPCACHE
+- return nullptr;
+-#else
+- StartupCache::InitSingleton();
+-#endif
++
++ if (PR_GetEnv("MOZ_DISABLE_STARTUPCACHE")) {
++ return nullptr;
++ } else {
++ StartupCache::InitSingleton();
++ }
+ }
+
+ return StartupCache::gStartupCache;
+ }
+
+ void
+ StartupCache::DeleteSingleton()
+ {
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.js 2020-02-24 01:24:52.955331955 +0300
+@@ -106,8 +106,15 @@ function ReadSmartSizeEnabled()
+ }
+
+ function updateActualCacheSize()
+ {
+ Cc["@mozilla.org/netwerk/cache-storage-service;1"]
+ .getService(Ci.nsICacheStorageService)
+ .asyncGetDiskConsumption(CacheObserver);
+ }
++
++function prefClearStartupCache(aButton)
++{
++ Services.appinfo.invalidateCachesOnRestart();
++ aButton.disabled = true;
++}
++
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.xul seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.xul
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-cache.xul 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-cache.xul 2020-02-24 02:54:04.763717723 +0300
+@@ -103,16 +103,28 @@
+ <menuitem value="0" label="&checkOncePerSession.label;"/>
+ <menuitem value="2" label="&checkNever.label;"/>
+ </menupopup>
+ </menulist>
+ </hbox>
+
+ </groupbox>
+
++ <groupbox id="startupCache">
++ <caption id="startupCacheLabel" label="&startupCacheTitle.label;"/>
++ <description>&startupCachePara;</description>
++ <hbox id="startupCacheBox" align="center">
++ <button id="clearStartupCacheButton"
++ class="indent"
++ label="&clearStartupCache.label;"
++ accesskey="&clearStartupCache.accesskey;"
++ oncommand="prefClearStartupCache(this);"/>
++ </hbox>
++ </groupbox>
++
+ <groupbox id="prefetch">
+ <caption id="prefetchLabel" label="&prefetchTitle.label;"/>
+ <vbox id="prefetchBox" align="start">
+ <checkbox id="enablePrefetch"
+ label="&enablePrefetch.label;"
+ accesskey="&enablePrefetch.accesskey;"
+ preference="network.prefetch-next"/>
+ </vbox>
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-cache.dtd seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-cache.dtd
+--- seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-cache.dtd 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-cache.dtd 2020-02-24 02:50:26.000000000 +0300
+@@ -21,11 +21,16 @@
+ <!ENTITY diskCacheFolderExplanation "Cache files will be stored in a subfolder named "Cache" of the directory you specify. Restart &brandShortName; for changes to take effect.">
+ <!ENTITY docCache.label "Compare the page in the cache to the page on the network:">
+ <!ENTITY docCache.accesskey "m">
+ <!ENTITY checkOncePerSession.label "Once per session">
+ <!ENTITY checkEveryTime.label "Every time I view the page">
+ <!ENTITY checkNever.label "Never">
+ <!ENTITY checkAutomatically.label "When the page is out of date">
+
++<!ENTITY startupCacheTitle.label "Startup Cache">
++<!ENTITY startupCachePara "Startup cache is used to speed up SeaMonkey loading. (Updates or changes of some addons and extensions might require to flush the cache afterwards.)">
++<!ENTITY clearStartupCache.label "Clear startupCache">
++<!ENTITY clearStartupCache.accesskey "s">
++
+ <!ENTITY prefetchTitle.label "Link Prefetching">
+ <!ENTITY enablePrefetch.label "Prefetch web pages when idle, so that links in web pages designed for prefetching can load more quickly">
+ <!ENTITY enablePrefetch.accesskey "P">
diff --git a/seamonkey-2.53.1-system_nss_nspr.patch b/seamonkey-2.53.1-system_nss_nspr.patch
new file mode 100644
index 0000000..bd5fdcd
--- /dev/null
+++ b/seamonkey-2.53.1-system_nss_nspr.patch
@@ -0,0 +1,20 @@
+--- seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/old-configure.in.orig 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53.1/seamonkey-2.53-comm-2_53_beta_01/mozilla/old-configure.in 2020-01-06 03:19:40.952857698 +0300
+@@ -48,7 +48,7 @@
+ MOZJPEG=62
+ MOZPNG=10635
+ NSPR_VERSION=4
+-NSPR_MINVER=4.23
++NSPR_MINVER=4.21
+ NSS_VERSION=3
+
+ dnl Set the minimum version of toolkit libs used by mozilla
+@@ -1808,7 +1808,7 @@
+ _USE_SYSTEM_NSS=1 )
+
+ if test -n "$_USE_SYSTEM_NSS"; then
+- AM_PATH_NSS(3.47.1, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
++ AM_PATH_NSS(3.44.0, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
+ fi
+
+ NSS_CFLAGS="$NSS_CFLAGS -I${DIST}/include/nss"
diff --git a/seamonkey-2.53.1-useragent.patch b/seamonkey-2.53.1-useragent.patch
new file mode 100644
index 0000000..88f9610
--- /dev/null
+++ b/seamonkey-2.53.1-useragent.patch
@@ -0,0 +1,290 @@
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/calendar/base/src/calCalendarManager.js seamonkey-2.53-comm-2_53_beta_01-OK/calendar/base/src/calCalendarManager.js
+--- seamonkey-2.53-comm-2_53_beta_01/calendar/base/src/calCalendarManager.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/calendar/base/src/calCalendarManager.js 2020-02-19 23:52:08.526194868 +0300
+@@ -141,41 +141,43 @@ calCalendarManager.prototype = {
+ // Possible reasons we got here:
+ // - Its not a http channel (wtf? Oh well)
+ // - The owner is not a calICalendar (looks like its not our deal)
+ // - The WWW-Authenticate header is missing (thats ok)
+ }
+ break;
+ }
+ case "http-on-modify-request": {
+- // Unfortunately, the ability to do this with a general pref has
+- // been removed. Calendar servers might still want to know what
+- // client is used for access, so add our UA String to each
+- // request.
+- let httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
+- try {
+- // NOTE: For some reason, this observer call doesn't have
+- // the "cal" namespace defined
+- let userAgent = httpChannel.getRequestHeader("User-Agent");
+- let calUAString = Preferences.get("calendar.useragent.extra", "").trim();
+-
+- // Don't add an empty string or an already included token.
+- if (calUAString && !userAgent.includes(calUAString)) {
+- // User-Agent is not a mergeable header. We need to
+- // merge the user agent ourselves.
+- httpChannel.setRequestHeader("User-Agent",
+- userAgent + " " + calUAString,
+- false);
+- }
+- } catch (e) {
+- if (e.result != Components.results.NS_ERROR_NOT_AVAILABLE) {
+- throw e;
++ if (!Preferences.get("general.useragent.compatMode.firefox-exact", false)) {
++ // Unfortunately, the ability to do this with a general pref has
++ // been removed. Calendar servers might still want to know what
++ // client is used for access, so add our UA String to each
++ // request.
++ let httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
++ try {
++ // NOTE: For some reason, this observer call doesn't have
++ // the "cal" namespace defined
++ let userAgent = httpChannel.getRequestHeader("User-Agent");
++ let calUAString = Preferences.get("calendar.useragent.extra", "").trim();
++
++ // Don't add an empty string or an already included token.
++ if (calUAString && !userAgent.includes(calUAString)) {
++ // User-Agent is not a mergeable header. We need to
++ // merge the user agent ourselves.
++ httpChannel.setRequestHeader("User-Agent",
++ userAgent + " " + calUAString,
++ false);
++ }
++ } catch (e) {
++ if (e.result != Components.results.NS_ERROR_NOT_AVAILABLE) {
++ throw e;
++ }
++ // We swallow this error since it means the User Agent
++ // header is not set. We don't want to force it to be set.
+ }
+- // We swallow this error since it means the User Agent
+- // header is not set. We don't want to force it to be set.
+ }
+ break;
+ }
+ }
+ },
+
+ //
+ // DB migration code begins here
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.cpp seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.cpp
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.cpp 2019-12-29 20:38:43.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.cpp 2020-02-19 23:52:08.527194862 +0300
+@@ -202,16 +202,17 @@ nsHttpHandler::nsHttpHandler()
+ , mQoSBits(0x00)
+ , mEnforceAssocReq(false)
+ , mLastUniqueID(NowInSeconds())
+ , mSessionStartTime(0)
+ , mLegacyAppName("Mozilla")
+ , mLegacyAppVersion("5.0")
+ , mProduct("Gecko")
+ , mCompatFirefoxEnabled(false)
++ , mCompatFirefoxExact(false)
+ , mUserAgentIsDirty(true)
+ , mAcceptLanguagesIsDirty(true)
+ , mPromptTempRedirect(true)
+ , mEnablePersistentHttpsCaching(false)
+ , mDoNotTrackEnabled(false)
+ , mSafeHintEnabled(false)
+ , mParentalControlEnabled(false)
+ , mHandlerActive(false)
+@@ -900,17 +901,17 @@ nsHttpHandler::BuildUserAgent()
+ mUserAgent += ')';
+
+ // Product portion
+ mUserAgent += ' ';
+ mUserAgent += mProduct;
+ mUserAgent += '/';
+ mUserAgent += mProductSub;
+
+- bool isFirefox = mAppName.EqualsLiteral("Firefox");
++ bool isFirefox = mAppName.EqualsLiteral("Firefox") || mCompatFirefoxExact;
+ if (isFirefox || mCompatFirefoxEnabled) {
+ // "Firefox/x.y" (compatibility) app token
+ mUserAgent += ' ';
+ mUserAgent += mCompatFirefox;
+ }
+ if (!isFirefox) {
+ // App portion
+ mUserAgent += ' ';
+@@ -1138,16 +1139,22 @@ nsHttpHandler::PrefsChanged(nsIPrefBranc
+ bool cVar = false;
+
+ if (PREF_CHANGED(UA_PREF("compatMode.firefox"))) {
+ rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox"), &cVar);
+ mCompatFirefoxEnabled = (NS_SUCCEEDED(rv) && cVar);
+ mUserAgentIsDirty = true;
+ }
+
++ if (PREF_CHANGED(UA_PREF("compatMode.firefox-exact"))) {
++ rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox-exact"), &cVar);
++ mCompatFirefoxExact = (NS_SUCCEEDED(rv) && cVar);
++ mUserAgentIsDirty = true;
++ }
++
+ // general.useragent.override
+ if (PREF_CHANGED(UA_PREF("override"))) {
+ prefs->GetCharPref(UA_PREF("override"),
+ getter_Copies(mUserAgentOverride));
+ mUserAgentIsDirty = true;
+ }
+
+ #ifdef ANDROID
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.h seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.h
+--- seamonkey-2.53-comm-2_53_beta_01/mozilla/netwerk/protocol/http/nsHttpHandler.h 2020-02-20 03:42:49.910562361 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/mozilla/netwerk/protocol/http/nsHttpHandler.h 2020-02-19 23:52:08.527194862 +0300
+@@ -492,16 +492,17 @@ private:
+ nsCString mOscpu;
+ nsCString mMisc;
+ nsCString mProduct;
+ nsCString mProductSub;
+ nsCString mAppName;
+ nsCString mAppVersion;
+ nsCString mCompatFirefox;
+ bool mCompatFirefoxEnabled;
++ bool mCompatFirefoxExact;
+ nsCString mCompatDevice;
+ nsCString mDeviceModelId;
+
+ nsCString mUserAgent;
+ nsCString mSpoofedUserAgent;
+ nsCString mUserAgentOverride;
+ bool mUserAgentIsDirty; // true if mUserAgent should be rebuilt
+ bool mAcceptLanguagesIsDirty;
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/app/profile/suite-prefs.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/app/profile/suite-prefs.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/app/profile/suite-prefs.js 2020-02-20 03:42:50.063561357 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/app/profile/suite-prefs.js 2020-02-19 23:52:08.532194833 +0300
+@@ -36,16 +36,17 @@ pref("general.startup.addressbook",
+ pref("general.open_location.last_url", "");
+ pref("general.open_location.last_window_choice", 0);
+ pref("browser.urlbar.historyEnabled", true);
+
+ pref("general.smoothScroll", false);
+ pref("general.autoScroll", true);
+
+ pref("general.useragent.compatMode.firefox", true);
++pref("general.useragent.compatMode.firefox-exact", false);
+
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
+ pref("browser.startup.page", 1);
+ pref("browser.startup.homepage", "chrome://navigator-region/locale/region.properties");
+ pref("browser.startup.homepage.count", 1);
+
+ pref("browser.warnOnQuit", true);
+ pref("browser.warnOnRestart", true);
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.js seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.js
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.js 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.js 2020-02-20 03:39:30.000000000 +0300
+@@ -3,16 +3,31 @@
+ * 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/. */
+
+ var gLightningUAold;
+
+ function Startup()
+ {
+ CheckLightningUA();
++
++ var prefFirefoxExact = document.getElementById("general.useragent.compatMode.firefox-exact");
++ SetFirefoxExactEnabled(prefFirefoxExact.value);
++}
++
++function SetFirefoxExactEnabled(aEnable)
++{
++ EnableElementById("uaFirefoxCompat", !aEnable, false);
++
++ var prefLightningUA = document.getElementById("calendar.useragent.extra");
++ if (prefLightningUA.defaultValue)
++ {
++ var boxLightningUA = document.getElementById("uaLightningShow");
++ boxLightningUA.disabled = prefLightningUA.locked || aEnable;
++ }
+ }
+
+ // Lightning adds a UA token if calendar.useragent.extra is not empty.
+ // Checkbox is visible if Lightning is installed and enabled.
+ // Checkbox is checked if the pref contains any non-whitespace character.
+ function CheckLightningUA()
+ {
+ var prefLightningUA = document.getElementById("calendar.useragent.extra");
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.xul seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.xul
+--- seamonkey-2.53-comm-2_53_beta_01/suite/components/pref/content/pref-http.xul 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/components/pref/content/pref-http.xul 2020-02-19 23:52:08.529194850 +0300
+@@ -14,16 +14,20 @@
+ name="network.http.version"
+ type="string"/>
+ <preference id="network.http.proxy.version"
+ name="network.http.proxy.version"
+ type="string"/>
+ <preference id="general.useragent.compatMode.firefox"
+ name="general.useragent.compatMode.firefox"
+ type="bool"/>
++ <preference id="general.useragent.compatMode.firefox-exact"
++ name="general.useragent.compatMode.firefox-exact"
++ type="bool"
++ onchange="SetFirefoxExactEnabled(this.value);"/>
+ <preference id="calendar.useragent.extra"
+ name="calendar.useragent.extra"
+ type="string"/>
+ </preferences>
+
+ <description>&prefPara;</description>
+
+ <hbox align="start">
+@@ -57,21 +61,33 @@
+ </vbox>
+ </groupbox>
+ </hbox>
+
+ <separator class="thin"/>
+
+ <groupbox>
+ <caption label="&prefUseragent.label;"/>
++ <radiogroup id="uaFirefoxExact"
++ preference="general.useragent.compatMode.firefox-exact">
++ <radio value="true"
++ label="&prefFirefoxExact.label;"
++ accesskey="&prefFirefoxExact.accesskey;"/>
++ <radio value="false"
++ flex="1"
++ label="&prefAdvertiseSeaMonkey.label;"
++ accesskey="&prefAdvertiseSeaMonkey.accesskey;"/>
++ </radiogroup>
+ <checkbox id="uaFirefoxCompat"
++ class="indent"
+ label="&prefFirefoxCompat.label;"
+ accesskey="&prefFirefoxCompat.accesskey;"
+ preference="general.useragent.compatMode.firefox"/>
+ <checkbox id="uaLightningShow"
++ class="indent"
+ hidden="true"
+ label="&prefLightningShow.label;"
+ accesskey="&prefLightningShow.accesskey;"
+ oncommand="OnLightningChanged(this.checked);"/>
+ </groupbox>
+
+ <description>&prefCompatWarning;</description>
+ </prefpane>
+diff -Nrup -U 8 seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-http.dtd seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-http.dtd
+--- seamonkey-2.53-comm-2_53_beta_01/suite/locales/en-US/chrome/common/pref/pref-http.dtd 2019-12-31 03:14:14.000000000 +0300
++++ seamonkey-2.53-comm-2_53_beta_01-OK/suite/locales/en-US/chrome/common/pref/pref-http.dtd 2020-02-19 23:52:08.529194850 +0300
+@@ -10,13 +10,17 @@
+ <!ENTITY prefEnableHTTP10.label "Use HTTP 1.0">
+ <!ENTITY prefEnableHTTP10.accesskey "U">
+ <!ENTITY prefEnableHTTP10Proxy.accesskey "S">
+ <!ENTITY prefEnableHTTP11.label "Use HTTP 1.1">
+ <!ENTITY prefEnableHTTP11.accesskey "E">
+ <!ENTITY prefEnableHTTP11Proxy.accesskey "T">
+ <!ENTITY prefPara "HTTP connections may be fine-tuned using these options to enhance either performance or compatibility. Some proxy servers, for example, are known to require HTTP/1.0 (see the release notes for details).">
+ <!ENTITY prefUseragent.label "User Agent String">
++<!ENTITY prefFirefoxExact.label "Look exactly as Firefox">
++<!ENTITY prefFirefoxExact.accesskey "A">
++<!ENTITY prefAdvertiseSeaMonkey.label "Advertise SeaMonkey">
++<!ENTITY prefAdvertiseSeaMonkey.accesskey "M">
+ <!ENTITY prefFirefoxCompat.label "Advertise Firefox compatibility">
+ <!ENTITY prefFirefoxCompat.accesskey "F">
+ <!ENTITY prefLightningShow.label "Advertise Lightning installation">
+ <!ENTITY prefLightningShow.accesskey "L">
+ <!ENTITY prefCompatWarning "WARNING: disabling these settings may result in websites or services not working properly.">
diff --git a/seamonkey.spec b/seamonkey.spec
index 860bfa3..cbf73ff 100644
--- a/seamonkey.spec
+++ b/seamonkey.spec
@@ -4,19 +4,26 @@
%bcond_without system_icu
%bcond_without system_sqlite
%bcond_without system_ffi
+%bcond_with system_hunspell
%bcond_with system_cairo
%bcond_without langpacks
-%bcond_with calendar
-%bcond_with inspector
-%bcond_with irc
+%bcond_without clang
+%bcond_with lto
+%bcond_with stylo
-%global nspr_version 4.13.1
-%global nss_version 3.30.0
+%bcond_without calendar
+%bcond_without dominspector
+%bcond_without irc
+%bcond_with debugqa
+
+%global nspr_version 4.21.0
+%global nss_version 3.44.0
%global libvpx_version 1.5.0
-%global icu_version 58.1
-%global sqlite_version 3.17.0
+%global icu_version 59.1
+%global sqlite_version 3.19.3
%global ffi_version 3.0.9
+%global hunspell_version 1.6.1
%global cairo_version 1.10
%define homepage http://start.fedoraproject.org/
@@ -28,14 +35,15 @@
Name: seamonkey
Summary: Web browser, e-mail, news, IRC client, HTML editor
-Version: 2.49.5
-Release: 2%{?dist}
+Version: 2.53.1
+Release: 1%{?dist}
URL: http://www.seamonkey-project.org
License: MPLv2.0
-Source0: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
+
+Source0: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
%if %{with langpacks}
-Source1: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
+Source1: http://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamo...
%endif
Source3: seamonkey.sh.in
@@ -44,25 +52,24 @@ Source12: seamonkey-mail.desktop
Source13: seamonkey-mail.svg
Source100: seamonkey-find-requires.sh
-Patch2: firefox-48-jemalloc-ppc.patch
-Patch3: xulrunner-27.0-build-arm.patch
-Patch4: firefox-33-rhbz-966424.patch
+Patch3: firefox-60-mozilla-1516803.patch
Patch5: firefox-35-rhbz-1173156.patch
-Patch6: firefox-52-build-prbool.patch
+Patch6: firefox-56-build-prbool.patch
Patch7: firefox-51-mozilla-1005640.patch
Patch8: firefox-48-mozilla-256180.patch
-Patch10: firefox-50-mozilla-440908.patch
-Patch13: firefox-52-mozilla-revert-1148544.patch
-Patch14: firefox-51-mozilla-1324096.patch
+Patch10: firefox-56-mozilla-440908.patch
+Patch11: firefox-60-mozilla-1436242.patch
+Patch12: seamonkey-2.53.1-mozilla-1533969.patch
Patch16: firefox-52-rhbz-1451055.patch
+Patch17: seamonkey-2.53.1-rust140-nsstring.patch
+Patch18: seamonkey-2.53.1-rust140-url_1_7_2.patch
+Patch19: seamonkey-2.53.1-rust141-encoding_rs.patch
+Patch20: seamonkey-2.53.1-system_nss_nspr.patch
Patch22: seamonkey-2.46-installdir.patch
-Patch27: seamonkey-2.46-exthandler.patch
-Patch28: seamonkey-2.49.5-crmf.patch
-Patch29: seamonkey-2.49.5-mozilla-1559419
-Patch30: nss-3.28-mozilla-1334976-1336487.patch
-Patch40: seamonkey-2.49.2-revert-gtk3-mozilla-1269145.patch
-Patch41: seamonkey-2.49.2-revert-gtk3-mozilla-1398973.patch
-Patch42: seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
+Patch30: seamonkey-2.53.1-rhbz-1503632.patch
+Patch31: seamonkey-2.53.1-mozilla-526293.patch
+Patch32: seamonkey-2.53.1-useragent.patch
+Patch34: seamonkey-2.53.1-startupcache.patch
%{?with_system_nspr:BuildRequires: nspr-devel >= %{nspr_version}}
%{?with_system_nss:BuildRequires: nss-devel >= %{nss_version}}
@@ -71,6 +78,7 @@ Patch42: seamonkey-2.49.5-revert-gtk3-mozilla-1461307.patch
%{?with_system_icu:BuildRequires: libicu-devel >= %{icu_version}}
%{?with_system_sqlite:BuildRequires: sqlite-devel >= %{sqlite_version}}
%{?with_system_ffi:BuildRequires: libffi-devel >= %{ffi_version}}
+%{?with_system_hunspell:BuildRequires: hunspell-devel >= %{hunspell_version}}
%{?with_system_cairo:BuildRequires: cairo-devel >= %{cairo_version}}
BuildRequires: libpng-devel
@@ -79,7 +87,7 @@ BuildRequires: zlib-devel
BuildRequires: zip
BuildRequires: libIDL-devel
BuildRequires: desktop-file-utils
-BuildRequires: gtk2-devel
+BuildRequires: gtk3-devel
BuildRequires: dbus-glib-devel
BuildRequires: gnome-vfs2-devel
BuildRequires: libgnome-devel
@@ -92,19 +100,29 @@ BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: coreutils
BuildRequires: alsa-lib-devel
-BuildRequires: hunspell-devel
BuildRequires: libnotify-devel
BuildRequires: yasm >= 1.1
BuildRequires: mesa-libGL-devel
BuildRequires: pulseaudio-libs-devel
+BuildRequires: startup-notification-devel
BuildRequires: autoconf213
BuildRequires: python >= 2.7
-BuildRequires: gcc-c++ >= 4.8
+
+%if %{with clang} || %{with stylo}
+BuildRequires: clang, llvm-devel
+%endif
+%if %{without clang}
+BuildRequires: gcc-c++ >= 6.1
+%endif
+
+BuildRequires: rust >= 1.35
+BuildRequires: cargo
Requires: system-bookmarks
Requires: mozilla-filesystem
Requires: hicolor-icon-theme
+Requires: p11-kit-trust
%if %{with system_nspr}
Requires: nspr >= %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo %{nspr_version})
%endif
@@ -117,7 +135,8 @@ Requires: sqlite >= %(pkg-config --silence-errors --modversion sqlite 2>/d
# ppc64: http://bugzilla.redhat.com/bugzilla/866589
# armv7hl: http://bugzilla.redhat.com/bugzilla/1035485
-ExclusiveArch: %{ix86} x86_64
+# %{ix86}: no more supported upstream
+ExclusiveArch: x86_64
%define _use_internal_dependency_generator 0
%define __find_requires %{SOURCE100}
@@ -147,33 +166,26 @@ application formerly known as Mozilla Application Suite.
cd %{sources_subdir}
pushd mozilla
-%patch2 -p1 -b .jemalloc-ppc
-%patch3 -p2 -b .build-arm
-%patch4 -p2 -b .966424
+%patch3 -p1 -b .1516803
%patch5 -p2 -b .1173156
%patch6 -p1 -b .prbool
%patch7 -p1 -b .1005640
%patch8 -p1 -b .256180
%patch10 -p1 -b .440908
-%patch13 -p1 -b .1148544
-%patch14 -p1 -b .1324096
+%patch11 -p1 -b .1436242
+%patch12 -p1 -b .1533969
%patch16 -p1 -b .1451055
+%patch17 -p1 -b .nsstring
+%patch18 -p1 -b .rust-url
+%patch19 -p1 -b .encoding_rs
popd
+%patch20 -p2 -b .system_nss_nspr
%patch22 -p2 -b .installdir
-%patch27 -p2 -b .exthandler
-%patch28 -p2 -b .crmf
-%patch29 -p2 -b .1559419
-
-%if %{without system_nss}
-pushd mozilla/security/nss
-%patch30 -p1 -b .1334976
-popd
-%endif
-
-%patch40 -p2 -b .1269145
-%patch41 -p2 -b .1398973
-%patch42 -p2 -b .1461307
+%patch30 -p2 -b .1503632
+%patch31 -p2 -b .526293
+%patch32 -p1 -b .useragent
+%patch34 -p1 -b .startupcache
sed -e 's/-MOZILLA_VERSION//g' \
-e 's,LIBDIR,%{_libdir},g' %{SOURCE3} >seamonkey.sh
@@ -181,12 +193,7 @@ sed -e 's/-MOZILLA_VERSION//g' \
%if %{without calendar}
sed -i 's/MOZ_CALENDAR/UNDEF_MOZ_CALENDAR/' suite/installer/package-manifest.in
%endif
-%if %{without inspector}
-sed -i '/^\[inspector\]/,/^$/ d' suite/installer/package-manifest.in
-%endif
-%if %{without irc}
-sed -i '/^\[chatzilla\]/,/^$/ d' suite/installer/package-manifest.in
-%endif
+
#
# generate .mozconfig
@@ -213,36 +220,41 @@ ac_add_options --with-system-bz2
ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-install-strip
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-extensions=default%{!?with_inspector:,-inspector}%{!?with_irc:,-irc}
+ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --disable-crashreporter
-ac_add_options --enable-safe-browsing
-ac_add_options --enable-system-hunspell
ac_add_options --disable-updater
ac_add_options --enable-chrome-format=omni
ac_add_options --disable-necko-wifi
+ac_add_options --enable-startup-notification
ac_add_options --enable-optimize=-O2
-ac_add_options --with%{!?with_system_nspr:out}-system-nspr
-ac_add_options --with%{!?with_system_nss:out}-system-nss
-ac_add_options --with%{!?with_system_libvpx:out}-system-libvpx
-ac_add_options --with%{!?with_system_icu:out}-system-icu
+ac_add_options --enable-startupcache
+
+%define with_sys() ac_add_options --with%%{!?with_system_%1:out}-system-%1
+%define endis_sys() ac_add_options --%%{?with_system_%1:enable}%%{!?with_system_%1:disable}-system-%1
+%define endis() ac_add_options --%%{?with_%1:enable}%%{!?with_%1:disable}-%1
-ac_add_options --%{?with_system_sqlite:en}%{!?with_system_sqlite:dis}able-system-sqlite
-ac_add_options --%{?with_system_ffi:en}%{!?with_system_ffi:dis}able-system-ffi
-ac_add_options --%{?with_system_cairo:en}%{!?with_system_cairo:dis}able-system-cairo
+%{expand:%with_sys nspr}
+%{expand:%with_sys nss}
+%{expand:%with_sys libvpx}
+%{expand:%with_sys icu}
+
+%{expand:%endis_sys sqlite}
+%{expand:%endis_sys ffi}
+%{expand:%endis_sys hunspell}
+%{expand:%endis_sys cairo}
# always enable calendar to build needed internal components required for both bundled and external addons
ac_add_options --enable-calendar
+%{expand:%endis dominspector}
+%{expand:%endis irc}
+%{expand:%endis debugqa}
-%ifarch %{arm}
-ac_add_options --disable-elf-hack
-%endif
-%ifnarch %{ix86} x86_64
-ac_add_options --disable-webrtc
-%endif
+ac_add_options --disable-webrender
+ac_add_options %{?with_stylo:--enable-stylo=build}%{!?with_stylo:--disable-stylo}
+
%if %{with langpacks}
ac_add_options --with-l10n-base=../l10n
@@ -267,18 +279,20 @@ pref("intl.locale.matchOS", true);
pref("extensions.shownSelectionUI", true);
pref("extensions.autoDisableScopes", 0);
pref("shell.checkDefaultApps", 0);
-pref("media.gmp-gmpopenh264.provider.enabled",false);
-pref("media.gmp-gmpopenh264.autoupdate",false);
-pref("media.gmp-gmpopenh264.enabled",false);
-pref("gfx.xrender.enabled",true);
-pref("devtools.webide.enabled",false);
+pref("media.gmp-gmpopenh264.provider.enabled", false);
+pref("media.gmp-gmpopenh264.autoupdate", false);
+pref("media.gmp-gmpopenh264.enabled", false);
+pref("gfx.xrender.enabled", true);
+pref("devtools.webide.enabled", false);
/* use system dictionaries (hunspell) */
-pref("spellchecker.dictionary_path","%{_datadir}/myspell");
+pref("spellchecker.dictionary_path", "%{_datadir}/myspell");
/* Allow sending credetials to all https:// sites */
pref("network.negotiate-auth.trusted-uris", "https://");
+pref("general.useragent.compatMode.firefox-exact", true);
+
EOF
# all-fedora.js
@@ -291,32 +305,53 @@ sed -i -e "s|browser.startup.homepage.*$|browser.startup.homepage = %{homepage}|
cd %{sources_subdir}
+%if %{with clang}
+export CC=clang
+export CXX=clang++
+%endif
+
# Mozilla builds with -Wall with exception of a few warnings which show up
# everywhere in the code; so, don't override that.
MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wall//')
+MOZ_LINK_FLAGS=
# needed for -Werror=format-security
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat"
-
# just temporary for gcc9 ...
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wno-format-overflow"
-# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
+%if %{with lto}
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flto"
+%if %{with clang}
+export AS=llvm-as
+export AR=llvm-ar
+export RANLIB=llvm-ranlib
+export STRIP=llvm-strip
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fuse-ld=gold"
+%else
+export AR=gcc-ar
+export RANLIB=gcc-ranlib
+%endif
+%endif
+%if %(awk '/^MemTotal:/ { print $2 }' /proc/meminfo) <= 4200000
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--no-keep-memory"
+%if %{without clang} || %{without lto}
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--reduce-memory-overheads"
+%endif
+%endif
+
export CFLAGS=$MOZ_OPT_FLAGS
export CXXFLAGS=$MOZ_OPT_FLAGS
+export LDFLAGS=$MOZ_LINK_FLAGS
-[ "%{?__isa_bits}" == 32 -o $(awk '/^MemTotal:/ { print $2 }' /proc/meminfo) -le 4200000 ] && {
- MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
- export LDFLAGS=$MOZ_LINK_FLAGS
-}
MOZ_SMP_FLAGS=%{?_smp_mflags}
[ ${MOZ_SMP_FLAGS#-j} -gt 8 ] && MOZ_SMP_FLAGS=-j8
make -f client.mk build MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
+
%if %{with langpacks}
languages=`ls l10n | while read lang
@@ -356,6 +391,11 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/idl/seamonkey
rm -f $RPM_BUILD_ROOT%{_bindir}/seamonkey
install -p -m 755 seamonkey.sh $RPM_BUILD_ROOT%{_bindir}/seamonkey
+install -p -m 644 -D obj-*/dist/man/man1/seamonkey.1 $RPM_BUILD_ROOT/%{_mandir}/man1/seamonkey.1
+
+rm -f $RPM_BUILD_ROOT/%{_libdir}/seamonkey/removed-files
+rm -f $RPM_BUILD_ROOT/%{_libdir}/seamonkey/libnssckbi.so
+
# default prefs
install -p -m 644 all-fedora.js \
$RPM_BUILD_ROOT/%{_libdir}/seamonkey/defaults/pref/all-fedora.js
@@ -421,10 +461,11 @@ desktop-file-install --vendor mozilla \
pushd $RPM_BUILD_ROOT%{_libdir}/seamonkey/chrome/icons/default
icons=$RPM_BUILD_ROOT%{_datadir}/icons/hicolor
# seamonkey icons
-install -p -m 644 -D main-window16.png $icons/16x16/apps/seamonkey.png
-install -p -m 644 -D main-window.png $icons/32x32/apps/seamonkey.png
-install -p -m 644 -D main-window48.png $icons/48x48/apps/seamonkey.png
-install -p -m 644 -D seamonkey.png $icons/128x128/apps/seamonkey.png
+install -p -m 644 -D default16.png $icons/16x16/apps/seamonkey.png
+install -p -m 644 -D default.png $icons/32x32/apps/seamonkey.png
+install -p -m 644 -D default48.png $icons/48x48/apps/seamonkey.png
+install -p -m 644 -D default64.png $icons/64x64/apps/seamonkey.png
+install -p -m 644 -D default128.png $icons/128x128/apps/seamonkey.png
# seamonkey mail icons
install -p -m 644 -D messengerWindow16.png $icons/16x16/apps/seamonkey-mail.png
install -p -m 644 -D messengerWindow.png $icons/32x32/apps/seamonkey-mail.png
@@ -437,13 +478,15 @@ popd
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/extensions/%{seamonkey_app_id}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
+
%files -f seamonkey.lang
-%{_libdir}/seamonkey
+%license %{_libdir}/seamonkey/license.txt
-%ghost %{_libdir}/seamonkey/removed-files
+%{_libdir}/seamonkey
%{_bindir}/seamonkey
+%{_mandir}/*/*
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/applications/*.desktop
@@ -452,6 +495,10 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
%changelog
+* Fri Feb 28 2020 Dmitry Butskoy <Dmitry(a)Butskoy.name> - 2.53.1-1
+- Upgrade to 2.53.1
+- use clang to build
+
* Mon Sep 9 2019 Dmitry Butskoy <Dmitry(a)Butskoy.name> - 2.49.5-2
- rebuid to properly handle external lightning extension (#1750450)
@@ -459,6 +506,10 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
- update to 2.49.5
- add support for conditional build of inspector and irc
+* Fri Jul 26 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.49.4-5
+- add patch for new gettid() in glibc >= 2.30
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
* Tue Feb 05 2019 Bjrn Esser <besser82(a)fedoraproject.org> - 2.49.4-4
- rebuilt (libvpx)
@@ -537,321 +588,3 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{seamonkey_app_id}
- avoid runtime linking with too old ffmpeg libraries (#1330898)
- still enable XRender extension by default
-* Thu Aug 4 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-9
-- Revert changes introduced by 2.40-7. The system-bookmarks is
- required for new profiles
-
-* Tue Aug 2 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-8
-- Bump release due to rebuild
-
-* Mon Aug 1 2016 Jan Horak <jhorak(a)redhat.com> - 2.40-7
-- Seamonkey no longer require system-bookmarks during installation
- (rhbz#1361851)
-
-* Tue Jul 22 2016 Tom Callaway <spot(a)fedoraproject.org> - 2.40-6
-- rebuild for libvpx 1.6.0
-
-* Tue Jul 5 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-5
-- Disable null pointer gcc6 optimization in gcc-6.x (#1328045)
-
-* Sun Jul 3 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-4
-- add fix for gcc-6.x (mozilla bug #1245783)
-
-* Tue Jun 14 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-3
-- disable extra updatecheck (#1346171)
-- enable full-screen-api by default for media support
-
-* Mon Apr 18 2016 Caoln McNamara <caolanm(a)redhat.com> 2.40-2
-- rebuild for hunspell 1.4.0
-
-* Tue Mar 15 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.40-1
-- update to 2.40
-
-* Tue Feb 16 2016 Martin Stransky <stransky(a)redhat.com> 2.39-5
-- Added gcc6 build fix
-
-* Thu Feb 04 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.39-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Sat Jan 23 2016 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.39-3
-- use system dictionaries for spell checking
-- specify default homepage for builtin default locale (en_US) as well
-- drop tons of garbage from libsuite.so component
-- massive spec and config files cleanup, including:
- - simplifying of install process and filelist generation
- - drop unneeded sources
- - generate mozconfig and prefs files inside spec file
- (better atomic support for changes and different releases)
- - actually provide information of files' locales for rpm package
- - conditionally build with system cairo, sqlite, libffi
-- more robast helper detection when content type reported wrongly
-- change some defaults to be the same as in Firefox:
- - delete temporary helpers files on exit
- - disable autoupdates by default
- - match OS locale by default
-- avoid ppc64le builds as well (#866589)
-- build with system sqlite and libffi
-
-* Tue Dec 1 2015 Tom Callaway <spot(a)fedoraproject.org> 2.39-2
-- rebuild for libvpx 1.5.0
-
-* Mon Nov 16 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.39-1
-- update to 2.39
-
-* Sun Oct 11 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.38-1
-- update to 2.38
-
-* Sun Sep 13 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.35-1
-- update to 2.35
-
-* Fri Jun 19 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.33.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sat May 02 2015 Kalev Lember <kalevlember(a)gmail.com> - 2.33.1-3
-- Rebuilt for GCC 5 C++11 ABI change
-
-* Mon Apr 13 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name>
-- cleanup of the startup script (#1210035)
-
-* Mon Apr 6 2015 Tom Callaway <spot(a)fedoraproject.org> - 2.33.1-2
-- rebuild against libvpx 1.4.0
-
-* Thu Mar 26 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.33.1-1
-- update to 2.33.1
-
-* Mon Mar 16 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.33-1
-- update to 2.33
-- apply some patches from firefox-36 package
-
-* Sun Feb 8 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.32.1-1
-- update to 2.32.1
-
-* Tue Jan 20 2015 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.32-1
-- update to 2.32
-- apply some patches from firefox-35 package
-- enable gstreamer-1.0 support
-
-* Mon Dec 15 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.31-1
-- update to 2.31
-- apply some patches from firefox-34 package
-
-* Sat Oct 25 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.30-1
-- update to 2.30
-- apply some patches from firefox-33 package
-
-* Fri Sep 26 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.29.1-1
-- update to 2.29.1
-
-* Sat Sep 20 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.29-1
-- update to 2.29
-- apply some patches from firefox-32 package
-
-* Wed Aug 20 2014 Kevin Fenzi <kevin(a)scrye.com> - 2.26.1-3
-- Rebuild for rpm bug 1131892
-
-* Mon Aug 18 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.26.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-
-* Tue Jun 24 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26.1-1
-- update to 2.26.1
-
-* Sun Jun 08 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.26-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Fri May 9 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26-2
-- rebuild with new find-requires script
-
-* Fri May 9 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.26-1
-- update to 2.26
-
-* Mon Mar 24 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.25-1
-- update to 2.25
-
-* Mon Feb 10 2014 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.24-1
-- update to 2.24
-
-* Wed Dec 18 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.23-1
-- update to 2.23
-
-* Wed Nov 27 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.22.1-1
-- update to 2.22.1
-- don't build for armv7hl (seems not enough memory on the build system, #1035485)
-
-* Sat Nov 2 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.22-1
-- update to 2.22
-
-* Thu Sep 19 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.21-1
-- update to 2.21
-
-* Thu Aug 8 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.20-1
-- update to 2.20
-
-* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.19-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Mon Jul 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.19-2
-- implement separate switches for system/native nspr, nss and libvpx
-
-* Mon Jul 8 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.19-1
-- update to 2.19
-
-* Mon Apr 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.17.1-1
-- update to 2.17.1
-
-* Wed Apr 3 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.17-1
-- update to 2.17
-- explicitly require libjpeg-turbo (for JCS_EXTENSIONS)
-
-* Tue Mar 26 2013 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.16.2-2
-- Only build WebRTC on x86 to fix FTBFS on other arches
-
-* Fri Mar 15 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16.2-1
-- update to 2.16.2
-- fix desktop files (#887297)
-
-* Tue Mar 12 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16.1-1
-- update to 2.16.1
-
-* Fri Feb 22 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.16-1
-- update to 2.16
-- fix build langpacks
-
-* Tue Feb 5 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15.2-1
-- update to 2.15.2
-
-* Sun Jan 27 2013 Rex Dieter <rdieter(a)fedoraproject.org> 2.15.1-2
-- silence scriptlet output
-
-* Tue Jan 22 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15.1-1
-- update to 2.15.1
-
-* Fri Jan 11 2013 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.15-1
-- update to 2.15
-- don't try to change global user settings for default browser/mail etc.
-- add fix for #304121 (derived from Xulrunner)
-
-* Mon Dec 3 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.14.1-1
-- update to 2.14.1
-
-* Thu Nov 22 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.14-1
-- update to 2.14
-- fix elfhack compile
-
-* Wed Oct 31 2012 Dmitry Butskoy <Dmitry(a)Butskoy.name> 2.13.2-2
-- exclude ppc64 arch (hoping it is temporary, #866589)
-- fix startup warnings (error console) for omni and inspector
-- fix build langpacks
-- change License to MPLv2.0
-- add seamonkey-related directories in mozilla-filesystem (#865054)
-- use proper MOZ_SMP_FLAGS
-- add patch for jemalloc for powerpc arches (#852698)
-- add patch to avoid decommit memory on powerpc arches (#852698)
-- some cleanups in spec file
-- drop version from install directories (follow the current firefox
- and thunderbird way)
-
-* Fri Oct 26 2012 Martin Stransky <stransky(a)redhat.com> 2.13.2-1
-- Update to 2.13.2
-
-* Tue Oct 16 2012 Martin Stransky <stransky(a)redhat.com> 2.13.1-1
-- Update to 2.13.1
-
-* Tue Oct 9 2012 Martin Stransky <stransky(a)redhat.com> 2.13-1
-- Update to 2.13
-
-* Tue Aug 28 2012 Martin Stransky <stransky(a)redhat.com> 2.12.1-1
-- Update to 2.12.1
-
-* Tue Aug 28 2012 Martin Stransky <stransky(a)redhat.com> 2.12-1
-- Update to 2.12
-
-* Fri Jul 27 2012 Martin Stransky <stransky(a)redhat.com> 2.11-1
-- Update to 2.11
-
-* Thu Jun 21 2012 Martin Stransky <stransky(a)redhat.com> 2.10.1-1
-- Update to 2.10.1
-
-* Thu Jun 7 2012 Allen Hewes <allen(a)decisiv.net> 2.10-1
-- Update to 2.10
-- change sed string for version number to support 2 digits
-- remove specific .so's from installer manifest
-- fix the cache path for header.py and associated files when building
- in srcdir (vs using seperate objdir)
-
-* Mon May 7 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-4
-- Fixed #717242 - does not adhere to Static Library Packaging Guidelines
-
-* Thu May 3 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-3
-- Fixed #747411 - seamonkey needs better icons (by Edward Sheldrake)
-
-* Thu May 3 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-2
-- Fixed directories (#566901)
-
-* Wed May 2 2012 Martin Stransky <stransky(a)redhat.com> 2.9.1-1
-- Update to 2.9.1
-
-* Fri Apr 27 2012 Martin Stransky <stransky(a)redhat.com> 2.9-1
-- Update to 2.9
-
-* Wed Apr 4 2012 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.8-3
-- Add ARM configuration options
-
-* Fri Mar 16 2012 Martin Stransky <stransky(a)redhat.com> 2.8-2
-- gcc 4.7 build fixes
-
-* Thu Mar 15 2012 Martin Stransky <stransky(a)redhat.com> 2.8-1
-- Update to 2.8
-
-* Fri Feb 24 2012 Martin Stransky <stransky(a)redhat.com> 2.7.1-2
-- Added fix for mozbz#727401 - libpng crash
-
-* Tue Feb 14 2012 Martin Stransky <stransky(a)redhat.com> 2.7.1-1
-- Update to 2.7.1
-
-* Mon Feb 6 2012 Martin Stransky <stransky(a)redhat.com> 2.7-2
-- gcc 4.7 build fixes
-
-* Fri Feb 3 2012 Martin Stransky <stransky(a)redhat.com> 2.7-1
-- Update to 2.7
-
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.5-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Wed Dec 14 2011 Martin Stransky <stransky(a)redhat.com> 2.5-2
-- Fixed langpacks
-
-* Thu Dec 8 2011 Martin Stransky <stransky(a)redhat.com> 2.5-1
-- Update to 2.5
-
-* Fri Oct 14 2011 Dan Hork <dan[at]danny.cz> - 2.4.1-3
-- fix build on secondary arches
-
-* Tue Oct 11 2011 Kai Engert <kaie(a)redhat.com> - 2.4.1-2
-- Update to 2.4.1
-
-* Tue Sep 06 2011 Kai Engert <kaie(a)redhat.com> - 2.3.3-2
-- Update to 2.3.3
-
-* Sun Aug 21 2011 Kai Engert <kaie(a)redhat.com> - 2.3-2
-- Update to 2.3
-
-* Wed May 25 2011 Caoln McNamara <caolanm(a)redhat.com> - 2.0.14-2
-- rebuild for new hunspell
-
-* Fri Apr 29 2011 Jan Horak <jhorak(a)redhat.com> - 2.0.14-1
-- Update to 2.0.14
-
-* Sat Apr 9 2011 Christopher Aillon <caillon(a)redhat.com> 2.0.13-1
-- Update to 2.0.13
-
-* Mon Mar 7 2011 Martin Stransky <stransky(a)redhat.com> 2.0.12-1
-- Update to 2.0.12
-
-* Wed Feb 09 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.0.11-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Tue Jan 04 2011 Adel Gadllah <adel.gadllah(a)gmail.com> 2.0.11-3
-- BR dbus-glib-devel
-
-* Tue Jan 04 2011 Adel Gadllah <adel.gadllah(a)gmail.com> 2.0.11-2
-- disabled system cairo, breaks animated gifs (rhbz#628331)
diff --git a/sources b/sources
index 53800fa..94bb6fb 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (seamonkey-2.49.5.source.tar.xz) = 31309def1ad4276f13ecb343e936c7cade4b6850db88d9d84700f86bff7024b2b217b9e50fc3756b1d1beea483ceaa2a5a3afd053da00f6ac06e3795e9116789
-SHA512 (seamonkey-2.49.5.source-l10n.tar.xz) = eda23c334123e7fb060e93a5495b061e96a71944ce4216eee1dbf017d4803310da0882ff9fcf2c986e016ac8bbcca1fe7c2837dd04ea8208fe7127bf6e92afc5
+SHA512 (seamonkey-2.53.1.source.tar.xz) = 67c8a5343070948a88f1184a4f0c6ec720f9d43910165812b05a2a1bed8b698de2860d75b4bbf831f23c750fb521f50afa44ddc13835047f517a1407892ede3f
+SHA512 (seamonkey-2.53.1.source-l10n.tar.xz) = 52bc7d82e935abb67778a6fcdab6a9e6d66a196d0962c59ddddae4ae854e1cd0e923016b13afa55df7a3f3997014fc38e729605d449a170a7ff96b905c7ea084
diff --git a/xulrunner-27.0-build-arm.patch b/xulrunner-27.0-build-arm.patch
deleted file mode 100644
index f82dc4f..0000000
--- a/xulrunner-27.0-build-arm.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xulrunner-27.0/mozilla-release/gfx/ycbcr/moz.build.arm xulrunner-27.0/mozilla-release/gfx/ycbcr/moz.build
---- firefox-27.0/mozilla-release/gfx/ycbcr/moz.build.arm 2014-01-28 05:03:42.000000000 +0100
-+++ firefox-27.0/mozilla-release/gfx/ycbcr/moz.build 2014-02-03 11:14:34.062219509 +0100
-@@ -61,7 +61,7 @@ else:
- 'yuv_row_other.cpp',
- ]
-
--if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
-+if CONFIG['HAVE_ARM_NEON']:
- SOURCES += [
- 'yuv_row_arm.s',
- ]
4 years